MySQL Directrices (IX): Ordenar la lógica del espacio de tablas InnoDB

Por encima de la última arquitectura innodb nos centramos indica que el espacio de tabla en este documento, este toma un espacio de tablas nombre mirada.

espacio de tabla es único concepto lógico, se centra en el aprendizaje de la razón lógica clara.


Artículo anterior se menciona en 文件este concepto virtual, programar el funcionamiento y desarrollo de archivos, sino que simplemente no se preocupan por cómo el archivo de almacenamiento en disco. Es decir, los detalles de la pantalla de archivo de almacenamiento subyacente, que por supuesto es el sistema operativo del crédito.

El artículo también menciona antes, cada tabla y de índice de datos se almacenan en el .ibdarchivo, ya que es un archivo, también se gestionará el sistema operativo. Y este ibdpunto de vista innodb documento, se le puede llamar un espacio de tabla, debido a que el punto de aplicación innodb de vista interno, no hay 文件concepto de mi sitio que llaman la cosa disparos, por lo que cuando el 文件tiempo innodb carga en el proceso, que era visto como (introducir) una abierta 表空间.

Así, InnoDB es cómo encontrar la entrada a este espacio de tabla por luchar contra ella? Por supuesto, por mysql.cnfla configuración del archivo de configuración de las direcciones de datos de directorio de base de datos se encuentran. Independientemente del momento de lo que está abierto u otro xxx, de todos modos, ahora ver este espacio caja de Pandora se ha abierto, a continuación, vamos más allá de exploración.


Debido a razones bien conocidas, el archivo de paginación del sistema operativo en el disco se compone de uno, por supuesto, donde los documentos y las páginas son concepto virtual, sólo el disco está físicamente presente. En otras palabras, ibdel archivo está operando en el sistema de corte de las páginas una a una, y se almacena en el disco. (Corazón de Innodb en la sangre, los espacios de tablas se han cortado podrido. Este punto de vista, el sistema operativo es el sistemas espaciales Magister sagrados, ha ha ha).

Ahora hay una contradicción debe resolverse , doble conflicto es MySQL y el sistema operativo, la contradicción es este archivo objeto (espacio de tabla), la siguiente contradicción:

  • Para el sistema operativo, obviamente, me las arreglo archivos y discos, y así sucesivamente siento muy bien, mi sistema de archivos tan poderoso. Innodb pero no lo escucha, tengo que ir más allá de la gestión directa, la recreación de un sistema de archivos, es posible?
  • Para innodb, asegurando que busco es fiable y disponible, lo último mejorar el rendimiento. Cómo mejorar? Pones mi espacio de tablas de corte en pedazos ... 10.000 palabras omitidas aquí.

La contradicción es realmente no es pequeña, pero como Dios inteligente tiene la perspectiva del desarrollo del ganado mayor ah. Ya que no puedo cambiar directamente la gestión de su sistema operativo, me gustaría crear otro canto en su base. Lo que hizo uno hacer? Sí, al igual que un sistema de gestión de espacio para estos sistemas operativos son triturados páginas.

El sistema de gestión de espacio de curso se divide en dos: el espacio de tabla (sólo un objeto) y un método de realización de una serie de espacio alrededor de la mesa. De esta manera, se puede lograr un alto construido en el sistema de archivos del sistema operativo 文件系统.


Ahora, por espacio de tabla, hemos tenido muy claro que su propósito, a saber:

espacio de tabla de gestión de innumerables páginas correspondientes

Por lo tanto, el primer paso, naturalmente 去操作系统化, reemplazará a la página en el sistema operativo en el espacio de tabla de páginas. Es decir, el archivo es la página 1, página 2 en el sistema operativo, a un lado de la mesa se convierte en el espacio 页a、页b. Aunque ambos página llamada, pero esta página ni esa página. A continuación se mencionan son el espacio de tabla de esta página.

Por supuesto, cómo estos dos conceptos diferentes de asignación de página, que no lo haría entrometido.

De esta manera, la piedra angular de todo el espacio de tabla, es completamente la investigación y el desarrollo de controlable independiente. Así que podemos modificar fácilmente el tamaño de página innodb, pero no controlan el sistema operativo.


Sin embargo, decenas de miles de páginas de todos en un espacio de tabla, ¿cómo vamos a manejar ? (Espacio de tabla de páginas es que hablamos de páginas de datos anteriores y similares)

