MariaDB

Sistema gestor de BD

Sistema Gestor de BD de licencia GPL

MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Es desarrollado por Michael (Monty) 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. Este SGBD surge a raíz de la compra de Sun Microsystems -compañía que había comprado previamente MySQL AB – por parte de Oracle. MariaDB es un fork directo de MySQL que asegura que permanecerá 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 daba al mayor vendedor de bases de datos relacionales del mundo que es Oracle.

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:

  • 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 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.

LAMP_software_bundle.svg

Como Instalar MariaDB en ubuntu en cinco pasos

1) Importamos la llave con el comando apt-get key, desde un terminal

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
  • Tendremos un resultado similar
localhost:~# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.ASyOPV87XC --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
gpg: key 1BB943DB: public key "Daniel Bartholomew (Monty Program signing key) <dbart@askmonty.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1

2) Verificamos la version de ubuntu, que tenemos instalado con el comando

lsb_release -a
  • Tendremos un resultado similar
Distributor ID:	Ubuntu
Description:	Ubuntu 12.04.1 LTS
Release:	12.04
Codename:	precise

3) Agregamos el repositorio de MariaDB

  • Vamos a la pagina de MariaDb, para obtener la lista de repositorios para ubuntu, según la versión que nos dio el comando anterior:
http://downloads.mariadb.org/mariadb/repositories/
  • Editamos e archivo de repositorios en ubuntu con el comando:*
sudo nano /etc/apt/sources.list
  • Agregamos un repositorio a nuestra eleccion, por ejemplo para ubuntu Precise 12.04
# MariaDB 5.5 repository list - created 2012-10-27 21:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
deb http://mirror.aarnet.edu.au/pub/MariaDB/repo/5.5/ubuntu precise main
deb-src http://mirror.aarnet.edu.au/pub/MariaDB/repo/5.5/ubuntu precise main

4) Actualizamos los paquetes de nuestro repositorio

sudo apt-get update

5) Instalamos MariaDB

sudo apt-get install libdbi-perl libdbd-mysql-perl psmisc
sudo dpkg --install mysql-common_5.1.42-mariadb73_all.deb
sudo dpkg --install libmariadbclient16_5.1.42-mariadb73_amd64.deb libmysqlclient16_5.1.42-mariadb73_amd64.deb \
mariadb-client_5.1.42-mariadb73_all.deb mariadb-client-5.1_5.1.42-mariadb73_amd64.deb mariadb-server_5.1.42-mariadb73_all.deb \
mariadb-server-5.1_5.1.42-mariadb73_amd64.deb

Comparativas entre los forks

Característica MySQL Percona MariaDB OurDelta Drizzle
Mantenido por Oracle Corp. Percona Comunidad OpenQuery Brian Aker
Licencia GPL o propietaria GPL GPL v2 GPL BSD, GPL v2
Soporte Windows Si No Si No No
Soporte Unix/Linux Si Si Si Si Si
ACID Si  Si Si Si Si
Integridad referencial Si Si Si Si Si
Transacciones Si Si Si Si Si
Unicode Si Si Si Si Si
Tamaño máximo DB Ilimitado Ilimitado  Ilimitado Ilimitado Ilimitado
Tamaño máximo tabla MyISAM 256 TB;
InnoDB 64 TB
 MyISAM 256 TB;
InnoDB 64 TB
 MyISAM 256 TB;
InnoDB 64 TB
MyISAM 256 TB;
InnoDB 64 TB
64 TB
Máximo de columnas por fila MyISAM 4096;
InnoDB 1000
 MyISAM 256 TB;
InnoDB 64 TB
MyISAM 256 TB;
InnoDB 64 TB
MyISAM 4096;
InnoDB 1000
1000
Tablas temporales No  No No No No
Vistas materializadas No  No No No No
Índices Árboles R-/R+ Si (MyISAM) Si (MyISAM) Si (MyISAM) Si (MyISAM) No
Índices HASH Si (InnoDB) Si (InnoDB – XtraDB) Si (InnoDB – XtraDB) Si (InnoDB – XtraDB) No
Índices FULL TEXT Si (MyISAM) Si (MyISAM)  Si (MyISAM – Aria) Si (MyISAM) No
Índices SPATIAL Si (MyISAM)  Si (MyISAM) Si (MyISAM) Si (MyISAM) No
Triggers y Stored Procedures Si Si Si (MyISAM) Si Con plugins
Particionado Si Si  Si Si Si
Certificado de Seguridad No No No No No

 

Performance de los forks

Las pruebas realizadas para comparar el rendimiento de los forks fueron realizadas en un servidor HP Proliant ML530 con 2 procesador Xeon Dual Core de 3ghz, 6GB de RAM y trabajando sobre un RAID 5 de 5 discos con Ubuntu Server 11.10. Se trabajó con datos reales de un sistema en producción (implementación de OsTicket) con una base de aproximadamente 110MB.

Se utilizaron principalmente 4 consultas, utilizando distintos tipos de índices (incluyendo FULL TEXT en las consultas B y D) y trabajando sobre adaptaciones de las consultas originales existentes en el sistema OsTicket. Es importante aclarar que no se realizó ninguna optimización y/o configuración a los motores una vez instalados sino que se dejaron con sus configuraciones por defecto.  También me gustaría aclarar que no se realizaron pruebas sobre OurDelta por considerar que su performance será casi idéntica a la de MySQL. Los resultados fueron los siguientes:

Motor Consulta A Consulta B Consulta C Consulta D
MySQL 5.1.58 (MyISAM) 34.391 25.975 1.623 1.385
Percona 5.1.60 (MyISAM) 32.182 22.043 1.583 1.244
MariaDB 5.1.60 (MyISAM) 32.548 22.140 1.583 1.256
Drizzle 2011.03 (InnoDB) 23.433 1.189
MariaDB 5.1.60 (InnoDB) 22.384 1.126
MariaDB 5.1.60 (Aria) 24.787 14.324 1.326 0.962
Percona 5.1.60 (XtraDB) 27.050 1.319
Nota: los valores están indicados en segundos y representan el tiempo de ejecución de las consultas. En negrita se marcaron los mejores tiempos.

Referencia:

https://mariadb.com/kb/es/como-instalar-mariadb-en-ubuntu-en-cinco-pasos/

http://es.wikipedia.org/wiki/MariaDB

http://investigacionit.com.ar/?s=Forks

Anuncios

Acerca de quice85

Hola soy ingeniero en sistemas computacionales me dedico a dar clases, talleres de programación, diseño gráfico, diseño y programación de páginas WEB, mantenimiento, animación y ofimática. Mi nombre es Elfego Emilio Quintana de la Cruz (quice85). Correo: E-mail:quice85@outlook.com E-mail alternativo: quice85@hotmail.com o quice85@gmail.com. Facebook: Emilio Quintana o quice85. Twitter@: Emilio Quintana o quice85. Youtube: quice85. Empresa: SIEE (Sistemas Informáticos Eléctricos Electrónicos).
Esta entrada fue publicada en Linux y etiquetada , . Guarda el enlace permanente.

Una respuesta a MariaDB

  1. Jsequeiros dijo:

    Buena página, se agradece por compartirlo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s