De MySQL a MariaDB

O del delfín a la foca, o de lo privado a lo público, … mucho ha llovido desde que MySQL salió y con su versión 3.23 recorrieran el mundo instalándose de los primeros en soportar la mayoría de sitios web en Internet a través de la idea LAMP.

No obstante, la historia quiso que MySQL AB, la empresa que se creó para comercializar la idea de la base de datos rápida para webs, fuese finalmente adquirida por Sun Microsystems, para dar un supuesto impulso a su integración con el mundo de Java. A lo que respondió otro de los grandes del sector, finalmente, comprando a la propia Sun Microsystems.

En el momento en el que MySQL pasó a ser de Sun, comenzaron las tiranteces, de forma que, Monty, uno de los fundadores y responsable del desarrollo inicial de MySQL, que comentó que el nombre, precisamente, provenía de una de sus hijas (llamada My), hizo un fork, dándole el nombre de MariaDB (otra de sus hijas).

El caso es que, por ética profesional y propia, al final, he decidido abandonar definitivamente MySQL para usar única y exclusivamente MariaDB en lo que concierne a base de datos tipo MySQL… ya que, también hay otras como PostgreSQL que siguen siendo una muy buena opción a considerar, según el caso que se dé.

Migrando

Lo primero, veo que en la propia página de Monty dedicada a MariaDB, hay un configurador bastante bueno de elegir la distribución, la versión de MariaDB a instalar y el mirror más cercano. Con esto tenemos que la instalación en mi Debian Squeeze, por ejemplo, se basa en poner los repositorios correspondientes y hacer el apt-get install para mariadb-server–5.3 (por ejemplo).

Tanto si se instala de forma automática, como de forma manual, si tenemos corriendo un MySQL 5.1 (por ejemplo), el sistema se encarga de desinstalarlo, poner en su lugar MariaDB y ejecutar un script llamado mysql_upgrade (que en caso de la instalación desde apt-get install se realizará de forma automática).

El servidor se levanta de forma rápida y tenemos un MySQL completamente funcional con la base de datos instalada y funcionando. El corte casi que ni se nota.

No obstante, siempre es deseable tener una copia de seguridad por lo que pudiera pasar. Está el caso de éxito de SpamExperts que migraron cerca de 300 servidores en más o menos tres horas y sin complicaciones.

Las ramas de MariaDB

Actualmente hay disponibles tres ramas de MariaDB, la versión 5.1, la versión 5.2 y la versión 5.3.

  • La versión 5.1 es una versión prácticamente igual que la versión 5.1 de MySQL, solo que con muchas correcciones de errores realizadas.
  • La versión 5.2 es la siguiente evolución, que consta con muchas de las características que querrían haber introducido sus creadores en la versión anterior, pero no pudieron por falta de tiempo.
  • La versión 5.3 es la actual, que integra muchas mejoras y cosas que en MySQL solo están en la versión comercial.

La versión 5.3, que es la última y la más avanzada, tiene cosas como:

  • Optimizaciones en subconsultas, de siempre en SQL, el hecho de realizar subconsultas es algo que da un poco de miedo, porque, además de que puede ser lioso el hecho de construir una gran consulta con subconsultas dentro, tiene penalización en rendimiento. Pues bien, esta versión está optimizada para el uso de subconsultas de modo que, con respecto a MySQL (la versión normal) mejora el rendimiento sustancialmente.
  • Interfaz NoSQL… bueno, realmente, sigue siendo SQL, pero permite redefinir y aumentar la base de datos de forma fácil en cada UPDATE e INSERT. Un ejemplo puede verse en esta página.
  • Nuevos engines (realmente esto es de la 5.2), permite usar OQGRAPH, que es un engine preparado para el almacenamiento de elementos jerárquicos y grafos; y SphinxSE que integra un sistema de búsqueda de texto muy parecida al FTS de PostgreSQL enlazando con el servidor de Sphinx.
  • Autenticación por plugins: permite tener autenticación vía PAM, LDAP, etc.

Conclusiones

MariaDB se mueve en un entorno ágil con mucha gente que lo mantiene desde su comunidad, y sobretodo, con el apoyo y liderazgo de quien comenzó en su día MySQL, por lo que, es más que posible que dentro de unos cuantos meses o años, se comience a escuchar hablar más de MariaDB que de MySQL. Además, migrar ahora es fácil, ya que las versiones 5.1 en ambos elementos son muy parecidos (son casi iguales), pero ya con la versión 5.5 de MySQL (han saltado de la 5.1 a la 5.5 directamente) y la 5.3 de MariaDB, cada vez se irán distanciando más.

Mi consejo: ¡actualiza ya!