Motores de almacenamiento en MySQL por Mario López y Juan A. Sánchez.

Slides:



Advertisements
Presentaciones similares
Código: HOL-SQL29. Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key) Encriptación.
Advertisements

LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
LA BIBLIA DE MSQL PAG. EXPLAIN; Instructor; que se utiliza para examinar un registro de una tabla. El índice se examina dos veces sobre ambas tablas,
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
BASE DE DATOS OBJETO RELACIONAL
Introducción a LAS Bases de Datos
Sistemas Gestores de Ficheros
Por: Ronald Toscano Pretelt
¿QUÉ SON LAS BASES DE DATOS?
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
Sistema de gestión de las bases de datos (SGBD).
Planificación de la Información.
Cristian Alaniz - Daniel Hielpos. Agenda - Arquitectura - Tipos de Objetos - Lenguaje de Consulta - Transacciones - Backup y Recuperación - Seguridad.
MySQL M.C. Pedro Bello López.
…Tablas DDL.
SQL Lenguaje de consulta estructurado
Bases de Datos Relacionales
Mantenimiento lógico del pc
“Optimización de sentencias MySQL” jueves 26 de septiembre de 2013.
Tunning para MySql.
Fragmentación de Datos
D ISEÑO DE UNA B ASE DE D ATOS. F ASES DEL DISEÑO.
Subconsultas Avanzadas
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Integridad Referencial 1. Integridad referencial 2.
Bases de Datos Oracle Optimización
tipo de datos uniqueidentifier
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
PostgreSQL: Parte 1 Integrantes: Álvaro Marciales Claudio Torrez.
Aprenda MySQL en 120 minutos Tutorial. Dirigido a...
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
Elaborado por: Guillermo Baquerizo I Término
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
1 Sistemas Gestores de Bases de Datos MySQL vs PostgreSQL Leyre Pérez Alba & Marta Balbás Ostáriz Leyre Pérez Alba & Marta Balbás Ostáriz.
PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
Bases de datos:MYSQL. ¿Qué es una base de datos? Colección de datos persistentes, relacionados y estructurados. Persistentes: se almacenan en archivos.
Bases de Datos 1 Prof. Daniel Obando Fuentes. USE USE {database}; Cambia el contexto de base de datos Es decir, dice cuál es la base de datos que se utilizará.
Tema 2: Base de datos relacionales
Structured Query Language (Lenguaje Estructurado de Consultas)
BASES DE DATOS MySQL.
LENGUAJE ESTRUCTURADO DE CONSULTAS
Conceptos de MySQL Mayo 2005 Jordi Llonch
1 Por lo tanto, la creación de las tablas en el proceso de programación en Oracle juegan un papel muy importante. En el momento de crear las tablas se.
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
MARTÍNEZ VALLEJO ISAMAR SCANDA MONTOYA MENDOZA DIANA RUBI GRUPO: 304.
Teoría de Sistemas Operativos Sistemas distribuidos.
Base de Datos I. SQL es el lenguaje estándar para trabaja con base de datos relacionales. MySQL, el sistema de gestión de bases de datos SQL Open Source.
Manual violento de Navicat
Mínimo equipo necesario Un equipo 586 con 128MB de RAM como mínimo es recomendado para un servidor de Firebird 2.0. Windows demanda mas CPU y memoria que.
Tema 11 Bases de Datos y el Lenguaje SQL
OIS: Object's Indexed Serialiation Version Un sistema jerárquico de almacenamiento de objetos TOL de estructura arbitraria basado en ficheros binarios.
PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
SQL Server Compact Edition
Diccionario/Directorio de Datos
¿Qué es una base de datos? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Base de datos (MySQL) Ing. Linda Masias Morales Introducción Base de datos.
Bases de datos ITecnológico San Agustín1 BASES DE DATOS Conceptos Básicos Paulo César Acosta Lozano –
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
UN EJEMPLO DE LECTURA CONSISTENTE EN INNODB
Transcripción de la presentación:

Motores de almacenamiento en MySQL por Mario López y Juan A. Sánchez

¿Qué es un motor de almacenamiento en un sistema gestor de bases de datos?

¿Por qué son importantes los motores de almacenamiento?

¿Cómo saber que motores están disponibles?  show engines;

Motores y diferencias Cuatro funcionalidades clave:  Tipos de datos  Bloqueo de datos  Indexado  Transacciones Y tenemos que hablar también de...

ACID Atomicity, Consistency, Isolation and Durability.  Atomicidad  Consistencia  Aislamiento  Durabilidad

Motores de almacenamiento  A continuación, una breve explicación de los diferentes motores de almacenamiento de datos para MySql.

MyISAM  Se basa en el antiguo ISAM.  Motor que usa MySQL por defecto.  Límite de 2^32 registros  Máximo de 64 índices por tabla  Máximo de 16 columnas por índice  Los datos son independientes de la máquina y el sistema operativo  Permite campos índice como NULL  BLOB y TEXT pueden ser índices  Permite un gran tamaño en las tablas (hasta 256TB)‏  No soporta transacciones  Bloquea los datos a nivel de tabla  No permite “claves ajenas”  Rapidez de las operaciones de lectura.

Ejemplo de creación de una tabla: CREATE TABLE pruebaMyISAM ( codigo varchar(5) default NOT NULL, descripcion varchar(255) default NULL, PRIMARY KEY (codigo)‏ ) ENGINE=MyISAM;

