Este documento presenta una introducción a MariaDB, incluyendo sus características principales como su escalabilidad, flexibilidad y bajo costo. Explica los diferentes motores de almacenamiento disponibles como InnoDB, MyISAM y TokuDB, así como las ventajas y desventajas de MariaDB. Finalmente, señala que las principales tendencias incluyen mejorar el rendimiento de los motores de almacenamiento y convertir a MariaDB en el SGBD multipropósito más utilizado.
Este documento presenta una introducción a MariaDB, incluyendo sus características principales como su escalabilidad, flexibilidad y bajo costo. Explica los diferentes motores de almacenamiento disponibles como InnoDB, MyISAM y TokuDB, así como las ventajas y desventajas de MariaDB. Finalmente, señala que las principales tendencias incluyen mejorar el rendimiento de los motores de almacenamiento y convertir a MariaDB en el SGBD multipropósito más utilizado.
Este documento presenta una introducción a MariaDB, incluyendo sus características principales como su escalabilidad, flexibilidad y bajo costo. Explica los diferentes motores de almacenamiento disponibles como InnoDB, MyISAM y TokuDB, así como las ventajas y desventajas de MariaDB. Finalmente, señala que las principales tendencias incluyen mejorar el rendimiento de los motores de almacenamiento y convertir a MariaDB en el SGBD multipropósito más utilizado.
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