Capítulo 15. El motor de almacenamiento InnoDB

MySQL 5.0

Capítulo 15. El motor de almacenamiento InnoDB

Tabla de contenidos

15.1. Panorámica de
15.2. Información de contacto de
15.3. Configuración de
15.4. Opciones de arranque de
15.5. Crear el espacio de tablas
15.5.1. Resolución de problemas en la inicialización de
15.6. Crear tablas
15.6.1. Cómo utilizar transacciones en con distintas APIs
15.6.2. Pasar tablas a
15.6.3. Cómo funciona una columna en
15.6.4. Restricciones (constraints)
15.6.5. y replicación MySQL
15.6.6. Usar un espacio de tablas para cada tabla
15.7. Añadir y suprimir registros y ficheros de datos
15.8. Hacer una copia de seguridad y recuperar una base de datos
15.8.1. Forzar una recuperación
15.8.2. Marcadores
15.9. Trasladar una base de datos a otra máquina
15.10. Bloqueo y modelo de transacciones de
15.10.1. Modos de bloqueo
15.10.2. y
15.10.3. y
15.10.4. Lecturas consistentes que no bloquean
15.10.5. Bloquear lecturas y
15.10.6. Bloqueo de la próxima clave (Next-Key Locking): evitar el problema fantasma
15.10.7. Un ejemplo de lectura consistente en
15.10.8. Establecimiento de bloqueos con diferentes sentencias SQL en
15.10.9. ¿Cuándo ejecuta o deshace implicitamente MySQL una transacción?
15.10.10. Detección de interbloqueos (deadlocks) y cancelación de transacciones (rollbacks)
15.10.11. Cómo tratar con interbloqueos
15.11. Consejos de afinamiento del rendimiento de
15.11.1. y los monitores
15.12. Implementación de multiversión
15.13. Estructuras de tabla y de índice
15.13.1. Estructura física de un índice
15.13.2. Búfer de inserts
15.13.3. Adaptive Hash Indexes
15.13.4. Estructura física de los registros
15.14. Gestión de espacio de ficheros y de E/S de disco (Disk I/O)
15.14.1. E/S de disco (Disk I/O)
15.14.2. Usar dispositivos en bruto (raw devices) para espacios de tablas
15.14.3. Gestión del espacio de ficheros
15.14.4. Desfragmentar una tabla
15.15. Tratamiento de errores de InnoDB
15.15.1. Códigos de error de
15.15.2. Códigos de error del sistema oeprativo
15.16. Restricciones de las tablas
15.17. Resolver problemas relacionados con
15.17.1. Resolver problemas de las operaciones del diccionario de datos de

15.1. Panorámica de InnoDB

dota a MySQL de un motor de almacenamiento transaccional (conforme a ) con capacidades de commit (confirmación), rollback (cancelación) y recuperación de fallas. realiza bloqueos a nivel de fila y también porporciona funciones de lectura consistente sin bloqueo al estilo Oracle en sentencias . Estas características incrementan el rendimiento y la capacidad de gestionar múltiples usuarios simultáneos. No se necesita un bloqueo escalado en porque los bloqueos a nivel de fila ocupan muy poco espacio. también soporta restricciones . En consultas SQL, aún dentro de la misma consulta, pueden incluirse libremente tablas del tipo con tablas de otros tipos.

se diseñó para obtener el máximo rendimiento al provesar grandes volúmenes de datos. Su eficiencia en el uso de CPU probablemente no es igualada por ningún otro motor de bases de datos relaciones en disco.

A pesar de estar totalmente integrado con el servidor MySQL, el motor de almacenamiento mantiene su propio pool de almacenamiento intermedio para tener un cache de datos e índices en la memoria principal. almacena sus tablas e índices en un espacio de tablas, el cual puede consistir de varios ficheros (o particiones disco). Esto difiere de, por ejemplo, el motor , donde cada tabla se almacena empleando ficheros separados. Las tablas pueden ser de cualquier tamaño, aún en sistemas operativos donde el tamaño de los ficheros se limita a 2GB.

En MySQL 5.0, viene incluido por defecto en las distribuciones binarias. El instalador Windows Essentials configura a como el tipo de base de datos MySQL por defecto en Windows.

se utiliza en muchos grandes sitios de bases de datos que necesitan alto rendimiento. El famoso sitio de noticias de Internet Slashdot.org corre sobre . Mytrix, Inc. almacena más de 1TB de datos en , y otros sitios manejan una carga promedio de 800 inserciones y actualizaciones por segundo en .

se publica bajo la misma licencia GNU GPL Versión 2 (de Junio de 1991) que MySQL. Para más información sobre el licenciamiento de MySQL, consulte http://www.mysql.com/company/legal/licensing/.