MERGE  Permite combinar varias tablas  Límite de 2^32 registros  Las tablas “base” deben ser MyISAM  Bloqueo a nivel de tabla  No tiene índices, usa los de las tablas “base” (salvo FULLTEXT)‏  La lectura es más lenta al tener que ir consultando la clave en cada una de las tablas subyacentes  No permite REPLACE  No soporta transacciones  En su creación no comprueba que las tablas que usa existan y tengan una estructura idéntica

Ejemplo de creación de una tabla a partir de otras dos: CREATE TABLE t1 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, message CHAR(20)); CREATE TABLE t2 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, message CHAR(20)); INSERT INTO t1 (message) VALUES ('Testing'),('table'),('t1'); INSERT INTO t2 (message) VALUES ('Testing'),('table'),('t2'); CREATE TABLE total ( a INT NOT NULL AUTO_INCREMENT, message CHAR(20), INDEX(a))‏ TYPE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;

MEMORY (HEAP)‏  Almacena todos los datos en memoria.  Únicamente guarda la estructura de las tablas  Bloquea los datos a nivel de tabla  Puede usar índices HASH  No soporta BLOB ni TEXT  No soporta transacciones  Resulta extremadamente fácil perder los datos  Útil para crear tablas temporales.

FEDERATED  Permite el acceso a una base de datos MySQL remota como si fuese local.  MySQL no instala este motor por defecto  No soporta transacciones  No contempla el bloqueo de datos  No permite ALTER

Ejemplo de tabla en la que se le indica la dirección de los datos: CREATE TABLE federated_table ( id int(20) NOT NULL auto_increment, name varchar(32) NOT NULL default '', other int(20) NOT NULL default '0', PRIMARY KEY (id), KEY name (name), KEY other_key (other)‏ )‏ ENGINE=FEDERATED DEFAULT CHARSET=latin1 COMMENT st_table';

ARCHIVE  Almacenar muchos datos sin índices en poco espacio.  Gran compresión de los datos con zlib  Sólo permite INSERTS y SELECTS  Bloquea los datos a nivel de registro  Almacena los datos en un buffer hasta que los comprime e inserta  No soporta transacciones  Útil para el almacenamiento de históricos o logs.

CSV  Almacena la información.  Cada tabla es un fichero que contiene los datos.  Permitir exportar los datos de forma que puedan ser importados fácilmente por algunas suites ofimáticas.  No soporta indexación ni transacciones

BLACKHOLE  Crear un log con la consulta SQL utilizada.  No almacena ningún dato.  No soporta índices, ni transacciones...  Su principal utilidad es mantener un servidor esclavo que mantenga un log del sistema principal.

NDB  Motor de almacenamiento de los clúster de MySQL  Proporciona alta disponibilidad mediante redundancia.  Proporciona alto rendimiento mediante fragmentación de datos sobre los grupos de nodos.  Proporciona alta escalabilidad mediante la combinación de las dos  características anteriores.  Los datos se guardan en memoria, pero los logs van a disco.  Útil cuando queremos un sistema veloz, con muchas transacciones y con una gran redundancia.

BerkeleyDB (o BDB)‏  Provee altas prestaciones.  Almacenamiento basado en hash.  MySQL no lo instala por defecto  Máximo de 31 índices por tabla  Máximo de 16 columnas por índice  Hasta 256TB  Sí soporta transacciones  Usa índices HASH  MySQL necesita una clave primaria por cada tabla BDB, en caso de no existir creará una oculta  El bloqueo interno de las tablas se hace a nivel de página (8192 bytes)‏  Abrir muchas tablas es bastante lento  Cada tabla se almacena en la ruta de creación definida y no se puede cambiar de directorio salvo usando mysqldump

InnoDB Características más importantes:  Caché de índices en memoria --> muy alto rendimiento.  ACID compliant  Claves ajenas y transacciones --> integridad referencial  Bloqueo a nivel de registro, no bloquea la lectura durante los selects --> mejora la concurrencia  Recuperación de caídas  Tablas de hasta 1000 columnas  Tamaño máximo por tabla de 64TB  No mantiene un contador interno de registros --> select count(*) from tabla lento al tener recorrer todo el índice‏

Ejemplo de uso de transacciones: mysql> CREATE TABLE CUSTOMER (A INT, B CHAR (20), INDEX (A))‏ -> ENGINE=InnoDB; Query OK, 0 rows affected (0.00 sec)‏ mysql> BEGIN; Query OK, 0 rows affected (0.00 sec)‏ mysql> INSERT INTO CUSTOMER VALUES (10, 'Heikki'); Query OK, 1 row affected (0.00 sec)‏ mysql> COMMIT; Query OK, 0 rows affected (0.00 sec)‏ mysql> SET AUTOCOMMIT=0; Query OK, 0 rows affected (0.00 sec)‏ mysql> INSERT INTO CUSTOMER VALUES (15, 'John'); Query OK, 1 row affected (0.00 sec)‏ mysql> ROLLBACK; Query OK, 0 rows affected (0.00 sec)‏

| A | B | | 10 | Heikki | row in set (0.00 sec)‏ mysql> SELECT * FROM CUSTOMER; Resultado:

FALCON  Futuro motor de almacenamiento para MySQL 6.0.  Diseñado para entornos de servidores Web de alto volumen.  Cumple ACID  Permite recuperación de estados / datos en caso de caídas  Permite una alta concurrencia (bloqueo a nivel de registro)‏  Caché de datos muy rápida y potente  Incluye tablas para la monitorización de rendimiento y errores  Permite una configuración simple

Referencias        engine.html     confalcon.html   