teles
n ısico - MySQL
Bases de Datos III
Dise˜o F´
n
ısico - MySQL
Enxe˜ar´ Inform´tica
n ıa
a
Curso 2012/2013
Miguel R. Luaces
Laboratorio de Bases de Datos
Universidade da Coru˜a
n
Enxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
n ısico - MySQL
Contenidos
1
Introducci´n a MySQL
o
2Medici´n de rendimiento y perfilado
o
Medici´n del rendimiento
o
Perfilado de aplicaciones
3
Replicaci´n
o
Enxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
n ısico - MySQL
Introducci´n a MySQL
o
Contenidos
1
Introducci´n a MySQL
o
2
Medici´n de rendimiento y perfilado
o
Medici´n delrendimiento
o
Perfilado de aplicaciones
3
Replicaci´n
o
Enxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
n ısico - MySQL
Introducci´n a MySQL
o
MySQL Community Server
Versi´n actual: 5.6.11
o
Documentaci´n: http://dev.mysql.com/doc/
o
Funciona sobre todas las plataformas: Mac OS X, Windows,
GNU/Linux, Solaris,FreeBSD
Los ejemplos de estas transparencias se han probado en Ubuntu
12.10 LTS
Punto diferenciador: arquitectura diferente a otros SGBDs
Orientado a entornos de gran demanda (ej.: aplicaciones web)
OLTP
Aplicaciones incrustadas
Data warehouse
Indexado de contenido
Enxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
nısico - MySQL
Introducci´n a MySQL
o
MariaDB
An enhanced, drop-in replacement for MySQL
Versi´n actual: 5.5.30
o
Documentaci´n: https://kb.askmonty.org/en/
o
Funciona sobre todas las plataformas: Mac OS X, Windows,
GNU/Linux
Mejoras sobre MySQL 5.5:
M´s motores de almacenamiento (ej.: No-SQL en 10.0)
a
Optimizaciones
Extensiones (ej.: virtual columns)
Completamente Open SourceEnxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
n ısico - MySQL
Introducci´n a MySQL
o
Arquitectura de MySQL
Clientes
Conexión / Control de subprocesos
Caché de
consultas
Analizador
sintáctico
optimizador
API del motor de
almacenamiento
(“Iniciar transacción”,
“recuperar registro con
clave x”)Motores de almacenamiento
Enxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
n ısico - MySQL
Introducci´n a MySQL
o
Arquitectura de MySQL
Caracter´
ıstica unica: separaci´n de tareas de servidor (conexiones,
´
o
procesamiento de consultas, optimizaci´n) de tareas de
o
almacenamiento y recuperaci´n de datos
o
Sepuede elegir el motor de almacenamiento a nivel de tabla
Se pueden cargar motores de almacenamiento en tiempo de ejecuci´n
o
El procesamiento de consultas se realiza de la siguiente manera:
Cada consulta es atendida por un thread del pool servidor
La cach´ consultas almacena sentencias select junto con su resultado
e
Si la consulta no est´ en cach´, tras el an´lisis sint´ctico, se realizaa
e
a
a
la optimizaci´n del plan de ejecuci´n
o
o
Reescritura de la consulta
Determinaci´n del orden de acceso a las tablas
o
Selecci´n de los ´
o
ındices a utilizar
Inclusi´n de las caracter´
o
ısticas espec´
ıficas de los motores de
almacenamiento
Enxe˜ar´ Inform´tica
n ıa
a
Miguel R. Luaces (luaces@udc.es) - Juan Ram´n L´pez Rodr´
o o
ıguez
BD3: Dise˜o F´
n ısico- MySQL
Introducci´n a MySQL
o
Control de concurrencia
Los bloqueos permiten evitar que un cliente lea un fragmento de
datos mientras otro lo est´ cambiando
a
Hay dos tipos de bloqueos: compartidos (lectura) y exclusivos
(escritura)
Los SGBD permiten distintas granularidades a los bloqueos (tabla,
p´gina o fila)
a
Los bloqueos de fila minimizan la cantidad de datos por lo que...
Regístrate para leer el documento completo.