Sistema Gestor de Bases de
Datos
No podremos aspirar a que nuestras aplicaciones de BD funcionen bien si no conocemos la arquitectura del motor de la BD, el servidor.
Es indispensable conocer los factores y parámetros que influyen en el funcionamiento de nuestro SGBD para poder solucionar los problemas que se pueden plantear en cuanto nos salgamos de las aplicaciones estándares y básicas de BD, o en cuanto tengamos algún problema.
La siguiente unidad aborda la arquitectura del SGBD Oracle y da una visión lo suficientemente profunda del mismo como para que podamos entender cómo funciona.!
Arquitectura
La Arquitectura general de Oracle consiste de varios
procesos corriendo en la máquina!
donde reside la instancia, más los
espacios de memoria dedicados a ejecutar procesos!
específicos o al almacenaje de
información de cada proceso y la base de datos física!
propiamente tal, con sus archivos de
control, de datos y de transacciones!
Vista general de la arquitectura de Oracle!
!
La arquitectura ORACLE tiene tres componentes básicos que son:!
!
Las estructuras de memoria para almacenar datos y el
código ejecutable.
Los procesos que corren el sistema de bases de datos y
las tareas de cada usuario conectado a la base de datos.
Los archivos que sirven para el almacenamiento :sico, en disco, de la información de la
base de datos.
Oracle
• Porciones de memoria usadas para almacenar código que está siendo o puede ser ejecutado.
• El tamaño de esta área es fijo y depende del sistema operaCvo.
Área de código de programas:
• Cada vez que un proceso de usuario se conecta a la BD y se crea una sesión se le aloja un área global del programa.
• ConCene datos e información de control de dicho proceso
Area global del programa:
• Cuando una consulta solicita una ordenación de un resultado, ORACLE uCliza una zona de memoria del proceso de usuario.
• El tamaño de este área puede crecer según las necesidades hasta un valor máximo (SORT_AREA_SIZE).
• Si la ordenación requiere más espacio se recurre a un proceso de ordenación parcial y mezcla de resultados.
Área de ordenación:
Estructuras de memoria!
Cuando se arranca la BD, Oracle reserva un área de memoria llamada System Global Area (SGA) y arranca una serie de procesos. Una instancia es la combinación de la SGA y los procesos.!
!
Estructuras básicas asociadas a una instancia:!
Area global del sistema:
Búferes del bloque
de datos (DBB): Búfer del registro
de rehacer: Fondo
comparCdo:
• Bufer circular que mantiene información sobre los cambios realizados en la BD.!
• Información necesario par
reconstruir los cambios hechos a la BD por las instrucciones: insert, update, delete, create, alter o drop!
.!
• Existe un proceso encargado de escribir esta información en el fichero de rehacer
correspondiente.!
!
• El tamaño de este bufer se
especifica mediante el parámetro LOG_BUFFER.
• Es un área donde se encuentran construcciones tales como el área de SQL compartida y la cache del
diccionario de datos.!
• Cada sentencia SQL se representa por una parte privada y una compartida.!
Área compartida: árbol de análisis y el plan de ejecución de la sentencia SQL.!
Área privada contiene variables de enlace y búferes temporales.!
!
• Información almacenada en la caché del diccionario de datos:!
⁻ Nombre de todas las tablas y vistas de la BD.!
⁻ Nombre y tipos de todas las columnas de las tablas de la BD.!
⁻ Privilegios de todos los usuarios.!
Tamaño de este área:
SHARED_POOL_SIZE!
• Es una porción del SGA que almacena los bloques de datos más
recientemente usados.!
• Pueden contener datos modificados todavía no escritos a disco.!
• Aumenta la eficiencia del sistema ya que se requieren menos accesos a disco.!
• Se organizan en dos listas: buferes sucios y LRU (menos usados
recientemente).!
• LRU: contiene búferes libres, búferes que están siendo accedidos y búferes que han sido modificados y no han sido trasladados a la de búferes sucios.!
Procesos!
!
Procesos de
Usuario Procesos de Oracle
Procesos Servidores
• Compilan y ejecutan las sentencias SQL.
• Leen los bloques de datos desde el disco a los buferes.
• Devuelve el resultado de las operaciones a la aplicación.
Procesos Background
• Supervisor del sistema (SMON).
• Escritor de la BD (DBWR).
• Supervisor del proceso (PMON).
• Punto de control (CKPT).
• Escritor de registros (LGWR).
• Archivador (ARCH).
• Recuperador (RECO).
• Bloqueo (LCKn).
• Despachador (Dnnn).
son las aplicaciones en sí, que realizan peCciones a la BD.
Los procesos se dividen en dos categorías:
procesos de usuario y procesos de Oracle.!
!
Los procesos ORACLE se pueden dividir en 2 tipos:!
!
Procesos servidores: atienden las peticiones del usuario y se comunican con ORACLE a través de SGA.!
!
Procesos background gestionan los recursos de la BD.!
!!
!
Los archivos que maneja ORACLE se clasifican en cuatro grupos como se observa en la siguiente figura:!
!!!!!!
Los Archivos de datos (DataFile).- estos archivos sirven para el almacenamiento físico de las tablas, índices o
agrupamientos (clusters) y procedimientos. Estos Archivos, son los únicos que contienen los datos de los usuarios.!
!
Los Archivos!
Operaciones que realiza un SGBD
1. Operaciones que afectan a toda la Base de Datos!
• La creación!
• La estructuración!
• Consultas Globales!
2. Operaciones que afectan a los datos en concreto!
• Actualizaciones : Añadir, Eliminar , Modificar.!
• Consulta selectiva!
Modelos
Jerárquicos En Red
Relacionales
MulCdimensionales
De Objetos
Lenguaje de Consulta SQL
El lenguaje estructurado de consultas, más comúnmente llamado SQL, lo conforman una serie de comandos, cláusulas y funciones que permiten realizar cualquier operación sobre la información almacenada en la base de datos.SQL no es exactamente un lenguaje de programación pero lleva implícita la complejidad de estas herramientas. !
En realidad, los sistemas gestores de bases de datos como Microso\
Access o el mismo OpenOffice Base Cenen como principal fin ocultar el lado oscuro de este lenguaje mediante el uso de uClidades gráficas.
Aunque si tu intención es llegar a dominar el mundo de las bases de datos es imprescindible conocer ciertos aspectos de SQL.!
Algunos sistemas gestores de bases de datos, (DBMS)
MySql: MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versión comercial, en lo único que se diferencia de la versión libre, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de otra manera, se vulneraría la licencia GPL. Se caracteriza por su rapidez y robustez.!
!
PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.!
Entre los diferentes tipos de software de bases de datos o sistemas gestores de bases de datos, podemos destacar:!
Algunos sistemas gestores de bases de datos, ( DBMS )
Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.!
!
Microsoft SQL Server: es un sistema para la
gestión de bases de datos producido por
Microsoft basado en el modelo relacional
cuya principal función es almacenar y
consultar datos solicitados por otras
aplicaciones. Se utiliza para manejar
grandes volúmenes de informaciones.!
Bibliografía!
Ruela, J. (2016, Enero 19). Los gestores de bases de datos más usados.
INESEM. Recuperado de:
https://revistadigital.inesem.es/informatica-y-tics/los-gestores-de-bases-de- datos-mas-usados/ !
!!
Hernandez, N. (2014). EJEMPLOS DE SGBD.emaze. Recuperado de:
https://www.emaze.com/@AFZFLRZC !