11 de Octubre, 2005

Motores de almacenamiento de MySQL

Parece que mucha gente usando MySQL no estaba al tanto de esto de los motores de almacenamiento y la arquitectura modular que ofrece este sistema de gestión de bases de datos (SGBD), hasta la compra de Innobase por parte de Oracle. Igual es uno de sus puntos fuertes: es un SGBD muy accesible (incluso sin tener mucha idea :D).

Martin C. Brown, en un artículo en LinuxPlanet (MySQL Storage Engines), hace un repaso bastante interesante y explicativo. Sobretodo define varios factores como tipos de datos, bloqueos, indexado y transacciones; aunque se deja la integridad referencial (¿un SGBD basado en el modelo relacional sin gestión de la integridad referencial? :o).

No es un análisis muy profundo, pero sí vale para hacernos una idea de todas las posibilidades, aunque las conclusiones hay que tomarlas aparte, en mi opinión, porque solo habla de rendimientos. Un sistema de gestión de bases de datos sin transacciones ni integridad referencial puede quedar bastante limitado para algunas aplicaciones, y eso no lo parece tener en cuenta.

Esa falta de percepción de la mayoría, que tampoco hay que ser gurú de las bases de datos, perjudica a los desarrolladores y al propio MySQL. ¿Cómo puedo desarrollar una aplicación web, por ejemplo, confiando en unas características que luego los ISP no implementan? Conozco casos que solo por las transacciones ya se han pasado a PostgreSQL para cosas serias, evitando así el riesgo de no contar con soporte InnoDB (en ese hosting bueno, bonito y barato).

Desde luego que el que usa MySQL tal y como viene (muy probablemente con MyISAM como motor de almacenamiento), casi seguro que no cambiará su forma de trabajar después de leer el artículo de Brown. O igual sí ;).

Anotación por Juan J. Martínez, clasificada en: mysql.

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: