La
arquitectura de un SGBD ha de
especificar sus componentes (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.e. 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.
Fuente: unidad1grupo2551