MariaDB

MariaDB es un Sistema de gestión de bases de datos derivado de MySQL con licencia GPL (General Public License). Es desarrollado por Michael (Monty) Widenius (fundador de MySQL), la fundación MariaDB y la comunidad de desarrolladores de software libre.[1] 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.[2] Este SGBD surge a raíz de la compra de Sun Microsystems -compañía que había comprado previamente MySQL AB[3]- por parte de Oracle. MariaDB es un fork directo de MySQL que asegura la existencia de una versión de este producto con licencia 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 suponía para el mayor vendedor de bases de datos relacionales del mundo, que es Oracle.[4]

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.
  • SQLyog — aplicación propietaria de gestión de bases de datos MySQL compatible con MariaDB para Windows y Linux.
  • HeidiSQL — un cliente de fuente abierta y libre para MySQL, 100% compatible con MariaDB, incluido con el paquete MSI para Windows de MariaDB desde la versión 5.2.7.[5][6]
  • phpMyAdmin — una aplicación web de administración libre para MySQL compatible con MariaDB.

Versiones

La versión de desarrollo de MariaDB es la 10.0.[7] 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

Archivo:LAMP software bundle.svg
La LAMP comprende MariaDB (aquí con Squid)

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.[8]

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:

  • 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)
  • Sequence, aparecido con MariaDB 10.0.3

Facilidad de uso

  • Proporciona estadísticas de índices y tabla, para lo que añade nuevas tablas en INFORMATION_SCHEMA y nuevas opciones a los comandos FLUSH y SHOW para identificar la causa en 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ística 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.

Referencia

Enlaces externos

Plantilla:Wikibooks