¿Cuál es la diferencia entre MariaDB y MySQL?

82

¿Cuál es la diferencia entre MariaDB y MySQL? No estoy muy familiarizado con ambos. Soy principalmente un desarrollador front-end en su mayor parte.

¿Son sintácticamente similares? ¿Dónde difieren estos dos lenguajes de consulta?

Wikipedia solo menciona la diferencia entre las licencias:

MariaDB es una rama desarrollada por la comunidad de la base de datos MySQL, cuyo impulso es el mantenimiento comunitario de su estado libre bajo GPL, en oposición a cualquier incertidumbre sobre el estado de la licencia MySQL bajo su propiedad actual de Oracle.

chrisjlee
fuente
Esto podría ser útil: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Respuestas:

95

MariaDB es un reemplazo binario compatible con versiones anteriores de MySQL . Lo que esto significa es:

  • Los archivos de datos y de definición de tablas (.frm) son compatibles con binarios.
  • Todas las API, protocolos y estructuras del cliente son idénticas.
  • Todos los nombres de archivo, binarios, rutas, puertos, sockets, etc. deben ser iguales.
  • Todos los conectores MySQL funcionan sin cambios con MariaDB.
  • El paquete mysql-client también funciona con el servidor MariaDB.

En los escenarios prácticos más comunes, MariaDB versión 5.xy funcionará exactamente como MySQL 5.xy, MariaDB sigue la versión de MySQL, es decir, su número de versión se utiliza para indicar con qué versión de MySQL es compatible.

MariaDB se originó como una bifurcación de MySQL por Michael "Monty" Widenius, uno de los desarrolladores originales de MySQL y cofundador de MySQL Ab. La Fundación MariaDB actúa como custodio de MariaDB.

La principal motivación detrás de MariaDB fue proporcionar una versión de hilo dental de MySQL, en caso de que Oracle se vuelva corporativo con MySQL. Vale la pena señalar que Monty habló en contra de la adquisición de MySQL (a través de la adquisición de Sun) por parte de Oracle.

Aunque se supone que MariaDB es compatible con MySQL, por una razón u otra hay bastantes problemas de compatibilidad y características diferentes :

  • MariaDB incluye todos los motores de código abierto populares,
  • MariaDB afirma varias mejoras de velocidad sobre MySQL, y
  • hay algunas nuevas extensiones de hilo dental que MySQL carece

    Finalmente, el nombre proviene de la hija de Monty, Maria (la otra es My), ya que MySQL es ahora una marca registrada de Oracle Corporation.

Yannis
fuente
1
Gracias por la explicación muy completa. Exactamente lo que estaba buscando.
chrisjlee
55
MariaDB es explícitamente no SQL-99 completa, como repudiado en la misma página esta respuesta enlaces a. Por ejemplo, no admite afirmaciones en absoluto y los CTE aún no se han convertido en una versión estable. La historia es muy parecida para MySQL.
Aire
Creo que los enlaces a montyprogram dot com se han podrido, pero no tengo idea de dónde se pueden encontrar equivalentes para estos enlaces en línea.
Hay
MariaDB es compatible con InnoDB ¿verdad? ¿Por qué está escrito así?
Paulson Peter
1
@PaulsonPeter Sí, MariaDB es compatible con InnoDB. No estoy seguro de cuál es su segunda pregunta.
Yannis
15

Es una bifurcación: dos proyectos separados que comienzan desde la misma base de código original pero se mueven en direcciones separadas. Esto ha sucedido con bastante frecuencia con los proyectos de código abierto en los que Oracle ha comprado las empresas patrocinadoras.

Según tengo entendido, MariaDB es mantenido y mejorado por los desarrolladores originales de MySQL, y MySQL es mantenido y mejorado por Oracle. Depende de con quién quieras hacer ese trabajo.


fuente