En virtud de todo está vinculado, se puede considerar, si es así, ¿qué consejo le propone?


Sólo algunos ejemplos, como los militares, ¿quiere decir que un comandante para gestionar millones de soldados que?

Como otro ejemplo, la escuela, ¿por qué la colocación ah, como un canto particular a todos juntos?

Como otro ejemplo, el centro comercial, tanto mercancía casualmente permanecido como un canto, qué área áreas frescas, las necesidades diarias ¿por qué debería?

Hay muchos, muchos ejemplos. Encontrado, sin embargo, cuál es la solución?

Área , es decir, la partición, a diferentes niveles.

Natural, espacio de tablas InnoDB también se introduce el 区 extentconcepto . Cada región comprende 64 páginas, cada zona 256 se divide en un conjunto. Por lo tanto, cuando el tamaño de la página es de 16 K, cada distrito es sólo 1M. Cada grupo en la primera zona de las primeras páginas, como es natural, se registra el grupo responsable de parte de la información clave sobre cada área.

Por lo tanto, para la gestión de la página para tener una jerarquía, no caos. Pero esto le gusta? Ciertamente, no es, decir que el anteriormente innodb para el máximo rendimiento de actualización , por lo que los niveles de luz bajo las disposiciones de qué sirve.


Así innodb he hecho la siguiente varios de procesamiento:

  1. Cada área de la página en el disco es continua. Continuo significa que, bajo ciertos escenarios reducen disco I aleatoria / O.

Pero la forma de garantizar la continuidad? Esto se basa en el sistema operativo de la gestión. innodb puede aplicar para un espacio del tamaño de una página tanto, que la naturaleza es continua.

  1. Debido a que cada uno de ellos solamente se almacena a + nodo de hoja de árbol B en la página de datos, no un fin con el fin de encontrar el nodo hoja es un nodo hoja correspondiente. Si estos dos tipos de páginas juntas, por ejemplo, está dispuesto en forma de página AAAABBAABBAAAA, la misma no es propicio para encontrar.

En este punto, innodb pide un concepto . Cada construir un índice (es decir, a + árbol B), genera dos segmentos espaciales en la tabla: los segmentos de índice y de datos. Y proporciona un área de segmento se asigna como una unidad, es decir, un segmento puede incluir varias áreas. Que aparece principalmente para resolver este rendimiento.

  1. Medir el rendimiento de un algoritmo a partir de dos aspectos: el tiempo y el espacio. innodb correspondencia también porque él también puede ser visto como un gran algoritmo. Así que para la optimización del espacio, innodb también introdujo una , que es 碎片区. Lo bueno es?

Mencionado en el segundo párrafo del punto, por debajo de cada región segmento, estas páginas son las regiones en el interior del nodo hoja correspondiente al índice de segmento o una nodos que no son hojas. Y una región de sección inferior mezclados con otros índices. Sin embargo, se permite que el área de escombros, no importa qué segmento de la página, se puede almacenar en la zona de escombros.

Por lo tanto, un proceso es generalmente: espacio de tabla está configurado, los dos aparece secciones (índice de clave principal), una inserción de datos. A continuación, los datos se almacenan en la página de datos, y esta página es para obtener los datos de la zona sobre los escombros. Después que los datos continuos de inserción, este segmento ha sido responsable de 32 páginas en el área de escombros, se seguirá aplicando el área de almacenamiento completo.

Si no hay zona de desechos, a continuación, los datos originales se pueden insertar directamente en un espacio de una zona de aplicación (cada segmento a), tomar directamente hasta 2 M de espacio, algunas de las tablas simplemente tomar tanto espacio.


Bajo está terminando, el espacio de tabla tiene muchas áreas, algunas de las cuales conforman el área de un segmento. Al mismo tiempo, cada distrito y 256 para un grupo de información relacionada dentro del grupo se colocan en la primera zona. Cada área por debajo de 64 páginas consecutivas.

De hecho, una región, tanto en un grupo, mientras que pueden en ciertos segmentos.

Este nivel de una división, una buena mejoras en el rendimiento. Pero también conduce a otros problemas de rendimiento, y que es la zona para encontrar qué tan rápido?

Por ejemplo, un espacio de tabla 10G, el área tenía 10.000. Estas zonas, algunas áreas se han llenado, y alguna zona hay espacio. Cuando los datos recién insertados, cómo se inserta a encontrar el área correcta, usted no va a lo largo de todo el pasado?

