sql >> Base de Datos >  >> RDS >> Mysql

¿Es InnoDB (MySQL 5.5.8) la opción correcta para miles de millones de filas?

Una respuesta simple a su pregunta sería sí, InnoDB sería la opción perfecta para un conjunto de datos de miles de millones de filas.

Hay una gran cantidad de optimización que es posible.

Las optimizaciones más obvias serían configurar un gran grupo de búfer, ya que el grupo de búfer es lo más importante cuando se trata de InnoDB porque InnoDB almacena en búfer los datos y el índice en el grupo de búfer. Si tiene un servidor MySQL dedicado con solo tablas InnoDB, debe configurar hasta el 80 % de la RAM disponible para que InnoDB la use.

Otra optimización más importante es tener índices adecuados en la tabla (teniendo en cuenta el patrón de acceso/actualización de datos), tanto primarios como secundarios. (Recuerde que los índices principales se agregan automáticamente a los índices secundarios).

Con InnoDB hay algunas ventajas adicionales, como la protección contra la corrupción de datos, la recuperación automática, etc.

En cuanto a aumentar el rendimiento de escritura, debe configurar sus archivos de registro de transacciones para que tengan un total de 4G.

Otra cosa que puede hacer es particionar la tabla.

Puede obtener más rendimiento configurando bin-log-format en "fila" y configurando auto_inc_lock_mode en 2 (eso asegurará que innodb no mantenga bloqueos a nivel de tabla cuando se inserta en columnas de incremento automático).

Si necesita algún consejo específico, puede ponerse en contacto conmigo, estaría más que dispuesto a ayudar.