Sunteți pe pagina 1din 13

INSTITUTO TECNOLGICO DE TAPACHULA

Administracin De base de
datos
Docente:
M.C.C. Teresa del Carmen Cabrera Gmez
Autores
Mrida Mendoza Carlos Elas
Mrida cortes Sergio Jair

Arquitectura de MySQL
La arquitectura de MySQL, tiene como caracterstica ms
notable el separar el motor de almacenamiento (que se
encarga de los detalles de entrada-salida y representacin de
la informacin en memoria secundaria) del resto de los
componentes de la arquitectura.
Esto permite incluso crear nuevos motores de almacenamiento
especializados para ciertas tareas o tipos de aplicaciones

Motores de almacenamiento
El elemento ms notable de la arquitectura de MySQL es la
denominada
arquitectura
de
motores
de
almacenamiento
reemplazables (pluggable storage engine architecture). La idea de esa
arquitectura es hacer una interfaz abstracta con funciones comunes de
gestin de datos en el nivel fsico.
De ese modo, el gestor de almacenamiento puede intercambiarse, e
incluso un mismo servidor MySQL puede utilizar diferentes motores de
almacenamiento para diferentes bases de datos o para diferentes
tablas en la misma base de datos. Esto permite utilizar el motor de
almacenamiento ms adecuado para cada necesidad concreta.

Los elementos que puede implementar un motor


de almacenamiento son los siguientes:
Concurrencia. Es responsabilidad del motor implementar una poltica de
bloqueos (o no implementar ninguna). Una estrategia de bloqueos por fila
permite una mayor concurrencia, pero tambin consume ms tiempo de
procesamiento en aplicaciones en las que la concurrencia no es realmente
grande.
Soporte de transacciones. No todas las aplicaciones necesitan soporte de
transacciones.
Comprobacin de la integridad
restricciones en el DDL de SQL.

referencial,

declarada

como

Soporte de ndices. Dado que la forma y tipo de los ndices depende mucho de
los detalles del almacenamiento fsico, cada motor de almacenamiento
proporciona sus propios mtodos de indexacin (aunque algunos como los
rboles B casi siempre se utilizan).
Cachs de memoria. La eficiencia de los cachs de datos en memoria depende
mucho de cmo procesan los datos las aplicaciones. MySQL implementa cachs
comunes en el gestor de conexiones y la cach de consultas, pero algunos
motores de almacenamiento pueden implementar cachs adicionales.
Otros elementos para ayudar al rendimiento, como puede ser el uso de
mltiples hilos para operaciones paralelas o mejoras de rendimiento para la
insercin masiva.

Cmo seleccionar el motor de


almacenamiento?
No hay una receta nica que permita definir el motor de
almacenamiento. La seleccin debe hacerse una vez
tenemos el modelo lgico de la base de datos y
conocemos los requisitos de rendimiento y no funcionales
de la aplicacin o aplicaciones que vamos a construir.
La sentencia SHOW ENGINES nos muestra la lista de
motores en MySQL, incluyendo el motor por defecto y los
que no estn disponibles con la configuracin actual.

Los conectores
Los conectores son bibliotecas en diferentes lenguajes de
programacin que permiten la conexin (remota o local)
con servidores MySQL y la ejecucin de consultas. Por
ejemplo, el conector Connector/J permite conectarse a
MySQL desde cualquier aplicacin programada en
lenguaje Java, y utilizando el Java Database Connectivity
(JDBC) API.

El gestor de conexiones
La gestin de conexiones es responsable de mantener las
mltiples conexiones de los clientes. Un gestor de
conexiones inexistente o laxo simplemente creara una
conexin por cada cliente conectado. No obstante, las
conexiones consumen recursos de mquina, y crearlas y
destruirlas son tambin procesos costosos. Por eso, el
gestor de conexiones de MySQL puede configurarse para
limitar el nmero de conexiones concurrentes, y tambin
implementa un pool de conexiones.

El procesamiento y optimizacin de consultas


Cada vez que una consulta llega al gestor de MySQL, se analiza
sintcticamente y se produce una representacin intermedia de la misma.
A partir de esa representacin, MySQL toma una serie de decisiones, que
pueden incluir el determinar el orden de lectura de las tablas, el uso de
ciertos ndices, o la re-escritura de la consulta en una forma ms eficiente.
Existe la posibilidad de utilizar ciertas clusulas en las consultas para
ayudar al optimizador en su tarea, o bien podemos pedirle al servidor
ciertas explicaciones sobre cmo ha planificado nuestras consultas, para
entender mejor su funcionamiento.

La cach de consultas
MySQL implementa un cach de consultas, donde guarda
consultas y sus resultados enteros. De este modo, el
procesador de consultas, antes ni siquiera de plantear la
optimizacin, busca la consulta en la cach, para evitarse
realizar el trabajo en el caso de que tenga suerte y
encuentre la consulta en la cach.

El Control de Concurrencia
El control de concurrencia en un gestor de bases de datos es simplemente el
mecanismo que se utiliza para evitar que lecturas o escrituras simultneas a
la misma porcin de datos terminen en inconsistencias o efectos no
deseados. El mecanismo que se utiliza para controlar este acceso es el de los
bloqueos (locks). La idea es muy simple, cada vez que una aplicacin quiere
acceder a una porcin de los datos, se le proporciona un bloqueo sobre los
mismos.
Lgicamente, varias aplicaciones que quieran leer simultneamente no
tienen ningn problema en hacerlo, de modo que para la lectura se
proporcionan bloqueos compartidos (shared locks).

La gestin de transacciones y
recuperacin
La gestin de transacciones permite dotar de semntica
todo o nada a una consulta o a un conjunto de
consultas que se declaran como una sola transaccin. Es
decir, si hay algn problema y parte de la consulta o
algunas de las consultas no consiguen llevarse a cabo, el
servidor anular el efecto parcial de la parte que ya haya
sido ejecutada. La recuperacin permite volver hacia
atrs (rollback) partes de una transaccin.

I
C
A
R
G
S
A

S-ar putea să vă placă și