En los últimos tiempos se ha comenzado a observar cómo MariaDB ha incrementado su presencia en las distribuciones más populares, tales como: Ubuntu, XAMPP, Debian, Windows, etc. Lo que quizás habrá hecho que te preguntes ¿Debo usar MariaDB o MySQL? Por lo tanto en este artículo te vamos a aclarar todas estas dudas y te ayudará a tomar una decisión tanto si eres un principiante en bases de datos como si ya tienes experiencia trabajando con MySQL.
Revisando distintos foros especializados en informática, me he encontrado con información que sinceramente en lugar de despejar las dudas está causando un efecto contrario sobre todo cuando hacen el intento de explicar las ventajas y desventajas en materia de licencias; y por supuesto también se encuentran grupos a favor de MySQL y otros de MariaDB. Algunos se centran en hablar de la evolución histórica para justificar una decisión favorable hacia MariaDB, desde que se fundó MySQL hasta que desemboca en MariaDB y no hacen más que repetir lo que ya se dice en el sitio web de MariaDB Foundation sin aportar verdadera información fidedigna; y definitivamente aquellos que hablan y hablan de tantas ventajas en rendimiento y velocidad en las pruebas de MariaDB con la implementación de nuevas y extraordinarias ingenierías de bases de datos como Aria y Xtra en detrimento de InnoDB de MySQL, cuando en realidad para la gran mayoría de usuarios administradores de bases de datos son temas tan complejos que derivan en la pérdida de interés por conocer esos fabulosos detalles. Para poner un ejemplo en este contexto solamente cuando analizamos el tema de los tipos de datos con los que se pueden manejar los números en MySQL nos encontramos con tipos: INTEGER
, SMALLINT
, TINYINT
, MEDIUMINT
, BIGINT
, DECIMAL
, NUMERIC
, FLOAT
, DOUBLE
¿Solamente para sumar dos números? Ni hablar del shock que sentiríamos si profundizaramos solo un poco en la forma de representación interna, es decir a nivel de bits y bytes.
Sin embargo, fue cuando pensé en los fundamentos de bases de datos buscando encontrar un punto de vista más preciso de comparación basado en la arquitectura de los sistemas de bases de datos que encontré un primer punto distinto. De aquí que con esto quiero referirme a la importancia que tienen las funciones y componentes principales de un DBMS (sistema manejador de base de datos):
- Definición y manipulación de datos.
- Optimización y ejecución de peticiones, seguridad e integridad de datos.
- Recuperación de datos.
- Diccionario de datos.
- Rendimiento.
En el caso de MySQL y MariaDB estas funciones son encapsuladas dentro del programa cliente MySQL.
Compatibilidad entre MariaDb y MySQL
Lo primero que menciona la comparación en el sitio de MariaDB es que al igual que MySQL son productos altamente compatibles asegurando casi un 100% de compatibilidad entre ellos; sin embargo veamos que apenas comenzando en la secuencia numérica de versión difieren grandemente; MySQL va por 5.7 mientras que MariaDB va por 10.2 que según dicen posee características que no tiene otro DBMS. Por otra parte encontramos casos donde una versión como la 10.2 posee características que están en la 5.6 y 5.7 entonces ¿Son diferentes o no? Yo diría que sí, realmente fue muy frustrante cuando estaba elaborando pruebas y ejemplos en MariaDB acerca de los privilegios de acceso y encontré un comando MySQL en la versión 5.7.4 referente a la expiración de la contraseña de una cuenta, el cual no tenía correspondencia en la versión 10.1 de MariaDB y cuando consulté la documentación de MariaDB realmente entendí que el error era porque simplemente no existía la cláusula EXPIRE.
MariaDB asegura tener una compatibilidad casi total con MySQL, sin embargo existen diferencias que pueden causarnos problemas y requieren una revisión más minuciosa de la documentación.
Por otra parte, comienza a verse una disputa sobre cuál ingeniera de base de datos es mejor: las basadas en InnoDB de MySQL o las nuevas de Aria y Xtra en MariaDB. MariaDB afirma que las últimas son superiores en cuanto a rendimiento; sin embargo, por alguna razón MySQL no las incluyó en sus nuevas versiones; entonces dado que la compatibilidad no funciona en sentido contrario se demuestra que realmente no son cores o núcleos equivalentes y por lo tanto cada vez va a existir una mayor diferenciación entre los dos manejadores muy a pesar del reconocido esfuerzo del equipo de MariaDB por demostrar lo contrario.
Particularmente pienso que la alta compatibilidad de libraries, conectores, etc. Ha sido una buena estrategia inicial de MariaDB para facilitar el proceso de migración desde MySQL hasta MariaDB. Ya que por otro lado se están encargando de los nuevos clientes en las plataformas de distribución más populares existentes como dijimos en un principio. Con esta estrategia, MariaDB está ganando la batalla posicionándose cada vez con más fuerza en el mercado y esto también se aprecia en las distintas estadísticas del segmento que ocupan cada una entre los clientes que se van haciendo públicas.
Licencia
Ahora hablemos de licenciamiento, parece casi imposible que sin ser abogado pueda descifrarse lo que realmente quiere decir el licenciamiento que aparece en el sitio de MySQL con su licenciamiento dual, pareciera algo que requiere de alguna clave especial para lograr desencriptarse primero. Todo hace pensar que en cambio el licenciamiento en MariaDB simplemente ofrece las garantías de comercialización y distribución que no afectan legalmente a nuestras compañías tal como lo fue en el pasado con MySQL. A pesar de todo, tomemos en cuenta un pequeño detalle que pareciera oculto y es el hecho de que muchas compañías están migrando silenciosamente a MariaDB. Esto muchas veces no lo sabemos porque las empresas no lo hacen público; pero por ejemplo Google sí hizo el anuncio en 2013. ¿Qué hay en este licenciamiento que no les conviene incluso a estos gigantes de la industria? O ¿Por qué distribuciones como la famosa XAMPP lo han hecho? O ¿Por qué los propios sistemas operativos -entre ellos Windows- los están prefiriendo es sus distribuciones? Quizá no hay tanta discreción y es sólo que no lo habíamos notado antes. Piensa en la cantidad de hosts que ofrecen como servicio MySQL y que estan virando a MariaDB, sería muy interesante una encuesta al respecto. En este punto de la comparación, nos quedamos con MariaDB.
Open source o código abierto
Vayamos a otro punto de orden y es el referente a la competencia como software open source o código abierto. Definitivamente, si es cierto que en la mayoría de comunidades de usuarios son parte de una filosofía que tiene que ver con la libertad de uso entonces el empleo de la palabra Oracle también será algo funesto. Es lo que se percibe en la mayoría de los foros cuando atentamente se leen los comentarios de los participantes. Sin lugar a dudas que MySQL tiene la lucha perdida en este aspecto a menos que cambie de estrategia. “Muy frescas están aún las heridas” de los casos exitosos de open source como cuando “Open Office” fue adquirido; es que si las pantallas han cambiado en algo sería mucho ya que el proyecto fue abandonado y posteriormente devuelto a la comunidad pero a “Apache Foundation” y hoy en día aparece con el nombre de LibreOffice. Tanto así que con MySQL la misma comunidad pareciera que afirmará: “Ahí viene Oracle otra vez pero ahora contra MySQL”. Muy por el contrario, la gente de MariaDB está organizada bajo MariaDB Foundation y MariaDB Corporation; es decir que poseer a sus fundadores con experiencia entre sus filas es muy contundente en favor de MariaDB y sólo necesitan repetir de nuevo lo que ya han hecho. Nuevamente, otorgaremos el mayor puntaje a MariaDB.
Documentación
La documentación en línea que posee MySQL en su sitio web es superior definitivamente a la de su contraparte; de hecho comencé a estudiar MariaDB pero por error usé la documentación Online de MySQL, puesto que está mucho mejor organizada y es más ilustrativa en sus explicaciones. Sin embargo, hay que reconocer que para ambos DBMSs existe una buena variedad en la oferta de libros como fuente de consulta. En este item le otorgaremos un punto a MySQL.
Herramientas y componentes
Me quiero referir con esto a que si ambos tienen el mismo core o núcleo como dicen entonces quizá es la parte donde Oracle y MySQL tengan más oportunidad de ganar. No por algo Oracle es el “WorldChampion” en ventas de DBMS, impartiendo una hegemonía en el mercado desde hace muchísimos años. Particularmente me encantaría usar MySQL Workbench porque es un entorno interactivo excelente para los administradores de bases de datos o DBAs incluso disponible para la versión GPL que me hace recordar los tantos años que pasé administrando SQL Server con su grandioso Enterprise Manager; pero he visto que los administradores de la época previa a la compra de MySQL generalmente sólo usan las herramientas contenidas en la interface de terceras partes, como por ejemplo phpMyAdmin o Sequel Pro. Oracle debe contar con cualquier serie de utilerías y herramientas a su disposición; pero esta vez debo informales que la gran mayoría están a disposición sólo en las licencias que son de uso comercial. Por otra parte aquellos usuarios de MariaDB poseen herramientas que vienen predeterminadas con la instalación; sin embargo, si aún lo desean deberán buscar herramientas open source que satisfagan sus necesidades con terceras partes y que sean compatibles con MariaDB. Es una decisión cerrada porque es el primer elemento que tal vez incorpora elementos de costo para ambas partes; pero creo que Oracle y MySQL en este caso lucen más fuertes y le otorgaremos en puntaje en nuestra comparación.
Soporte y entrenamiento
En este caso ambos ofrecen un soporte adecuado en la mayoría de sus plataformas como puede ser constatado fácilmente en el sitio de MySQL o en el de MariaDB Corporation. Oracle debe tener una vasta experiencia pero Michael Widenius y su staff de ex-gerentes de MySQL que ahora están en MariaDB Corporation, tienen una vasta y exitosa experiencia en MySQL y ahora están dispuestos a dar el todo por el todo en MariaDB, asegurando que más nunca se volverá a repetir la entrega de su software open source a elementos comerciales y saben como entremezclarse junto a las comunidades open source, después de todo hasta crearon otra organización -MariaDB Foundation- que se encarga de que sean canalizados y coordinados todos los esfuerzos, y sobretodo los recursos económicos a traves de la captación enérgica de contribuyentes en pro del desarrollo open source para mejorar cada día más. En todo caso, creo que Oracle buscará predominar en el segmento de ventas del mercado mientras que MariaDB lo hará en el de las comunidades Open Source manteniendo esta tendencia hasta doblegar la popularidad que hasta ahora aún posee MySQL de Oracle. Aquí es indudable la fortaleza que ofrecen estos dos campeones; pero más que un empate técnico procede la observación que nos trajo hasta aquí y es el caso del apoyo hacia las comunidades que apoyan la filosofía del open source por lo que pienso que el justo ganador de este tópico debería ser MariaDB.
Conclusión
Tal cómo habrás observado hemos estipulado el resultado a través de una comparación que involucra seis aspectos importantes: compatibilidad, licenciamiento, posicionamiento y apoyo dentro de la filosofía open source, documentación, herramientas-utilerías, y soporte-entrenamiento. Destacándose esta vez una victoria de MariaDB llevándose cuatro de seis aspectos posibles, resultando como claro ganador sobre todo en los aspectos que son los más esenciales.
¿Quieres aprender más sobre bases de datos y tecnologías de desarrollo web? Suscríbete a nuestro boletín informativo:
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.