Arquitectura Mysql
1
Visión general de la arquitectura de MySQL 5.1.
Miguel-Angel Sicilia
This work is produced by The Connexions Project and licensed under the Creative Commons Attribution License
∗
†
Abstract
Se describen las principales funciones y la arquitecura lógica del gestor de bases de datos MySQL 5.1., resaltando el papel de la arquitectura de gestores dealmacenamiento reemplazables.
1 Arquitectura de MySQL
La arquitectura de MySQL
1
tiene como característica más notable el separar el motor de almacenamiento
(que se encarga de los detalles de entrada-salida y representación de la información en memoria secundaria) del resto de los componentes de la arquitectura. Es decir, el diseño del gestor está preparado para que se pueda cambiar elgestor de almacenamiento. Esto permite incluso crear nuevos motores de almacenamiento especializados para ciertas tareas o tipos de aplicaciones.
1.1 Arquitectura lógica de MySQL
La siguiente gura es una visión abstracta de la arquitectura lógica de MySQL. La gura hace una división entre los componentes que conforman el servidor, las aplicaciones cliente que lo utilizan y las partes del sistemaoperativo en las que se basa el almacenamiento físico.
∗ Version
1.1: Dec 16, 2008 3:31 am US/Central
1 Este
† http://creativecommons.org/licenses/by/2.0/
documento cubre hasta la versión 5.1. de MySQL
http://cnx.org/content/m18938/1.1/
Connexions module: m18938
2
Figure 1
Las utilidades y herramientas de MySQL son los programas y aplicaciones que se incluyen con ladistribución del gestor, o que pueden instalarse como aplicaciones adicionales. Estas incluyen las herramientas de backup, el navegador de consultas (QueryBrowser), las aplicaciones administrativas de interfaz gráco y la herramienta de diseño MySQL Workbench, entre otras.
1.1.1 Motores de almacenamiento
El elemento más notable de la arquitectura de MySQL es la denominada arquitectura de motores dealmacenamiento reemplazables (pluggable storage engine architecture). La idea de esa arquitectura es hacer una interfaz abstracta con funciones comunes de gestión de datos en el nivel físico. 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 enla misma base de datos. Esto permite utilizar el motor de almacenamiento más adecuado para cada necesidad concreta. También permite que terceros puedan implementar motores de almacenamiento nuevos para necesidades especícas, o adaptar el código de los existentes a ciertos requisitos de almacenamiento. Así, las interfaces denidas por
http://cnx.org/content/m18938/1.1/
Connexions module:m18938
3
MySQL aíslan el resto de los componentes de la arquitectura de las complejidades de la gestión física de datos, facilitando el mantenimiento de los motores de almacenamiento. También esto permite que ciertos motores de almacenamiento no implementen parte de los servicios, lo cual les hace inapropiados para algunas aplicaciones pero más ecientes para otros. Por ejemplo, un motor dealmacenamiento que no implementa bloqueos en la base de datos no debe utilizarse en aplicaciones multi-usuario, pero la ausencia de sobrecarga de procesamiento en la gestión de los bloqueos para el acceso concurrente lo hará mucho más eciente para una aplicación monousuario. En consecuencia, una primera tarea de diseño físico en MySQL es la de decidir el motor de alma-
cenamiento más apropiado.Los elementos que puede implementar un motor de almacenamiento son los siguientes:
•
Concurrencia. Es responsabilidad del motor implementar una política de bloqueos (o no implementar ninguna). Una estrategia de bloqueos por la permite una mayor concurrencia, pero también consume más tiempo de procesamiento en aplicaciones en las que la concurrencia no es realmente grande.
• • • •...
Regístrate para leer el documento completo.