Conociendo DB2 para z/OS

10.04.2015 17:16

DB2 es un sistema de gestión de bases de datos relacional (RDBMS por sus siglas en inlgés) y para realizar dicha gestión cuenta con diferentes estructuras y procesos. La estructura básica del sistema relacional es la tabla, la cual contiene lÍneas y columnas ordenadas o sin ordenar. DB2 basa su funcionamiento en estructuras de sistema y de datos.

Las estructuras del sistema son controladas y utilizadas por DB2 y las estructuras de datos las cuales son utilizadas por los usuarios y organizan a la vez sus datos.

A continuación se muestran las estructuras de datos típicas en DB2 para z/OS:

  • Bases de datos (Databases)
  • Grupos de almacenamiento (Storage groups)
  • Espacios de tablas (Tablespaces)
  • Tablas
  • Índices
  • Vistas

La siguiente figura muestra que una base de datos, que en DB2 es una definición lógica, agrupa a los contenedores de las tablas conocidos como tablespaces asignados a su vez a un grupo de almacenamiento o storage group.

Estructuras del sistema.

DB2 también cuenta con estructuras del sistema, mismas que se listan a continuación:

  • Catálogo (DSNDB06)
  • Directorio (DSNDB01)
  • Archivos de trabajo (DSNDB07)
  • Bases de datos por omisión (DSNDB04)
  • Archivos "Boot Straps"
  • Bitácoras o "Logs"

 

El catálogo de DB2.

 

DB2 proporciona un conjunto de tablas que contienen la descripción de todo lo que se define, tales como bases de datos, table spaces, tablas, índices, alias, sinónimos, vistas, planes, paquetes, secuencias, triggers, procedimientos almacenados, etc.

Concurrencia.

Como sistema gestor de base de datos DB2 tiene un mecanismo de bloqueo que permite a varios usuarios acceder virtualmente a los mismos datos al mismo tiempo. Esta habilidad para la concurrencia elimina la necesidad de replicar los datos o serializar el trabajo. DB2 se auxilia del componente IRLM (Internal Resource Lock Manager) para realizar las funciones de administración de la concurrencia e integridad de los datos.

 

Además, DB2 cuenta con funciones para manejar la integridad y la recuperación. DB2 opera como un subsistema de z/OS, el cual es capaz de trabajar independientemente, y a su vez define una instancia del manejador de base de datos. En z/OS las tareas o procesos de larga duración que habilitan los servicios de DB2, se conocen como "address spaces". Los "address spaces" que conforman un subsistema DB2 típicamente son los que se muestran en la siguiente figura:

DB2 para z/OS utiliza “Cross Memory Services” para implementar su arquitectura de múltiples “address spaces”. Los "address spaces" mostrados en la figura anterior y que forman un subsistema de DB2 son:

  • Servicios del sistema: El espacio de direcciones ssnMSTR
  • Servicios de bases de datos: El espacio de direcciones ssnDBM1
  • La Facilidad de Datos Distribuidos: El espacio de direcciones ssnDIST
  • El IRLM: El IRLMPROC es un componente de DB2 y también es un subsistema separado para permitir el control de acceso a los datos.
  • Los espacios administrados por WLM: Para la ejecución de procedimientos almacenados se pueden asignar más de un "address space".

Para comprender mejor el concepto de espacio de direcciones o "address space" te recomiendo leer la introducción a z/OS que se encuentra en la zona de descargas.

A continuación se muestra un fragmento del proceso de inicialización o "arranque" de la tarea maestra de DB2 en z/OS ("address space" conocido como "master" - ssnMSTR).

 

********************************* TOP OF DATA ****************************************
                   J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E
                                                                               
07.53.40 STC00541 ---- SATURDAY,    05 APR 2014 ----                              
07.53.40 STC00541  IEF695I START DSNMSTR WITH JOBNAME DSNMSTR IS ASSIGNED TO USER DBUSR
07.53.40 STC00541  $HASP373 DSNMSTR STARTED                                    
07.53.40 STC00541  IEF403I DSNMSTR - STARTED - TIME=07.53.40                   
07.53.40 STC00541  DSNY024I  ) DSNYASCP MSTR INITIALIZATION IS STARTING         
07.53.43 STC00541  DSNZ002I ) DSNZINIT SUBSYSTEM DSN SYSTEM PARAMETERS LOAD MODULE NAME IS DSNZPRM
07.53.43 STC00541  DSNZ016I  ) DSNZINIT  873                                    
  873             SUBSYSTEM DSN SYSTEM PARAMETERS ARE AS FOLLOWS:             
  873               SYSTEM PARM  SYS1.DSNLIB.SDSNEXIT(DSNZPRM)      
  873               DSNHDECP     SYS1.DSNLIB.SDSNEXIT(DSNHDECP)      
  873               ACCESS EXIT  SYS1.DSNLIB.SDSNEXIT(DSNX@XAC)      
  873               IDAUTH EXIT  SYS1.DSNLIB.SDSNEXIT(DSN3@ATH)      
  873               SIGNON EXIT  SYS1.DSNLIB.SDSNEXIT(DSN3@SGN)



 

Fin de la primera entrega - Luis Alberto González de la Torriente.