Arquitectura De Los SGBD
La arquitectura de un SGBD ha de especificar sus componentes (incluyendo su descripción funcional) y sus interfaces. Trata de conceptos distintos que la arquitectura de la base de datos. Los componentes principales de un SGBD son:
- Interfaces externos - Medios para comunicarse con el SGDB en ambos sentidos (E/S) y explotar a todas sus funciones. Pueden afectar a la base de datos o a la operación del SGBD, por ejemplo:
- operaciones directas con la base de datos: definición de tipos, asignación de niveles de seguridad, actualización de datos, interrogación de la base de datos...
- operaciones relativas a la operación del SGBD: copia de seguridad y restauración, recuperación tras una caída, monitoreo de seguridad, gestión del almacenamiento, reserva de espacio, monitoreo de la configuración, monitoreo de prestaciones, afinado...
- los interfaces externos bien pueden ser utilizados por usuarios (p.e. administradores) o bien por programas que se comunican a través de un API.
- Intérprete o procesador del lenguaje - La mayor parte de las operaciones se efectúan mediante un lenguaje de base de datos. Existen lenguajes para definición de datos, manipulación de datos (p.e. SQL), para especificar aspectos de la seguridad y más. Las sentencias en ese lenguaje se introducen en el SGBD mediante el interfaz adecuado. Se procesan las expresiones en dicho lenguaje (ya sea compilado o interpretado) para extraer las operaciones de modo que puedan ser ejecutadas por el SGBD.
- Optimizador de consultas - Realiza la optimización de cada pregunta y escoge el plan de actuación más eficiente para ejecutarlo.
- Motor de la base de datos - Realiza las operaciones requeridas sobre la base de datos, típicamente representándolo a alto nivel.
- Mecanismo de almacenamiento - Traduce las operaciones a lenguaje de bajo nivel para acceder a los datos. En algunas arquitecturas el mecanismo de almacenamiento está integrado en el motor de la base de datos.
- Motor de transacciones - Para conseguir corrección y fiabilidad la mayoría de las operaciones internas del SGBD se realizan encapsuladas dentro de transacciones. Las transacciones pueden ser especificadas externamente al SGBD para encapsular un grupo de operaciones. El motor de transacciones sigue la ejecución de las transacciones y gestiona su ejecución de acuerdo con las reglas que tiene establecidas (p. eg., control de concurrencia y su ejecución o cancelación).
- Gestión y operación de SGBD - Comprende muchos otros componentes que tratan de aspectos de gestión y operativos del SGBD como monitoreo de prestaciones, gestión del almacenamiento, mapas de almacenamiento.