Por supuesto que no, cuando para ver la estructura de la página, lo que tendrá todo tipo de listas. espacio de tabla se compone realmente de varias listas de mantenimiento del distrito, como espacio de escombros lista completa o lista de áreas y así sucesivamente.

Para los propósitos de cada zona está en uno de cuatro estados:

  • ocioso
  • zona de desechos espaciales
  • zona llena de escombros
  • La pertenencia a un área determinada

Tabla lista de espacio hay dos ángulos, uno está de pie en toda la perspectiva espacio de tabla , hay tres lista concatenada de todas las áreas, a saber:

  • lista de áreas libres
  • Espacio lista de zonas de escombros
  • lista de zonas de escombros lleno

Se puede ver claramente, las tres regiones en la lista enlazada no es el cuarto estado, es otra perspectiva nivel de pie de un cierto período para ver , hay tres listas, a saber:

  • Libre y pertenecen a este segmento de la lista de áreas
  • El espacio y pertenecen a este segmento de la lista de áreas
  • Llenar y pertenece a la lista de zonas de este segmento

Por lo tanto, será asignado a un área diferente de la lista a diferentes niveles.


En correspondencia con la estructura de atributo (estructura, descripción de objeto) de cada zona también se conoce como: XDES Entryel atributo se llama la estructura de cada segmento Inode Entry. Mientras que la cadena superior 6, que los nodos son de Entrada XDES.

La lista antes mencionada, debe ser capaz de encontrar el nodo principal lista de nodos, por lo Guardar la base de sus tres nodos en la lista de entrada Inode.

Para todo el espacio de tabla, el espacio de tabla es ciertamente una información única, que se almacena en la primera zona extent0 área en la. Mientras tanto, la primera área extent0 área es también un espacio de tabla para el primer grupo, por lo que tendrán un único conjunto de registros de información. Otros grupos en la primera zona, que no es necesario que la información de registro único para el espacio de tabla.

Para que se coloca en el nivel de espacio de lista de la tabla superior tres, su nodo de base se almacena en extent0 en. Por supuesto, específicamente la (primera página) almacenada en extent0 de una página.

XDES EntryHay páginas especiales para almacenar, tipo de página que es XDES, como hemos visto el tipo de página 数据页de. Por supuesto, diferentes tipos de estructura de la página es similar. Por lo que también existirá entre la página de la lista.

Inode EntryEl tipo de página Inode, la misma Inodeexistirá entre la página de la lista.


A continuación, el espacio de tabla del sistema para la tabla del sistema es? No es un espacio de tabla común y también el mismo?

Por supuesto, la estructura del curso es el mismo. Sin embargo, algunos de los espacios de tabla de sistema del distrito se utiliza para más propósitos específicos, mientras que la memoria global (compartido por todos los espacios de tabla) alguna información.

Algunas de estas palabras clave de información, hemos visto la estructura básica de innodb, a saber: diccionario de datos, buffer de escritura doble, el cambio de tampón, Deshacer Registros y así sucesivamente.


Espacio en la mesa de aquí, no nos gusta la estructura de la página, como para ver qué atributos y así sucesivamente Entrada XDES allí. Debido a que el espacio de tabla se ha reducido en general, los diversos atributos demasiado, sin necesidad de mirar que no es necesario recordar. Mientras la lógica enderezar, sabemos que el espacio de tabla en una variedad de elementos importantes en la línea. Estudio de seguimiento y otros de bloqueo, tiempo de transacción, o se encuentran algunos atribuyen a la mesa cuando se trata de espacio, siempre y cuando la macro-imagen en la línea.


buffer de escritura doble, el cambio búfer lo que ponemos en primer lugar, y luego buscar en otros estudios por cierto. A continuación, entrar en este tema importantes cuestiones.

Finalmente en el presente documento, esto no es el dibujo, por dos razones: principalmente sobre el diagrama lógico no mucho uso; atributo demasiado, el dibujo y la representación tabular no funciona, tiene poca importancia. Figura informal buscar en línea para ver allí, sino también la forma de una impresión más profunda.

Para más información, véase: las series de desarrollo de servicios de fondo de tutoría a -java

Publicado 50 artículos originales · ganado elogios 99 · vistas 110 000 +

Supongo que te gusta

Origin blog.csdn.net/zhou307/article/details/104729347
Recomendado
Clasificación