arquitectura del sistema MySQL

arquitectura del sistema MySQL

imagen

  • La primera capa está conectado al cliente de autenticación, C / S arquitectura tiene este
  • La segunda capa es la capa de servidor, contiene la mayor parte de los servicios básicos de MySQL
  • La tercera capa incluye el motor de almacenamiento, en comunicación con el servidor a través de la API, el motor de almacenamiento diferencias Evita API, diferentes motores de almacenamiento no comunicarse entre sí sin motor de almacenamiento adicional para SQL de análisis sintáctico (InnoDB excepción, analiza la clave externa definición, ya que el servidor en sí no implementa esta función)

1.1 gestión de conexión y seguridad

  • Cada cliente tiene un hilo en el proceso del servidor
  • El servidor es responsable de almacenamiento en caché de hilo, que no es necesario para crear o destruir las discusiones cada nueva conexión (5.5 o posterior proporciona un grupo de subprocesos, puede utilizar una pequeña cantidad de hilos para dar servicio a un gran número de conexiones)

  • permisos del servidor basándose en el nombre de usuario y la contraseña para el host original autentica al cliente, la conexión es exitosa verificará una operación en particular.

1.2 optimización y ejecución

  • MySQL resolver la consulta, crear una estructura de datos interna (árbol de análisis sintáctico), y sus diversas optimizaciones (reescribir la consulta para determinar el orden de lectura de la tabla, seleccione el índice apropiado)
  • Los usuarios pueden optimizar a través de un sugerencias de palabras clave especiales (pista), MySQL influir en el proceso de toma de decisiones. El optimizador puede también solicitar interpretación (explique) los factores del proceso de optimización, consulta del usuario y la reconstrucción de esquema, modificar la configuración
  • Optimizador no se preocupa por el motor de almacenamiento utilizado por la mesa, pero el motor de almacenamiento para optimizar la consulta afectada. motor Optimizer solicitará capacidad de almacenamiento de información de sobrecarga o para proporcionar una operación específica ha sido tabla de datos estadística y similares.
  • Para las instrucciones SELECT, antes de resolver la consulta, el servidor se compruebe la caché de consultas (caché de consultas).

2. Control de concurrencia

Dos niveles de control de concurrencia: la capa de servidor y el motor capa de almacenamiento

2.1 Bloqueo de lectura y escritura

  • bloqueo compartido (bloqueo compartido), un bloqueo de lectura (bloqueo de lectura): compartida, no bloquean entre sí
  • bloqueo exclusivo (bloqueo exclusivo), bloqueo de escritura (bloqueo de escritura): exclusivo (bloque y otros de bloqueo de lectura y escritura)

granularidad 2,2 cerradura

  • Un método para proporcionar recursos compartidos de concurrencia: Vamos objeto de bloqueo más selectivo. Trate partes sólo tienen que modificar parte de los datos de los datos \ bloqueo, menos cantidad de datos de bloqueo, cuanto mayor sea el grado de concurrencia.
  • Varios de bloqueo operativo (cerradura estaba comprobando si el bloqueo se libera, el bloqueo se libera) necesidad de consumir recursos.
  • estrategia de bloqueo:
    • tabla de bloqueo (bloqueo de tabla):
      • La estrategia de sobrecarga mínima más básica. implementación de la capa de servidor
      • Bloquear toda la tabla. bloqueos de escritura de bloqueo y otros de bloqueo, bloqueos de lectura y no obstruyen.
      • En determinadas situaciones, el bloqueo de tabla también puede tener un buen rendimiento. Como soporte de la cerradura Tabla READ LOCAL ciertos tipos de operaciones de escritura concurrentes. bloqueo de escritura tiene una prioridad más alta que un bloqueo de lectura se puede insertar en frente de una cola de bloqueo de lectura.
      • motor de almacenamiento puede gestionar su propio candado, capa de servidor seguirá usando una variedad de tabla de bloqueo eficaz para lograr diferentes propósitos. Por ejemplo, el servidor utiliza un bloqueo de tabla para la sentencia ALTER TABLE, etc., sin tener en cuenta el mecanismo de bloqueo del motor de almacenamiento.
    • el bloqueo de filas (bloqueo de registro):
      • Para maximizar la compatibilidad con el procesamiento concurrente, sino que también aporta la mayor sobrecarga de bloqueo.
      • Sólo para darse cuenta (InnnoDB y XtraDB, etc.) en el motor de almacenamiento

3. Transacción

  • Una transacción es un conjunto de consulta SQL atómica, o una unidad independiente del trabajo.
  • Transacciones ACID:
    • La atomicidad (atomicty): una unidad indivisible más pequeña de trabajo.
    • La consistencia (consistencia): transición de una base de datos es siempre estado coherente a otro estado coherente.
    • Aislamiento (aislamiento): una firma a los cambios hacer antes de la presentación final, otras transacciones no son visibles.
    • Persistencia (durabilidad): Tras las confirmaciones de transacción, modificarlo realizado se guarda en la base de datos permanente. (No de aseguramiento de la continuidad Continuidad de la estrategia de 100 por ciento) 

Supongo que te gusta

Origin www.cnblogs.com/huxuanjing/p/12596055.html
Recomendado
Clasificación