MariaDB vs MySQL es el nuevo versus de esta semana en Guiadev, queremos contarte cómo MariaDB desde hace un tiempo se perfila como el reemplazo definitivo para MySQL. Pero primero hagamos una breve introducción a qué es MariaDB como tal.
Contenido
MariaDB vs MySQL
MySQL ha sido durante muchos años, y de hecho sigue siendo, uno de los sistemas de bases de datos más populares y utilizados en el mundo del hosting, aunque hace tiempo apareció un hermano suyo dispuesto quitarle su lugar. MariaDB, al igual que MySQL, es un servicio de manejo de bases de datos, cuenta con licencia GPL y de hecho fue creado por el desarrollador de MySQL, el conocido Monty Widenius, junto a un grupo de desarrolladores que decidieron formar parte del proyecto en forma voluntaria.
¿Qué es MariaDB?
Pues básicamente, y dicho sin rodeos, se trata de un reemplazo de MySQL que no solo agrega un mayor rendimiento, sino también nuevas funcionalidades. Es de hecho de un fork de MySQL, es decir, fue creado a partir de él.
La historia de MariaDB comienza un tiempo después de la compra de MySQL por parte de ORACLE (a través de la compra de Sun Microsystems, quien tenía en sus manos a MySQL AB, la firma creadora del sistema homónimo).
Ante el temor de que ORACLE pueda comenzar a distribuir MySQL bajo una licencia de pago, y también ante el posible deterioro de la herramienta ahora que no estaba en manos de la comunidad, fue que dio inicio la creación de MariaDB. En pocas palabras, MariaDB nace con el propósito de que quienes utilizan MySQL puedan seguir disfrutando de un software distribuido libremente y de calidad.
Y por supuesto para que eso sea posible es necesario que MariaDB tenga una alta compatibilidad con MySQL, y de hecho la tiene. Lo cierto es que un sitio podría cambiar su motor de bases de datos de uno a otro con muy poco esfuerzo, y los usuarios ni siquiera se enterarían de lo ocurrido.
El avance y compromiso de MariaDB es tal que ya ha comenzado a ser adoptado por defecto en algunas distribuciones de Linux muy populares, por ejemplo CentOS 7.x, que ya lo trae preinstalado. Lo mismo ocurre en el caso de Fedora, que desde hace varias versiones viene con MariaDB instalado por defecto. Como si eso fuera poco, también es utilizado por Google, Wikipedia o Mozilla, nombres más que conocidos en el sector de Internet. Incluso cPanel lo provee a través de su panel de control WHM, permitiendo hacer el cambio rápidamente.
¿Qué diferencias hay entre MariaDB vs MySQL?
Motores
Mientras que en MySQL se utilizan MyISAM & InnoDB, en MariaDB nos encontramos con dos reemplazos. El primero de ellos es Aria, que viene a reemplazar a MyISAM, mientras que el restante es XtraDB, reemplazando por supuesto a InnoDB. Aria fue creado a partir de MyISAM, mientras que XtraDB es un plugin de InnoDB. A su vez, MariaDB incorpora otros dos motores: PBXT y FederatedX.
Tablas
MariaDB incorpora nuevas tablas a nivel del sistema, que ayudan en las tareas de optimización de bases de datos gracias al almacenamiento de estadísticas del servicio.
Velocidad
El rendimiento de MariaDB se encuentra por encima del de MySQL. No estamos hablando de una diferencia astronómica, pero definitivamente es mejor. El motor Aria en particular presenta un rendimiento muy bueno frente a MyISAM gracias a su caché en RAM (MyISAM usa un caché de disco).
¿Qué desventajas tiene MariaDB vs MySQL?
Pues esto es sencillo: no tiene. MariaDB no presenta ninguna desventaja frente a MySQL. La única desventaja que podría presentarse sería en algún caso de incompatibilidad, pero dado que se trata de servicios muy similares no deberíamos encontrar ningún caso así. Si tu aplicación funciona en MySQL, entonces puedes estar un 99,99% seguro que funcionará en MariaDB.
¿Vale la pena usar MariaDB en lugar de MySQL?
Por supuesto que sí, que no quepan dudas. Las ventajas mencionadas ya hablan por sí solas. Las mejoras de rendimiento que presenta frente a MySQL hacen que la migración esté más que justificada. Y como si eso fuera poco, recordemos que se trata de un proyecto distribuido bajo licencia GPL. ¿A quién no le gusta el software gratuito y de código abierto?
MariaDB obviamente es compatible con muchos de los scripts más populares utilizados en el mundo del hosting, por ejemplo WordPress, Joomla, Drupal, Xenforo, VBulletin y muchísimos más.
En la documentación oficial de MariaDB podremos tener acceso a todo lo que necesitamos saber sobre este proyecto. Podemos leer su amplia documentación, descargarlo, unirnos a su equipo de desarrollo o incluso realizar una donación o patrocinarlo.
En este momento la versión más reciente de MariaDB es la 10.1, disponible como ya decíamos en su sitio oficial. MariaDB 10 actualmente es la rama principal del proyecto y contará con soporte durante tres años más, pero para entonces evidentemente ya contaremos con una versión más moderna.
Conclusión
Como ya hemos visto, no hay razón para no realizar el cambio desde MySQL a MariaDB. Las ventajas lo dicen todo: tiene un mayor rendimiento, más funcionalidades y además se distribuye bajo licencia GPL, sin mencionar que está en manos de una comunidad de desarrolladores muy comprometidos con el proyecto.
Y si quieres leer otro versus interesante, no olvides visitar PostgreSQL vs MYSQL, donde derribaremos barreras, mitos y prejuicios sobre dos de los motores de bases de datos más populares.
Cuéntanos: ¿has tenido la oportunidad de probar MariaDB? Y si aún no lo has hecho y te gustó como suena lo que te contamos respecto a MariaDB te sugerimos mirar este artículo para su instalación en CentOS: Cómo instalar MariaDB en CentOS 6
Otros versus interesantes que pueden gustarte:
Despues de dos dias intentando importar tablas innodb de mysql en MariaDB, lo doy por imposible. Decir que es compatible por que funciona con bases de datos simples es mucho decir. Lo cierto es que mi base de datos tampoco es nada del otro jueves, solo es una base de datos relacional normal y corriente.
Buen articulo, pero hay que ser mas cauto al hablar de compatibilidades y decir que mariadb no tiene desventajas. Una muy grande, enorme, es la falta de compatibilidad.
Hola Carlos,
Es raro que no te haya funcionado. Con nuestros clientes hemos migrado decenas de servidores de MYSQL a MariaDB y nunca hemos tenido problemas, y todos con bases de datos con diferentes complejidades. En dicha experiencia basamos este artículo en realidad.
Si alguna vez tienes problemas y necesitas ayuda, desde http://www.infranetworking.com siempre estamos listos para ayudar 🙂
Un saludo.
¿Se sabe si XAMP, LAMP o WAMP van a incluir MariaDB?
recientemente he tenido graves problemas con MariaDB (o eso me han dicho). He contratado un programador para crear una pequeña aplicacion web y me dice que MariaDB tiene limitaciones en algunas cosas que no obstante, son importantes. En concreto, y despues de probar sin problemas uno de los scripts con mysql porque originalmente lo hemos desarrollado en un hosting con mysql, con MariaDB no funcionaba. Para solucionarlo, me dice que ha tenido que reducir de varchar(512) a varchar(128) (un cambio importante en la longitud del tipo de dato). Te pregunto… ¿que hay de cierto en tener que hacer semejante cambio? y si es asi ¿por que nadie menciona estas limitaciones?
Saludos y enhorabuena por el Blog
Seguramente Juan, se está volviendo el reemplazo oficial de MySQL en casi todas las distribuciones Linux, y en paquetes como esos seguramente no demore en hacerlo también.
Por ejemplo, si quieres montar un LAMP sobre Fedora Linux, ya viene con MariaDB por defecto en vez de MySQL 🙂
Hola Francisco,
La causa del problema puede ser muy diversa, habría que explorar el código para poder decirte con certeza si es un problema de MariaDB vs MySQL o no. Te sugiero leer esto por si acaso, seguro te ayudará a conocer más los límites de varchar en MariaDB: https://mariadb.com/kb/en/mariadb/varchar/
Buena suerte.
muy buen artículo Santiago!…aunque (off-topic) tengo curiosidad de qué significa «retro Gamer»? XD
Saludos
Decimos que Santiago es un «Retro gamer» porque es un jugador (gamer) de juegos electronicos viejos (retro), nada de consolas modernas, sólo juegos que muestren pixeles por todos lados :p
Gracias por seguirnos.
¿Y que opciones existen en MariaDB para ofrecer alta disponibilidad?
Igual que MYSQL, puedes hacer uso de opciones como Replicación Master Master, DRDB, o bien Clustering con Galera:
https://mariadb.com/resources/datasheets-guides/drbd
https://mariadb.com/kb/en/mariadb/galera-cluster/
Espero te sirva 😉
Buenas Tardes,
Alguien aquí a tenido problemas con la migracion de Elastix(BD Mysql) hacia Issabel(BD MariaDB) porque hize la migración pero mis extensiones no se registran ya revise todo conforme a la telefonia puertos abiertas y demás cosas, quedo la espera de sus comentarios. Gracias.
hola que tal, bueno el documento, comentando que si he leído de mariadb y en estos momento me he querido cambiar de mysql windows ( lo tengo con vertrigo https://sourceforge.net/projects/vertrigo/ ) a mariadb, pero documentación buena no he encontrado o no he podido encontrar, ya que al des instalar vertrigo me deja las carpetas de mysql/data como respaldo y al querer montarlas en mariadb (solo montando las) no me deja, según esto era transparente y nada, así que estoy haciendo mis pruebas (y error) o no le allo, por lo que hice mis respaldos de mysql y los monte en mariadbdb pero me dan error en algunos casos no he encontrado ayuda espero me puedan auxiliar ustedes. por ultimo mis tablas estan en innodb que debo hacer para pasarlas a maria debe con un buen motor, cual escojo y como las convierto?, y por ultimo como debo de configurar my.ini para que este en buenas condiciones ya que estoy instalando mariadb manualmente y me da muchas opciones donde me documento por favor muchas gracias por todo