¿Qué motor de almacenamiento MySQL sería el más apropiado para una aplicación web?

¿Qué es un motor de almacenamiento?

Los motores de almacenamiento son componentes de MySQL que manejan las operaciones de SQL para diferentes tipos de tablas. InnoDB es el motor de almacenamiento predeterminado (para v5.7) y el más general. Los motores de almacenamiento MySQL incluyen tanto los que manejan tablas seguras de transacciones como los que manejan tablas no seguras de transacciones .

Hay muchos motores de almacenamiento disponibles, pero los dos motores más populares y de uso común son: 1). InnoDB 2) .MyISAM

¿Qué motor de almacenamiento sería el más apropiado?

La respuesta a esta pregunta se puede resolver en dos términos:

  1. Propiedad de transacción del motor y
  2. Concurrencia del motor.

Diferencia b / w InnoDB y MyISAM son estas dos propiedades. InnoDB proporciona la TRANSACCIÓN y la CONCURRENCIA donde MyISAM no lo hace.

Aunque MyISAM es un poco más rápido que InnoDB e implementa el índice FULLTEXT, que es bastante útil para integrar las capacidades de búsqueda. MyISAM no se transa y no implementa restricciones de clave externa, lo cual es un inconveniente importante.

Si fuera usted, elegiría InnoDB porque es el más confiable. Utilice MyISAM solo para fines específicos si lo necesita.

Puede configurar su base de datos para usar InnoDB de forma predeterminada al crear nuevas tablas. Sin embargo, no está restringido a usar el mismo motor de almacenamiento para un servidor o esquema completo. Puede especificar el motor de almacenamiento para cualquier tabla.

Estoy de acuerdo con Joachim Pense: siempre uso InnoDB para los datos que quiero admitir SELECCIONAR / INSERTAR / ACTUALIZAR / ELIMINAR, a menos que tenga alguna otra necesidad muy específica.

  • MyISAM se usa solo para datos que realmente no le interesan. 🙂 Solo estoy bromeando sobre eso. MyISAM no admite transacciones ACID, y es más susceptible a la corrupción de datos. Intento no usarlo para ningún dato canónico. Solo para datos que se recrean fácilmente. La única ventaja de MyISAM es que generalmente requiere menos espacio que InnoDB para los mismos datos. Pero en estos días, el almacenamiento es barato, así que prefiero la seguridad de los datos.
  • ARCHIVE es otro motor de almacenamiento que uso cuando tengo una tabla de solo agregar (solo INSERT, nunca ACTUALIZAR o BORRAR) y quiero que se almacene en aún menos espacio. ARCHIVO es débil en cuanto a integridad de datos como MyISAM. ARCHIVE no es compatible con la indexación, pero sí es compatible con la partición. Lo uso para una tabla que registra algunos eventos en nuestro sitio web, lo que resulta en una tabla de 3.5 mil millones de filas. No son datos críticos, y me gustaría almacenar lo más compacto posible. Particiono esta tabla por día durante los últimos 30 días, luego por mes para datos más antiguos.
  • TokuDB es un motor de almacenamiento más nuevo que tiene compresión avanzada, pero aún tiene un rendimiento razonablemente bueno y características de integridad de datos. TokuDB está disponible en distribuciones recientes de Percona Server.
  • CSV es útil a veces para la importación de datos. Declare una tabla, mueva un archivo .csv al directorio de datos y listo, es accesible instantáneamente para consultas SQL.
  • BLACKHOLE es útil para configurar instancias de retransmisión de replicación o para algunos tipos de pruebas.
  • También hay algunos motores de almacenamiento de terceros para fines especializados, como el motor de almacenamiento Q4M para implementar colas, el motor de almacenamiento SphinxSE para proporcionar acceso SQL al motor de búsqueda Sphinx, el motor de almacenamiento InfoBright para el almacenamiento de datos en tiendas de columnas, etc.

La respuesta corta es: use InnoDB como una opción predeterminada.

InnoDB es el motor de almacenamiento elegido para todo, excepto que tiene necesidades muy especiales / esotéricas.

Hay muchas aplicaciones web diferentes con diferentes requisitos de base de datos.

El servidor Mysql es solo una de esas implementaciones.

Use la implementación que se proporciona / recomienda con su alojamiento y CMS

puedes ir con toku db, da una mejor compresión de datos.