Categorías destacadas
programacion php    
Artículo
0
¡votar!

 Mejoras realizadas con la versión 1.1 de INNODB

InnoDB es una tecnología de almacenamiento de datos de código abierto para la base de datos MySQL, que viene en todas sus distribuciones a partir de la versión 4.0.

Este tipo de almacenamiento, tiene ciertas mejoras respecto al otro tipo que podemos utilizar, MyISAM, como es el tema de la fiabilidad o su consistencia, mucho mayor que en el caso de MyISAM.

Con la llegada de la versión 1.1 de InnoDB, vamos a repasar algunas mejoras que nos proporcionará, centradas sobre todo en su rendimiento y escalabilidad.

Mejoras de rendimiento en la recuperación
En versiones anteriores de MySQL, independientemente de si se utilizaba MyISAM o InnoDB, cuando había algún problema en las tablas de la base de datos, la recuperación de la misma era un proceso que podía ser muy largo. Ahora con esta nueva versión de InnoDB, este tiempo de recuperación se ha mejorado considerablemente, ya que los desarrolladores se han centrado en como recuperar grandes cantidades de bytes.

Instancias múltiples de Buffer Pool
Si nuestra aplicación es utilizada por una gran cantidad de usuarios, las páginas que forman nuestra aplicación, son leídas y actualizadas en la base de datos constantemente. Con la opción de instanciar múltiples Buffer Pool, conseguimos terminar con el problema del cuello de botella que se generaba cuando los hilos debían de esperar a que fuera actualizado el buffer. Ahora podremos configurar el número de hilos que queremos abrir, aunque por defecto seguirá siendo 1.

Múltiple Rollback Segments
Esto va enfocado a la escalabilidad y el rendimiento. Dividiendo las restricciones en otras más pequeñas InnoDB nos permite varias transacciones que escriban datos (insert, update y delete) sin que tengan que esperarse entre ellas. Anteriormente el límite estaba en unas 1023 transacciones simultaneas, siendo ahora de 131072 (128k). Para aprovecharse de esto no hace falta tener el formato de ficheros Barracuda, pero para disfrutarla al 100% tendremos que crear otra instancia o una nueva tabla.

I/O asíncrona nativa para Linux
Este cambio afecta sobre todo a la versión para Linux, ya que han implementado la opción de operaciones asíncronas, cosa que ya se podía disfrutar en la versión para Windows. Estas operaciones asíncronas, permiten que el hilo que maneja la query, no tenga que esperar a que termine otra I/O anterior termine, sino que se delega el control a otro ayudante de hilos de I/O y sirve la query. Para que esto funcione, es necesaria la librería liba_io, que por defecto viene instalada en la versión 5.5.

Nuevos cambios en los buffers
InnoDB usa índices para hacer las querys mas rápidas. Los índices secundarios, los de otras columnas que no son la primary key, requieren trabajo adicional para mantenerlos al día cuando esas columnas se insertan, borran o actualizan.

En esta nueva versión, se ha trabajado en optimizar los tiempos de espera para la escritura de estos índices secundarios, cuando se utilizan para agregar nueva información.

Mejoras del Log Sys Mutex
En versiones anteriores, un solo mutex era el encargado de proteger diferentes áreas de la memoria relacionado con los logs y undo. Cuando se hacía una acción DDL, este mutex bloqueaba el acceso al buffer pool. Al dividir ahora este log en varios más pequeños, conseguimos que el tiempo de respuesta sea menor por esta acción.

Flush List Mutex Separadas
Con la llegada de la versión 1.1, las Flush List disponen de su propio Mutex, reduciendo el tiempo de intervención de operaciones con el buffer pool.

Programacion de purga de datos mejorada
Ahora con InnoDB 1.1, disponemos de un hilo independiente encargado de realizar la recogida de la basura, por lo que al no formar parte del hilo principal, no se provoca el bloqueo de otras operaciones.

Vía: Jmchia
   
Publicado por:
Angel Carrero
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon