Archive es un motor de almacenamiento para el sistema de administración de bases de datos relacionales MySQL . Los usuarios pueden utilizar este motor de almacenamiento analítico para crear una tabla que sea solo de "archivo". Los datos no se pueden eliminar de esta tabla, solo agregarlos. El motor de archivo usa una estrategia de compresión basada en la biblioteca zlib y empaqueta las filas usando un encabezado de bit para representar nulos y elimina todos los espacios en blanco para los campos de tipo de carácter. Cuando se completa, la fila se inserta en el búfer de compresión y se descarga en el disco mediante una tabla de descarga explícita, una lectura o el cierre de la tabla.
Autor (es) original (es) | Brian Aker |
---|---|
Versión inicial | 2004 |
Escrito en | C , C ++ |
Sistema operativo | Multiplataforma |
Plataforma | x86 , x86-64 , SPARC , MIPS , PowerPC |
Tipo | Motor de base de datos |
Licencia | Licencia pública general GNU |
Sitio web | mysql |
Una de las restricciones actuales de las tablas de archivo es que no admiten ningún índice, por lo que se necesita un escaneo de tabla para cualquier tarea SELECT. Sin embargo, las tablas de archivo son compatibles con MySQL Query Cache, que puede reducir drásticamente los tiempos de respuesta para las consultas de tablas de archivo que se emiten repetidamente. [1] MySQL está examinando el soporte de índices para tablas de archivo en las próximas versiones.
El motor no es compatible con ACID . A diferencia de los motores OLTP , utiliza un formato de "flujo" al disco sin límites de bloque. El encabezado del archivo de almacenamiento generado es una matriz de bytes que representa el formato de datos y el contenido de ese archivo. En MySQL 5.1, una copia del archivo FRM de MySQL se almacena en el encabezado de cada archivo Archive. El archivo FRM, que representa la definición de una tabla, permite restaurar un archivo Archive en un servidor MySQL si el archivo Archive se copia en el servidor.
A pesar del uso de zlib , los archivos de almacenamiento no son compatibles con gzio , la base de las herramientas gzip . Utiliza su propio sistema azio que es una bifurcación de gzio.
Archive se diferencia del otro motor analítico de MySQL, MyISAM , por ser un motor de bloqueo de nivel de fila y por mantener una instantánea de la versión constante a lo largo de una sola consulta (lo que la convierte en MVCC ). Esto significa que Archive no se bloquea para inserciones masivas simultáneas. Para inserciones masivas, realiza una INSERCIÓN entrelazada, por lo que, a diferencia de MyISAM, el orden no está garantizado.
Los usuarios pueden utilizar la herramienta archive_reader para tomar una instantánea en línea de una tabla y cambiar las características de un archivo.
Para crear una tabla de archivo, especifique la siguiente cadena de motor:
crear tabla t1 ( a int , b varchar ( 32 )) ENGINE = ARCHIVE
El motor de almacenamiento de archivos de MySQL fue creado y mantenido por Brian Aker . Fue introducido en 2004 con MySQL 4.1.
Referencias
- ^ https://web.archive.org/web/20100212100829/http://dev.mysql.com/tech-resources/articles/storage-engine.html El motor de almacenamiento de archivos MySQL 5.0 (fecha de archivo 20100212)