MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Es desarrollado por Michael Widenius(fundador de MySQL) y la comunidad de desarrolladores de software libre. Introduce dos motores de almacenamiento nuevos, uno llamado Aria -que reemplaza con ventajas a MyISAM- y otro llamado XtraDB -en sustitución de InnoDB. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, APIs y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.1 Este SGBD surge a raíz de la compra de Sun Microsystems -compañía que había comprado previamente MySQL AB 2 - por parte de Oracle. MariaDB es un fork directo de MySQL que asegura que permanecerá una versión de este producto con licencia GPL, ya que tras esta compra Oracle cambió la licencia de MySQL por una de tipo privativo, aunque Oracle aún conserva la versión MySQL Community Edition que sigue siendo GPL. Monty decidió crear esta variante porque estaba convencido de que el único interés de Oracle en MySQL era reducir la competencia que MySQL daba al mayor vendedor de bases de datos relacionales del mundo que es Oracle.3
Software de terceras partes
Hay bastantes paquetes propietarios y libres de terceras partes diseñados para MySQL que también están disponibles para integrarse con MariaDB. Algunos ejemplos son:
- DBEdit — una aplicación de administración libre para MariaDB y otras bases de datos.
- Navicat — una serie de aplicaciones propietarias de gestión de bases de datos para Windows, Mac OS X y Linux.
- HeidiSQL — un cliente de fuente abierta y libre para MySQL, 100% compatible con MariaDB, incluído con el paquete MSI para Windows de MariaDB desde la versión 5.2.7.
Versiones
La versión de desarrollo de MariaDB es la 10.0 . Está construida sobre la versión 5.5, con algunas características de MySQL 5.6 y otras características nuevas no encontradas en ninguna otra versión anterior.
Diferencias con MySQL
En la práctica MariaDB reemplaza directamente a la misma versión de MySQL (MySQL 5.1 -> MariaDB 5.1, MariaDB 5.2 & MariaDB 5.3 son compatibles. MySQL 5.5 -> MariaDB 5.5). Las diferencias se encuentran en estos puntos .
Mecanismos de almacenamiento
Además de los mecanismos de almacenamiento estándar MyISAM, Blackhole, CSV, Memory y Archive, también se incluyen en la versión fuente y binaria de MariaDB los siguientes:
Además de los mecanismos de almacenamiento estándar MyISAM, Blackhole, CSV, Memory y Archive, también se incluyen en la versión fuente y binaria de MariaDB los siguientes:
- Aria (alternativa a MyISAM resistente a caídas)
- XtraDB (reemplazo directo de InnoDB)
- PBXT (en MariaDB 5.1, 5.2 y 5.3. Deshabilitada en 5.5)
- FederatedX (reemplazo directo de Federated)
- OQGRAPH — nuevo en 5.2
- SphinxSE — nuevo en 5.2
- IBMDB2I. Eliminada por Oracle de MySQL 5.1.55 pero se incluye en el código de MariaDB hasta la versión 5.5.
- Cassandra, en MariaDB-10.0 (otros mecanismos no-sql se incluirán en MariaDB)
Facilidad de uso
- Proporciona estadísticas de índices y tabla, para lo que añade nuevas tablas en INFORMATION_SCHEMA y nuevos opciones a los comandos FLUSH y SHOW para identificar la causa e la carga del SGBD.
- Los comandos ALTER TABLE y LOAD DATA INFILE dejan de ser opacos e informan del progreso.
- La precisión para tipo de datos TIME, DATETIME, y TIMESTAMP ampliada al microsegundo.
- Introducidas características estilo NoSQL, como HandlerSocket que proporciona acceso directo a tablas InnoDB saltándose la capa SQL.
- Columnas dinámicas, que proporcionan al usuario columnas virtuales en las tablas.
- Las subqueries funcionan correctamente.
Prestaciones
- El optimizador de MariaDB -que se encuentra en el núcleo de cualquier SGBD- funciona claramente más rápido con cargas complejas.
- En la replicación se han introducido sustanciosas mejoras, por ejemplo el “group commit for the binary log” que acelera la replicación hasta el doble.
- Eliminación de tablas. El acceso a tablas a través de views acelera el acceso.
Testeo
- Más juegos de test en la distribución.
- Parches para los tests.
- Distintas combinaciones de configuración y sistema operativo para los tests.
- Eliminación de tests innecesarios, como "no testar la caracterśitica X si no la he incluido en mi ejecutable".
Menos errores y alertas
- Los juegos de testeo han permitido reducir los errores sin introducir nuevos.
- Las alertas de compilación están relacionadas, y los desarrolladores las han intentado reducir.
No hay comentarios:
Publicar un comentario