DB2 ARQUITECTURA DE DATOS
Enviado por zostone • 6 de Febrero de 2012 • 2.815 Palabras (12 Páginas) • 1.515 Visitas
1. Modelo de Procesos DB2
La figura mostrada a continuación nos mostrará la representación del Modelo de Proceso DB. Los rectángulos en la figura representan los procesos y las elipses corresponden a los hilos de procesamiento (los threads).
En el proceso principal de DB2 (db2sysc) hay varios hilos de procesamiento y el hilo principal lleva precisamente el mismo nombre de db2sysc. Este proceso genera otros hilos. Cuando una aplicación remota trata de conectarse al servidor usando la sentencia SQL CONNECT, el oyente o los oyentes remotos del protocolo de comunicación reciben este requerimiento y se comunican con un agente coordinador de DB2 (el agente db2agent). Estos pequeños agentes trabajadores realizan operaciones en nombre de DB2. Los pasos son similares cuando la aplicación corre en el mismo servidor, a menos que un agente db2ipccm maneja el requerimiento en lugar del hilo deb2tcpm. Algunas veces el db2agent genera otros agentes que son como los hilos del db2agntp.
En esta figura también podemos apreciar los agentes db2pfchr, db2loggr, db2dlock que pueden ser usados con diferentes propósitos.
Nombre del Proceso Descripción
db2sysc (Linux) ó db2syscs (Win)
Este es el controlador principal o motor del sistema DB2. A partir deDB2 9.5, hay un único motor principal multi-hilo para toda la partición. Todas las Unidades que pueden Despacharse del Motor (Engine Dispatchable Units - EDUs) son hilos dentro de este proceso. El servidor de bases de datos no puede funcionar sin este proceso.
db2acd
Se encarga de realizar tareas automáticas del lado del cliente, tales como el monitor de salud, utilitarios automáticos para mantenimiento y el programador de tareas administrativas. Anteriormente este proceso se llamaba db2hmon.
db2wdog
El “perro guardián” (watchdog) de DB2. Está por encima del proceso principal del motor DB2 y se encarga de liberar recursos en caso que el proceso db2sysc termine anormalmente.
db2vend
Este proceso para ejecutar dentro de un vallado procesos de terceras partes fue introducido en la versión 9.5 de DB2.Todos el código de proveedores de aplicaciones de terceras partes, ejecuta en este proceso fuera del motor. Las aplicaciones de terceras partes son programas no producidos por IBM que pueden interactuar con DB
Nombre del hilo Descripción
db2sysc
El hilo controlador del sistema. Es responsable del arranque y la detención del sistema y el manejo de la instancia en ejecución.
db2tcpcm
Oyente de comunicaciones TCP/IPdb2agentAgente coordinador que realiza operaciones de base de datos en nombre de las aplicaciones (hay al menos uno por conexión, dependiendo si el Concentrador de Conexiones está activado).
2.- Modelo de memoria DB2
El modelo de memoria DB2 consiste de diferentes áreas en memoria a nivel de la instancia, de la base de datos, de la aplicación y de los agentes, tal como se ve en la figura de abajo.
La memoria compartida del manejador de bases de datos es asignada en el momento en que arranca la instancia, pero en general no ocupa mucho espacio. Por otro lado, la Memoria Global de la Base de Datos se asigna cuando ocurre la primera conexión con la base de datos, y en este bloque la agrupación de almacenamientos intermedios es una de las partes más importantes, especialmente en lo que se refiere al rendimiento de las consultas. Es el tamaño de las agrupaciones de almacenamientos intermedios lo que determinará el tamaño total de la Memoria Global de la Base de Datos. Cada agente DB2 usa un área de memoria denominada Memoria Privada del Agente. Cada conexión requiere de un agente, a menos que se utilice el concentrador de conexiones. En un uso típico, cada agente utiliza entre 3 y 5MB. Con el concentrador de conexiones, un agente maneja varias conexiones, reduciendo de esta manera la necesidad de disponer de más memoria física.
3. Modelo de almacenamiento de DB2
En esta sección veremos los siguientes conceptos:
Páginas y Extensiones
Agrupación de almacenamientos intermedios
Espacio de tablas
3.1 Páginas y Extensiones
Una página es la unidad mínima de almacenamiento en DB2. Los tamaños permitidos de páginas son: 4K, 8K, 16K y 32K. Una extensión es un grupo de páginas. Dado que trabajar de a una página por vez sería costosa desde el punto de vista del rendimiento, DB2trabaja con extensiones a la vez. Cuando trabajemos con agrupaciones de almacenamientos intermedios y espacios de tablas deberemos definir el tamaño de la página y de la extensión. Esto lo veremos en las siguientes secciones.
3.2 Agrupaciones de almacenamientos intermedios
Una agrupación de almacenamientos intermedios
Es una sección de memoria real que se usa para contener datos de tablas e índices. Las agrupaciones de almacenamientos intermedios mejoran el rendimiento reduciendo la necesidad de ejecutar operaciones de E/S secuénciales directas y promoviendo lecturas (captación previa) y grabaciones asincrónicas. O sea que DB2 anticipa que páginas serán necesarias y las lee por anticipado desde el disco a la agrupación de almacenamientos intermedios de manera que estén listas para ser usadas. Las agrupaciones de almacenamientos intermedios se crean en memoria en unidades de páginas de 4K, 8K, 16K, y 32K. Por cada base de datos debe haber al menos una agrupación de almacenamientos intermedios y una agrupación de almacenamientos intermedios del mismo tamaño de página de aquellos espacios de tablas definidos en la base de datos.
3.3 Espacios de tablas
Los Espacios de tablas son una interface lógica entre las tablas lógicas y la memoria física del sistema (agrupación de almacenamientos intermedios), y los contenedores (discos).Para crear un espacio de tablas se usa la sentencia
Gestión de espacios de tablas
Los espacios de tablas pueden ser clasificados en base a como se gestionan, lo que se especifica en la sentencia
CREATE TABLESPACE.
Gestionados por el sistema
Este tipo de espacio de tablas es también llamado (System Managed Storage - SMS), lo que significa que el SO se encarga de gestionar el almacenamiento. Estos espacios son fáciles de gestionar y los contenedores son directorios de archivo del SO. Cuando los contenedores son definidos, quedan fijos al momento de ser creados y no hay modo de agregar otros contenedores posteriormente, a menos que
...