Arquitectura MySQL

style=»display:block; 0cm 0cm 10pt;»> MySQL Arquitectura:
La arquitectura MySQL consta de cinco subsistemas principales que trabajan en conjunto para responder a una solicitud hecha al motor de base de datos MySQL.
style=»display:block; 0cm 0cm 10pt;»> El motor de consulta
style=»display:block; 0cm 0cm 10pt;»> El Storage Manager
El Buffer Manager
El Administrador de transacciones
style=»display:block; 0cm 0cm 10pt;»> Recovery Manager

style=»display:block; 0cm 0cm 10pt;»> Calibri;»> El motor de consulta style=»font-family:
estilo style=»display:block; 0cm 0cm 10pt;»> El sistema de sub optimizador de motores de consulta contiene tres componentes interrelacionados
· La Sintaxis Analizador
· El optimizador de consultas
· La ejecución de componentes
La sintaxis de intérprete para la sintaxis correcta de los comandos emitidos que puedan ser entendidos por el motor MySQL. También comprueba los bienes mencionados en la consulta para resolver si el usuario que ejecuta la consulta tiene privilegios mínimos para hacer la operación
El optimizador de consultas resuelve un mejor plan de ejecución para cualquier consulta que se emitió teniendo probabilidad de su uso y los índices que se crean en el objeto. También permite a los usuarios especificar el plan de ejecución, si es necesario
style=»display:block; 0cm 0cm 10pt;»> La ejecución de componentes interpreta el plan de ejecución y en base a la información recibida, hace que las peticiones de los otros componentes para recuperar los registros.
style=»display:block; 0cm 0cm 10pt;»> El Administrador de almacenamiento:
style=»display:block; 0cm 0cm 10pt;»> Las interfaces de Tivoli Storage Manager con el sistema operativo (OS) para escribir datos en el disco de manera eficiente. El gestor de almacenamiento se escribe en el disco todos los datos de las tablas de usuarios, índices y registros, así como los datos internos del sistema
La caché de consultas:
Un mecanismo que almacena el conjunto de resultados de una consulta en la memoria por un monto estipulado de tiempo que depende de la . frecuencia a la cual se solicita cualquier consulta de la base de datos que reduce drásticamente la cantidad de tiempo que se requiere para el motor de base de datos para proporcionar los resultados
El Buffer Manager:
style=»display:block; 0cm 0cm 10pt;»> Este subsistema se encarga de todas las cuestiones de gestión de la memoria entre el motor de consultas y el Administrador de almacenamiento. La caché de consultas reside en el gestor de Buffer que en realidad se las arregla para almacenar los resultados más recientes sobre el mismo para un acceso más rápido.
style=»display:block; 0cm 0cm 10pt;»> El Administrador de transacciones> La función del gestor de transacciones es el de facilitar la concurrencia en el acceso de mesa. Este subsistema proporciona una instalación de bloqueo para asegurar que múltiples usuarios simultáneos accedan a los datos de una manera coherente y sin corromper o dañar los datos de ninguna manera. Control de transacciones se lleva a cabo a través del gestor subcomponente de bloqueo, que los lugares y comunicados de cerraduras en los diversos objetos que se utilizan en las transacciones. Cada controlador tabla transaccional implementa su propio gestor de transacciones para manejar todas las necesidades de bloqueo y concurrencia.
style=»display:block; 0cm 0cm 10pt;»>
style=»display:block; 0cm 0cm 10pt;»> Recovery Manager
style=»display:block; 0cm 0cm 10pt;»>
El trabajo del Administrador de recuperación es mantener copias de los datos para su posterior recuperación, en caso de una pérdida de datos. También registra los comandos que modifican los datos y otros eventos significativos dentro de la base de datos.
style=»display:block; 0cm 0cm 10pt;»> Hasta el momento, sólo el InnoDB y BDB proporcionan manejadores de mesa de gestión de recuperación. El manejador de MyISAM no tiene procedimientos de recuperación de transacciones, pero sí proporciona mecanismos que se aplican ciertas funciones de recuperación en caso de una interrupción del servidor; estas características «arreglo» las incoherencias internas que puedan producirse como consecuencia de un accidente de este tipo. Tales inconsistencias suelen estar relacionados con los índices no se actualizan correctamente para reflejar el contenido de una tabla o registros que se están incompletamente escrito a una base de datos.

MySQL Extensibilidad:
style=»display:block; 0cm 0cm 10pt;»> (MySQL no soporta procedimientos almacenados)
style=»display:block; 0cm 0cm 10pt;»> En la mayoría de los productos RDBMS, puede ampliar las capacidades de la base de datos mediante el uso de procedimientos almacenados. La capacidad de programación por lo general se extendió aún más por mejoras en SQL que contiene instrucciones de control de flujo y la lógica condicional, como SQL Server hace con T-SQL y Oracle con PL / SQL.
Hasta el momento, MySQL no incluye soporte para procedimientos almacenados, pero uno de los grandes beneficios de este RDBMS es su extensibilidad . En consonancia con sus raíces de código abierto, MySQL hace que el código fuente original disponible como parte de la distribución, lo que permite a los desarrolladores añadir nuevas funciones y características que se compilan en el motor como parte del producto de la base. MySQL también permite a las bibliotecas independientes de C y C + + que se cargan en el mismo espacio de memoria como el motor cuando MySQL se inicia.
style=»display:block; 0cm 0cm 10pt;»> Cualquiera de estos métodos permitirá a los usuarios interactuar con su funciona de la misma manera como lo haría con cualquier otra de las funciones ya incorporadas disponibles en MySQL, como SUM () o AVG (). Dado que estas funciones se ejecutan en el mismo espacio de memoria como MySQL, y debido a que se ejecutan en el servidor donde se encuentra MySQL, usándolos minimiza el tráfico de red entre el programa de llamada y el servidor, con lo que incrementa enormemente el rendimiento.
style=»display:block; 0cm 0cm 10pt;»> Puede agregar funciones a MySQL a través de una interfaz de función definida por el usuario especial. Funciones definidas por el usuario se crean / libraries inicialmente como especiales C C + + y luego se agregan y quitan dinámicamente mediante las sentencias CREATE FUNCTION y DROP FUNCTION. Funciones definidas por el usuario vienen con la carga adicional de tener que instalar todas sus bibliotecas con cada instalación de MySQL, sin embargo, esto hace que una implementación más rápida, ya que se puede cargar estas funciones en la distribución binaria en lugar de tener que pasar por la molestia de compilar MySQL de nuevo para incorporar las nuevas funciones. Además, por lo general hay una buena probabilidad de que sus bibliotecas seguirán funcionando sin cambios como nuevas versiones de MySQL son liberados.
style=»display:block; 0cm 0cm 10pt;»> También puede agregar funciones (incorporadas) Funciones MySQL nativos. Se compilan en el motor del servidor MySQL y se convierten en una parte permanente de la instalación de MySQL en sí. Esto hace que las nuevas instalaciones mucho más fácil de utilizar las bibliotecas, porque una vez que ha definido su distribución, puede estar seguro de que todas sus instalaciones posteriores contendrán las funciones que se han agregado. Por otro lado, debe volver a compilar y volver a crear su distribución para cada nueva versión de MySQL.
style=»display:block; 0cm 0cm 10pt;»>