You are on page 1of 29

Bases de Datos

MariaDB

Esteban Saavedra Lopez


CEO AtixLibre
CEO Opentelematics
email: esteban.saavedra@atixlibre.org
estebansaavedra@gmail.com
http://esteban.opentelematics.org
Acerca del facilitador
• Ingeniero de profesión
• Docente Universitario de
Postgrado
• Investigador senior en
innovación tecnológica.
• Presidente de la Fundación
Atixlibre
• CEO Opentelematics
Internacional
• Asesor de Tecnologías de la
Información de Gobierno
Objetivo
• Realizar una presentación de MariaDB,
considerando sus principios, sus características y
sus tendencias
Contenido
• Introducción
• Características
• Ventajas/desventajas
• Motores de almacenamiento
• Tendencias
MariaDB - MySQL
• MariaDB es un sistema de gestión de bases de
datos relacional, multihilo y multiusuario.
Características (1)
• Escalabilidad, flexibilidad, velocidad y robustez.
• Alto rendimiento/Alta disponibilidad
• Robusto soporte transaccional
• Fortalezas en Web y Data Warehouse
• Fuerte protección de datos y gestión de seguridad
• Desarrollo de aplicaciones completo
• Facilidades de gestión
• Open Source
• Costo de infraestructura necesaria menor
Características (2)
• Posibilidad de selección de mecanismos de
almacenamiento que ofrecen diferentes velocidades
de operación, soporte físico, capacidad, distribución
geográfica, transacciones...
• Replicación.
• Búsqueda e indexación de campos de texto.
Ventajas
• Velocidad al realizar las operaciones, lo que le hace
uno de los gestores con mejor rendimiento.
• Bajo costo en requerimientos para la elaboración de
bases de datos.
• Facilidad de configuración e instalación.
• Soporta gran variedad de Sistemas Operativos
• Baja probabilidad de corromper datos.
• Conectividad y seguridad
Desventajas
• Un gran porcentaje de las utilidades de MySQL no
están documentadas.
Motores de almacenamiento
• MariaDB dispone de la posibilidad de hacer uso de
una variedad de motores de almacenamiento
acordes a las necesidades de los usuarios o
entornos.
ACID
> Atomicidad: es la propiedad que asegura que la
operación se ha realizado o no, y por lo tanto ante un
fallo del sistema no puede quedar a medias.
> Consistencia: Integridad. Es la propiedad que asegura
que sólo se empieza aquello que se puede acabar.
> Aislamiento: es la propiedad que asegura que una
operación no puede afectar a otras
> Durabilidad: Persistencia. Es la propiedad que asegura
que una vez realizada la operación, ésta persistirá y no
se podrá deshacer aunque falle el sistema y que de esta
forma los datos sobrevivan de alguna manera.
MVCC
• Multiple
• Version
• Control
• Concurrency
Motores disponibles
• Listar los motores disponibles
> show engines;
Archive
• El mecanismo Archive está concebido para
almacenar gran volumen de datos. Soporta INSERT
y SELECT, pero no DELETE, REPLACE o
UPDATE. Soporta el operador ORDER BY, atributos
tipo BLOB y casi todos los demás, excepto los
espaciales. Implementa bloqueo a nivel de fila
(tupla).
> Activación
– --with-archive-storage-engine
Blackhole
• El mecanismo de almacenamiento BLACKHOLE
actúa como un agujero negro que acepta todo pero
no lo almacena en ningún sitio. Todo intento de
recuperación de información resultará infructuoso.
• Los datos de la tabla los envía todos a /dev/null.
Soporta la definición de todo tipo de índices.
CSV
• Este mecanismo de almacenamiento almacena los
datos en ficheros de texto separados por comas.
Este mecanismo está disponible en todas las
versiones del servidor MySQL.
> Activación
– --with-csv-storage-engine
Example
• Mecanismo de almacenamiento vacío, no hace
nada. Muestra un ejemplo con la arquitectura de
programación adecuada para el desarrollo de
nuevos mecanismos de almacenamiento. Tiene
interés para desarrolladores.
Memory
• El mecanismo de almacenamiento Memory archiva
las tablas en memoria volátil.
• Usa índices hash por defecto, lo que las hace muy
rápidas de recorrer y muy útiles para crear tablas
temporales. Sin embargo, cuando el servidor se
apaga éstas se borran. La definición de las tablas
se guarda en ficheros con extensión.frm, de modo
que al rearrancar el servidor las tablas estarán
definidas pero vacías de datos.
Sequence
• Este mecanismo de almacenamiento permite crear
secuencias de números ascendentes o
descendentes, empezando por uno determinado y
con un incremento arbitrario.
• Sirve para crear tablas virtuales efímeras cuando se
necesiten. Nunca se escriben en disco ni se crean
ficheros frm. Estas tablas tiene acceso sólo lectura.
• El mecanismo Sequence ha sido introducido en
MariaDB 10.0.3.
Aria
• El mecanismo Aria nació como una alternativa a
MyISAM pero resistente a caídas del sistema.
Viene incorporado en la distribución MariaDB.1.
• No tiene todavía capacidad transaccional pero está
planeado añadirla en el futuro.
MyISAM
• Implementación de MySQL del original ISAM.
Implementa el almacenamiento de datos de manera
sencilla y robusta, y proporciona una alta velocidad
de acceso y un tamaño pequeño de ficheros.
• El mecanismo MyISAM almacena cada tabla en
tres ficheros:
> .frm con el formato de la tabla
> .MYD con los datos
> .MYI con los índices
• Ha sido el mecanismo de almacenamiento por
defecto hasta la versión 5.1 de MySQL.
InnoDB
• InnoDB es un mecanismo de almacenamiento
transaccional con características ACID.
• Sigue el modelo ACID con COMMIT, ROLLBACK y
recuperación de caídas.
• Bloquea a nivel de fila (tupla), y proporciona
concurrencia multiusuario para lectura.
• Organiza los datos en disco para optimizar el uso
de claves primarias.
• Mantiene la integridad de datos mediante
restricciones FOREIGN KEY, que se aplican en
INSERT, UPDATE y DELETE.
MERGE
• El motor de almacenamiento MERGE , también
conocido como MRG_MyISAM , es una colección
de tablas MyISAM idénticas que pueden usarse
como una.
• "Idéntica" significa que todas las tablas tienen
información de columna e índice idéntica.
FEDERATED
• Es un motor que accede a datos en tablas de bases
de datos remotas como si se tratase de tablas
locales.
• Su principal aplicación es la de permitir bases de
datos federadas.
TokuDB
• TokuDB3 es un mecanismo de almacenamiento
altamente escalable que permite acelerar la
indización de las sentencias SQL y la modificación
en caliente de los esquemas.
• Proporciona altas prestaciones en entornos con
carga intensiva de escritura.
• Puede soportar la implementación de cualquier
tabla, con las mismas limitaciones en cuanto a tipos
soportados que MyISAM o InnoDB.
Detalle de motores utilizados en las
bases de datos
• SELECT table_schema, table_name, engine FROM 
information_schema.tables order by 
table_schema,table_name,engine;
Tendencias
• Entre las principales tendencias se encuentran:
> Mejorar el rendimiento de los motores de
almacenamiento.
> Mejorar el rendimiento de los motores NoSQL actuales.
> Convertirse en el SGBD multipropósito mas utilizado.
Preguntas - Consultas
Bases de Datos
MariaDB

Esteban Saavedra Lopez


CEO AtixLibre
CEO Opentelematics
email: esteban.saavedra@atixlibre.org
estebansaavedra@gmail.com
http://esteban.opentelematics.org

You might also like