SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
L        afamilia de productos DB2 Universal Darabase de IBM consiste en servidores de bases de datos
           y un conjunto de productos relacionados. DB2 Universal Database Server está disponible en
           muchas plataformas hardware y sistemas operativos, abarcando desde mainjrames (grandes
  ordenadores centrales) y grandes servidores a estaciones de trabaje e incluso a pequeños dispositivos
  de bolsillo. Se ejecuta en una serie de sistemas operativos IBM y de otras, marca". Everyplace Bdition
  soporta sistemas operativos tales como PalmOS, Wmdows CE yotros. Las aplicaciones pueden migrar
  fécílrnente desde las plataformas de gama baja a servidores de gama alta. Además del motor del núcleo
   de la base de datos, la familia DB2 consta también de varios otros productos que proporcionan herra-
   mientas, administración, replicas. acceso a datos distribuido, acceso a datos generalizados, aLAP y
   otras muchas caracreífsticas. En la Figura 26.1 se describen los diferentes productos en la familia.
       El origen de DB2 se remonta al proyecto System R en el Centro de Investigación de Almadén
   (Almaden Research Center) de IBM (entonces denominado Laboratorio de investigación de San
  José de IBM; IBMSan Jose Research Laboratory). El primer producto DB2 se lanzó en 1984 sobre
  la plataforma mainframe de IBM. Fue seguido por otras versiones para otras plataformas. IBM ha
  mejorado continuamente el producto DB2 en áreas tales como procesamiento de transacciones
  (registro histórico de escritura anticipada y los algoritmos de recuperación ARIES),'procesamientb
  y optimización de consultas (proyecto de investigación Starbursr), procesamiento en paralelo (DB2
  Parallel Edition}, soporte para bases de. datos activas (restricciones y disparadores) y soporte rela-
  cional orientado a objetos aprovechando las innovaciones de su división de investigación. Se pue-
  den ver las notas bibliográficas para referencias que proporcionan más detalles.
      El motor de la base de datos DB2 está disponible 'en cuatro bases de código diferentes: (1)
 OS/390. (2) VM, (3) AS/4QO y (4) resto de plataformas. Los elementos comunes en todas estas
 bases de código son interface-s externas (en concreto el lenguaje de definición de datos (LDD) y
 SQL) y herramientas básicas tales como administración. Sin embargo, existen diferencias como
 resultado de diferentes historias de desarrollo para las bases de código. El resto de este capítulo se
 enfocará en DB2 Universal Database System de plataformas Unix, Windows y OS/2. Se reseña-
 rán las características específicas de interés en otros sistemas DBl cuandose considere apropiado.
 Servidores de bases de datos
     DB2 UDB para Unix. Windows, OS/2, Linux
     DB2 UDB para OS/390
     DB2 UDB para AS/400
     DB2 para VMNSE

 Desarrollo de aplicaciones
                                                          Gestión de contenidos
    VisualAge para Java, C++
                                                              ContentManager
    VisualAge Generatór
                                                              Ccnteni Manager VideoCharger
    DB2 Forms para OS/390
    Lotus Approach
                                                          Herramientas de gestión de bases de datos
                                                              DB2 Control center
Inteligencia de negocios
                                                              DB2 Adtnin Tools para OS/390
     DB2 OLAP Servar
                                                              DB2 Buffer Pool Tcot
     DB2 Intelligent Miner
                                                              DB2 Estlmatorpara 05/390
     DB2 Spatial Extender
                                                              DB2. Pelformance Monitor
     DB2 werebocse Manager
                                                              DB2 Visual Explain
     OMF para OS1390
                                                              DB2 Query Patroller
                                                              etc.
Herramientas para e! negocio electrónico (E-Business)
                                                         Acceso móvil a datos
    DB2 Net Search Extender
                                                             DB2 EveryPlace
    DB2 XML Extender
                                                             DB2 Satellite Edition
    Net.Deta
    DB2 para Websphere
                                                         Multimedia
IntegraciÓn de datos
                                                             DB2 ObjeetRelational Extenders
     DB2 DataJoiner
                                                             Digital Lfbrerv ,
     DataLinks
    Data Replication servces
    DB2 Connect

FIGURA 26.1. Pamitiada productos 082.


                                           '"
FUNDAMENTOS              DE BASES               DE DATOS




    La mayor parte del diseño de base de datos y herra-                                      terfsticas. Otra herramienta permite al administrador
    mientas CASE se puede utilizar para diseñar una base                                     obtener un conjunto completo de instrucciones LDD
    de datos DB2. En particular, las herramientas de mode-                                   pata una base de datos incluyendo espacios de tablas,
    lado de datos líderes tales como ERWin y Rarional Rose                                   tablas, índices, restricciones, disparadores y-funciones
    permiten al diseñador generar sintaxis del LOO espe-                                     que crean una réplica exacta del esquema de la base de
    cífica de DB2. Por ejemplo. la herramienta UML Data                                      datos para verificación o-réplica.
    Modelér de Rational Rose puede generar instrucciones                                         Para el análisis de datos DB2 proporciona soporte
    create dlstínct type del LDD específico de DB2 para                                      OLAP mediante el servidor DB2 üLAP. El servidor
    tipos definidos por el usuario y utilizarlos posterior-                                  DB2 OLAP puede crear un puesto de datos multidi-
    mente en definiciones de columnas. La mayor parte de                                     ménsional desde una base de datos DB2 subyacente para
    herramientas de diseño también soportan una caracte-                                     su análisis. El motor OLAP del producto Bssbase sé uti-
    rística de ingeniería inversa que lec las tabl:as del cata-                              liza en el servidor DB2 OLAP. DB2 también soporta
    logo DB2 y construye un diseño lógico para manipula-                                     otros motores OLAP de fabricantes tales como Micro-
    ciones adicionales. Las herramientas     pueden generar                                  strategy y Cognos. En particular. DB2 proporciona
    restricciones e índices.                                                                 soporte nativo para las instrucciones cube by y rollup
         DB2 proporciona constructoras SQL para soportar                                     para generar cubos agregados. así como agregados jun-
    muchas características de bases de datos lógicas, tales                                  to-a una o mas jerarquías en el motor-de la base de datos.
    como restricciones, disparadores y recursión. De igual                                   Iruelligent Mincr y otTOSproductos de minería de datos
    forma, DB2soPQrta ciertas características de bases de                                    se pueden utilizar para análisis más profundos y com-
    datos ffsicas tales como espacios de tablas, colas de                                    plejos en datos DR2.
    memoria intermedia y división mediante el use de ins-                                        DR2 para 05/390 tiene un conjunto muy grande de
    trucciones SQL. La herramienta Control Ccntcr OUT                                        herramientas.    QMF es una herramienta ampliamente
    para DB2 permite a los diseñadores o administradores                                     utilizada para generar consultas ad hoc e integrarlas en
    emitir la instrucción LOO apropiada pata estas carac-                                    aplicaciones.


"




     :ª~,~~~IACIONES
    '-K eh   Y~_'·A~ ,.,   ... _., ...   ..   ...              .... ,   .
                                                                            Y EX¡ENSIQNES    DE SQL

    DB2 soporta un amplio conjunto de características SQL                                    Las consultas pueden utilizar el campo con este tipo en
    para varios aspectos del procesamiento       dc la base de                               los predicados como en el siguiente ejemplo:
    datos. Muchas de las características y sintaxis de DB2
                                                                                                          select Producto
    han proporcionado labase de los estándares en SQL-92
                                                                                                          from Ventas_Europa
    y SQL: 1999. Este apartado resalta las características rela-
                                                                                                          where Precio> EURO( 1000)
    cionales orientadas a objetasen DB2 UDB'versión 7. El
    lector puede encontrar referencias para completar la des-                                    Los tipos de datos estructurados son objetos com-
    cripción del soporte para SQL de DB2dc lBM, asf como                                     plejos que nonnalmcnte se componen de dos o-mas atri-
    extensiones al soporte XML en las notas bibliográficas.                                  butos. El siguiente código declara un tipo de datos
                                                                                             estructurado denominado tdepartmento:
    26.2.1. Soporte para tipos de datos                                                                  create type t_departmento  as
                                                                                                            (nombredept varchar(32),
    DB2 soporta tipos de datos-definidos por el usuario. Los
                                                                                                            directordcpt varcharrjz),
    usuarios pueden definirtipos de datos distintos o estruc-
                                                                                                            número mteger)
    turados. Los tipos de datos distintos se basan en los tipos
                                                                                                         mode db2sqJ
    de datos incorporados en DBl. Sin embargo, los usua-
    rios pueden definir semánticas adicionales o altemati-                                   Los tipos estructurados   se pueden utilizar para definir
    vas para estos nuevos tipos. Por ejemplo, el usuario pue-                                tablas con tipos.
     de definir un tipo de datos distinto denominado EURO
                                                                                                       create table dept of   t   deparrmento
     como
                                                                                                Con el LDD un diseñador de sistema puede crear una
             create distinct                        type EURO as decimaJ(9,2).              jerarquía de tipos y tablas en la jerarquía que puede here-
                                                                                             dar métodos especí1icos y privilegios. Los tipos estruc-
     Por consiguiente, el usuario puede crear un campo (por                                  turados también 'se pueden utilizar para definir atribu-
     ejemplo, PRECIO) en una tabla cuyo tipo sea EURO.                                       tos' anidados dentro de una columna o tabla.
                                                                                       630
CAP!TUL026    DB2 DE IBM



 26.2.2. Funciones y métodos definidos                            de caracteres de gran tamaño de dos bytes (Double Byte
         por el usuario                                           Characrer Large Objects, DBCLOBs). DB2 organiza
                                                                  estos LOBs como objetos separados, con cada fila en la
 Otra característica importante es que los usuarios pue-
                                                                  tabla manteniendo    punteros a sus LOBs correspon-
 den definir sus propias funciones y métodos. Estas fun-
                                                                  dientes. Los usuarios pueden registrar UDFs que mani-
 ciones se pueden posteriormente incluir en instruccio-
                                                                  pulen estos LOBs según los requisitos de la aplicación.
 nes y consultas SQL. Las funciones pueden generar
 escalares (único atributo) o tablas (fila multiatributo)
 como resultado. Los usuarios pueden registrar funcio-            26.2.4. Soporte     para    XML
 nes (escalares o de tablas) mediante el uso de la ins-
                                                                   DB'2integra el soporte paraXML en el servidor-median-
 trucción create furrctlon. Pueden escribir las funciones
                                                                   te el uso de XML extendido. XML extendido puede,
 en lenguajes de programación comunes tales comoC y
                                                                   extraer elementos y atributos XML en columnas de datos,
 Java o lenguajes de guiones tales como Rexx y Perl. Las
                                                                   relacionales y mejorar SQL y él poder de' indexación de
 funciones definidas por el usuario (FDU) pueden ope-
 rar en los modos separado (fenceá) y compartido (unfen-           DB2. De forma alternativa también puede almacenar y
                                                                   recuperar documentos- XML como una única columna
 cedí, En el modo separado las funciones se ejecutan
                                                                  'en una tabla. Puede indexar y proporcionar capacidades
 mediante una hebra separada en su propio espacio de
                                                                  de búsqueda orientada a texto en esta columna XML. El
 dirección. En el modo compartido se permite al agente
                                                                  extensor proporciona una serie de funciones incorpora-
 de procesamiento      de la base de datos ejecutar la fun-
                                                                  das y APls para la composición, inserción, actualización
 ción en el espacio de direcciones del servidor. Las_FDU
 pueden definir un área de trabajo donde pueden mante-            y búsqueda en documentos XML. Es probable que se'
                                                                  integren pronto nuevas características tales como Ia-expo-
 ner variables locales y estéticas en invocaciones dife-
 rentes.                                                          sición de los datos DB2como servicio Web mediante el
                                                                  protocolo SOAP y soporte de consultas XML.
    Otra característica son los métodos asociados con los
 objetos, los cuales definen el comportamiento de los obje-
 los. Los métodos están asociados con tipos de datos              26.2.. . Extensiones
                                                                       5                     de índices y restricciones
 estructurados particulares y se registran mediante el uso
'de la instrucción create method.                                  Una caracrerfstica reciente de DB2 proporciona un cons-
                                                                  tructor create index extension que ayuda a crear índi-
                                                                  ces sobre atributos con tipos de datos estructurados
26.2.3. Objetos de gran tamaño
                                                                  mediante la generación de claves a partir de los tipos de
Las nuevas aplicaciones de las bases de daros requie-             datos estructurados. Por ejemplo, un usuario puede cre-
ren la manipulación de texto, imágenes, vídeo y otros             ar un índice en un atributo cuyo tipo es rdepartamen-
tipos de datos típicos que son bastante grandes. DB2              to (definido en la sección 26.2.1) mediante la genera-
soporta estos requisitos, proporcionando  tres tipos de           ción de claves con el nombre departamento. El extensor
objetos de gran tamaño (LOB. Large Object) distintos.             espacial de DB2 utiliza el método de extensión de índi-
Cada LOB puede ser de hasta 2 gigabytes de tamaño.                ce para crear índices sobre los datos espaciales. DB2
Los objetos de gran tamaño en DB2·son (1) objetos en              también proporciona un rico conjunto de característi-
binario de gran tamaño (Binary Large Objetes, BLOBs),             cas de verificación de restricciones    para imponer la
(2) objetos de caracteres de gran tamaño de-un único              semántica de los objetos tales como unicidad, validez
byte (Character Large Objects, CLOBs) y (3) objetos               y herencia.




IBM DB2 proporciona una serie de características     para         tabla a nodos diferentes en un sistema. Por ejemplo. las
el almacenamiento e indexación de datos.                          tablas de gran tamaño se pueden dividir entre todos los
                                                                  nodos en un sistema mientras que las tablas pequeñas
26.3.1. Arquitectura    de almacenamiento                         pueden residir en un único nodo. Las tablas se dividen
                                                                  por asociación entre los nodos en el grupo de nodos uti-
DB2 proporciona abstracciones de almacenamiento para              lizando un subconjunto de sus atributos (clave de divi-
gestionar tablas de base de datos lógicas eh entornos             sión).
rnultinodo (paralelo) y multidisco. Se pueden definir                 Dentro de un nodo, DB2 utiliza espacios de tablas
grupos de nadas para soportar la división de la tabla en          para reorganizar la tabla. Un espacio de tablas consiste
conjuntos especificados de nodos en un sistema multi-             en uno o más contenedores que son referencias a direc-
nodo. Esto permite flexibilidad al asignar particiones de         torios, dispositivos o archivos. Un espacio de' tablas pue-

                                                            631
,           FUNDAMENTOS    DE BASES   DE DATOS




            de contener cero o más objetos de base de datos tales            gestiona el espacio de tablas DMS. En ambos casos la
            como tablas, índices o LOBs. La Figura 26.2 ilustra              unidad de espacio de almacenamiento es una extensión

ji          estos conceptos. -En esta figura se definen dos espacios
            de tablas para un grupo de nodos; Al espacio de tablas
                                                                             de páginas. El administrador puede elegir el tamaño de
                                                                             la extensión para un espacio de tabla. DB2 soporta la
            RECHUMANüS         se asignan cuatro contenedores mien-          distribución en distintos contenedores.     Por ejemplo,
            tras que el espacio de tablas PLAN tiene solamente un            cuando se insertan los datos en una tabla recientemen-
            contenedor.   Las tablas EMPLEADO y DEPARTA-                     te-creada, DB2 asigna la primera extensión a un conte-
            MENTO están en el espado de tablas RECHUMANOS                    nedor. Una vez que la extensión esté llena asigna los
 r         mientras que la tabla PROYECTO está en el espacio de
            tablas PLAN. La distribución de datos asigna fragmentos
                                                                             siguientes datos al siguiente contenedor por tumos rota-
                                                                             torios. La distribución proporciona dos ventajas signi-
            (extensiones) de las tablas EMPLEADO y DEPARTA-                  ficativas: E/S paralela y balance de carga. DB2'también
            MENTO a los contenedores del espacio de tablas                   soporta la preextracción y escrituras asíncronas median-
            RECHUMANDS.          DBl permite al administrador crear          te el uso de hebras separadas. El componente de ges-
            tanto espacios de tablas gestionados por el sistema como         tión de datos de DB2 desencadena la preextraccion de
            por él SGBQ. Los espacios de tablas gestionados gor el           páginas de datos y de índices según los patrones de acce-
            sisrema (System-managed       spaces, SMSs) son directo-         so de las consulta". Por ejemplo, una exploración de una
            rios o sistemas de archivo que mantiene el sistema ope-          tabla siempre desencadena la preextracción de páginas
            rativo subyacente. En un SMS, DB2 crea objetos archi-            de datos. La exploración de'l índice puede desencade-
            vo en los directorios y asigna datos. a cada uno de los           nar la preextracción de páginas de índices así como' las
            archivos, Los espacios de tablas gestionados        por el        páginas de datos si se está accediendo de una forma
             SGBD (Data ManagedSpaces,        DMSs) son dispositivos          agrupada. El número de preextracciones      concurrentes
            en bruto o archivos preasignadós que son controlados              así como el tamaño de la preextracción son parámetros
            por DBl. El tamaño de estos contenedores nuncapue-                configurables que se necesitan iniciar según el numero
             de crecer o disminuir. DB2 crea mapas de-asignación y            de discos o contenedores en el espacio de tablas.




      ..,          Nodegroup      MisDepts



                          T~          RECHUMANOS                                                  'rebieseece PLAN




                                                                                                                              .
                                                     .
                               Departamento                     Empleado                                    Proyecto




                                                 .




                                                         Contenedores


              FIGURA 26.2. Espacios de tablas y contenedores en DB2.
                                                                           632
CAPITULO 26   Df2 D~ IBM



 26.~.2.Tablas. registros e índices                                            se mantienen en un orden de agrupamiento orientado a
                                                                               la página según las claves del índice.
 DB2 organiza los datos relacionales           como registros en
                                                                                   Los índices DB2 pueden almacenar columnas extra
  las páginas. La Figura 26.3 muestra la vista lógica de
                                                                              junto con los identificadores de registro en el nivel dc
  una tabla y un índice asociado. La tabla-consiste en un
                                                                               las hojas de los índices. Por ejemplo,
  conjunto de páginas. Cada página consiste en un con-
 junto de registros (tanto registros de datos del usuario                        create unique index 11 on TI (Cl) inelude (C2)
 tomo registros especiales del sistema). La pagina cero
  de la tabla contiene registros' del sistema especiales sobre                especifica que C2 se va a incluir como una columna extra
  la tabla y su estado. DB2 utiliza un registro del mapa                      en un índice sobre la columna Cl. Las columnas incluí-
  de espacio denominado registro de control de espacio                       das permiten a DB2 utilizar las técnicas de procesamiento
  libre (Free Space Control Record, FSCR) para, encon-                       de la 'consulta «sólo con el Indico» (evitando la lectura
 trar el espacio libre en la tabla. El registro FSCR nor-                    del registro real) para consultas que utilizan las colum-
 malmente contiene un mapa de espacio de 500 páginas.                        nas incluidas, lo que no sería posible en otro caso (el pro-
 Una entrada FSCR consiste en unos pocos bits que pro-                      'Cesamiento de la consulta sólo con el índice-se describi-
 porcionan una indicación aproximada del porcentaje de                       rá ton más detalle en breve). Se pueden utilizar directrices
 espacio libre en la página; por ejemplo, con dos bits, el                   adicionales tales como MINPCUSED y PCTFREE para
 patrón de bits 1I indicaría que la mayor parte de la pági-                  controlar la unión de páginas de índices y su asignación
 na puede estar libre mientras que 01 indicaría que alre-                    de espacio inicial durante fa carga masiva.
 dedor del 25 por-ciento del espacio está libre. Para redu-                      La Figura 26.4 muestra el formato de datos típico en
 cir el coste de actualización, las entradas no siempre se                  DB2. Cada página de datos contiene una cabecera y un
 actualizan con el uso del espado real, por lo que el códi-                 directorio de ranuras. El directorio de ranuras es un array
 go de inserción o actualización debe validar las entra-                    de 2.55 entradas que apuntan a los desplazamientos         de
 das FSCR realizando una verificación física del espa-                      los registros en la página, La figura muestra que el núme-
 cio disponible en una, página.                                             ro de página 473 contiene el registro cero en el despla-
     Los índices se organizan como páginas que contie-                      zamiento 3.HOO y el registro 2 en el desplazamiento
 nen registros índice y punteros a páginas hijas y herma-                   3.400. La página IQ56 contiene un registro 1 en el des-
nas. DB2 proporciona soporte para los mecanismos de                         plazamiento 3.700, que es realmente un puntero hacia
índices de.érbol B+. El índice de árbol B' contiene pági-                  -delante al registro <473,2>. Por ello el registro <473, 2
nas internas y páginas hoja. Los índices tienen punteros                    > es un registro de desbordamiento que fue creado por
bidimensionales en el nivel hoja para soportar explora-                     una operación de actualización del registro < lO56~ l >
cienes hacia delante y atrés. Las páginas hoja contienen                    original. DB2 soporta distintos.tamaños de página tales
entradas de 'índice que apuntan a los registros de la tabla.                como 4 KB, 8 KB, 16 KB Y 32 KB. Sin embargo, cada
Cada registro de una tabla tiene un identificador de regis-                 página puede contener solamente 255 registros de usua-
tro único (Register ID, RID) construido a partir de su                      no. Los tamaños de página mayores son útiles en apli-
identificador de página y deranura en la página (la estruc-                 caciones tales cómo almacén de datos donde la tabla
tura de páginas con ranuras se describe en breve). Se                       contiene muchas columnas. Los tamaños de página
puede definir un índice como los índices de agrupación                      menores son útiles para datos operacionales con frc-
de la tabla. Si se define este-índice, los registros de datos               cuentes actualizaciones.


       Vista lógica de la página                                                              Vista lóqica del índice


                             La página O contiene       un conjunto                                ~


                             de registros    internos   (por ejemplo,    FSCR)   rr."';¡¡:;n~~l        K RID        __




        2 r;;;;;1.-J--:      R:eg¡S'ros de usuario                                    K RID                         ~




          }
        'F       =                                                                 CRID                             ~




        R
                                                                         ARIO                                    Pági~~as ~
                             Cada páqjna múltiplo
                                                                              C 3,2                                hOJ~
     500                 )   de 500 contiene otro FSCR

                             Más registros    de usuario                 RID (Record ID, ID de registro)       = página   3, ranura 2



FIGURA 26.3.   Vista lógica de las labias    e índices en D62.

                                                                        .33
FUNDAMENTOS      DE BASES DE DATOS



                                                                                                                        Núm.. página

                                                                                                                       "---l        1056
                                                                                                                                           Núm. ranura

                                                                                                                                           [1]
                                                                                                                                                         I
                                                                                                                               3 bytes     1 byte
                                         Página 473                                               Página 1056                  --
          Espacio libre                              Cabecera de página                                     Cabecera de página
          (se puede usar
                                             3.800    -1   3.400    .•-------                       3.800   1 3.700 1,,---" -- -- -


                                                                                                       x
          sin reorganizar
          la página"),

          Espacio libre
          incorporado
                                                            Registro 2
          (se puede usar
          después de                                        Registro O                        -      473,.2·         Registro O
          reorganizar la página",)

                                                            • establecido       en la creación del espacio de tablas
          "Excepción: no se puede usar ningún
          espacio reservado por un borrado
          no comprometido

     FIGURA   26.4.    Diseño de las páginas de datos y de los registros              en   D82 ",




     El compilador de consultas de DB2 transforma las con-                            26.4.1. Métodos de acceso
     sulras en un árbol dé operaciones. DB2 utiliza enton-
                                                                                      DB2 soporta un conjunto detallado de métodos de acce-
     ces el árbol de operadores de la consulta en tiempo de
                                                                                      so sobre tablas relacionales, incluyendo.
     ejecución para el procesamiento. DB2 soporta un rico
     conjunto de operadores de consulta que permiten con-                                  • Exploración de tabla. Con este método, el más
     siderar mejores estrategias de procesamiento y pro-                                     básico. se accede a todos los registros en la tabla
     porcionan flexibilidad en la ejecución de consultas com-                                página, por página.
     plejas.                                                                               • Exploración de índice. DB2 utiliza un índice-para
         Las Figuras 26.5 y 26.6 muestran una consulta y su                                  seleccionar los registros especificos que 'satisfacen
     plan de consulta asociado. Se trata de una consulta com-                                la consulta. Accede a los registros utilizando los
     pleja representativa (consulta 5) de la prueba TPC-H y                                  RIDs en el índice. DB2 detecta las posibilidades
     contiene varias reuniones y agregaciones. El plan de                                    de la preextracción de las páginas de datos cuan-
     consulta en este ejemplo es bastante simple. puesto que                                 do observa un patrón de acceso secuencial.
     solamente se definen pocos índices y no están dispo-
                                                                                             Sólo con el índice. Este tipo dé exploración se uti-
     nibles para esta consulta estructuras auxiliares como
                                                                                             liza cuando el índice contiene todos los atributos
     las vistas materializadas. DB2 proporciona varias carac-
                                                                                             que requiere la consulta. Por ello es suficiente una
     terísticas de explicación del plan incluyendo una poten-
                                                                                             exploración de las entradas de índice y no hay
     tecaracterística visual en el centro de control que pue-
                                                                                             necesidad de extraer los registros. La técnica 'sólo
     de ayudar a los usuarios a comprender los detalles del
                                                                                             con el índice es normalmente una buena elección
     plan de ejecución de la consulta. El plan de consulta
                                                                                             desde el punto de vista del rendimiento.
     en la figura está basado en la.explicación visual de la
     consulta. La explicación visual permite al usuario com-                               • Lista de preextracclón, Este método de acceso es
     prender los costes y otras propiedades relevantes de las                                una buena elección para una exploración de índi-
     distintas operaciones de un plan de consulta.                                           ces no agrupada con un número significativo de
         DB2 transforma todas las consultas e instrucciones                                  RIDs. DB2 recoge los RIDs de los registros rele-
      SQL, sin importar lo complejas que sean, en un árbol                                   vantes utilizando una exploración de índices,
      de consulta. La base u operadores. hoja del árbol de                                   entonces ordena los RIDs por el riúmero de pági-
      consulta manipulan los registros en tablas. de base de                                 na y finalmente realiza una extracción de los regis-
      datos, Estas operaciones también se denominan méto-                                    tros de forma ordenada desde las páginas de datos.
 I    dos de acceso. Las operaciones intermedias del árbol                                   Bl-acceso ordenado cambia el patrón E/S de alea-
!                                                                                            torio a secuencial y también ofrece posibilidades
      incluyen operaciones del álgebra relacional tales como
ti    reuniones, operaciones de conjuntos y agregaciones.                                    de preextracción.
      La raíz del árbol produce los resultados de la consul-                               • Conjunción de 'índices. DB2 utilizaeste método
      ta o instrucción SQL.                                                                  cuando determina que se puede utilizar más de un
                                                                                634
C}¡PiTULO 26   DB2 DEIBM



                                       -'TPeD Local Supplier        Volume   Query (05)';
                                       seise! N_NAME,
                                           sum(l_EXTENDEDPRlce""(l-L_DISCOUNT))    as REVENUE
                                       from TPCD.CUSrDMER,     TPCO.QRDERS, TPCD.LlNEITEM,
                                           TPCO.SUPPLlER, TPCO.NATIQN, TPeO.REGION
                                       where C_CUSTKEY ~ O_CUSTKEY
                                           and O_ORDERKEY = L_ORDERKEY
                                           and L..SUPPKEY = S_SUPPKEY
                                           and,C_NATIONKEY   = S_NATIONKEY
                                           and S_NATIDNKEY = N_NATlDNKEY
                                           and N_REGIDNKEY = R_REGIONKEY
                                           and R_NAME = 'MIDDLE EAST'
                                           and O_ORDERDATE >= dater1995-01-01')
                                           and O_ORDERDATE < date('1995-Ql-0")+             1 year
                                       group by N_NAME
                                       order by REVENUE DESe;

      FIGURA 26.5. Consulta SOL



           índice para restringir el número de-registros satis-                      Disyunción de índices. Esta estrategia es una bue-
           factorios en una tabla base. Procesa el índice más                        na elección si se pueden utilizar dos o más índices
           selectivo para generar una lista de.RIDs. Entonces                        para satisfacer los predicados de la consulta que
           procesa el siguiente índice selectivo para devolver                       se combinan utilizando la operación DR. DS2 eli-
           los RIDs que'encucníra. Un RlD requiere más pro-                          mina los RlDs duplicados realizando una ordena-
           cesamiento solamente si está presente en la inter-                        ción y entonces extrae el conjunto de registros
           sección (operación ANO). de los resultados de la                          resultante.
           exploración del 'índice. El resultado de una opera-
          -cion AND del índice es una pequeña lista del RlDs                       DB2 normalmente envía todos los predicados' de
           que se utilizan para extraer los registros corres-                   selección y proyección dc una consulta a los métodos
           pondientes desde la tabla base.                                      de acceso. Además DB2 envía ciertas operaciones tales




s                                                                                                    Ordenación
                                                                                                          1
                                                                                            Exploración       del índice
e
                                                                                                          1
                                                                                                       croere

1-
s-
                                 Exploración
os.
                                       1
a-                                 Supplier
es                                                             Netíon                                Region


do    FIGURA26.6.   Plan de consulta   DB2 (explicaciún.qráfica).
un
                                                                         6:35
FUNDAMENTOS   DE BASES DE DATOS



      como la ordenación y la agregación,        siempre   que es         para soportar los modos SMP, MPP y SMP por agrupa-
      posible, con el fin de reducir el coste.                            ciones del procesamiento de consultas. DB2 utiliza una
                                                                          abstracción tabla-cola para el intercambio de datos entre
      26.4.2. Operaciones de reunión. agregación                          hebras sobre distintos nodos o sobre el mismo nodo. La
              y de conjuntos                                              tabla-cola es una memoria intermedia que redirige los
                                                                          datos a receptores apropiados mediante el uso de méto-
      DBl soporta una serie de técnicas para las operaciones             dos de difusión, uno a uno o multidifusion dirigida Las
      de reunión, agregación y de conjuntos. Para la reunión             operaciones de control crean hebras y coordinan la ope-
      DBl puede elegir entre técnicas de bucles 'anidados,               ración de distintos procesos y hebras.
      ordenación-mezcla     y de asociación. Para describir las              En todos estos modos DBl emplea un proceso coor-
     .operaciones binarias de reuniones y de conjuntos se uti-           dinador para controlar las operaciones de colas y la reu-
      lizarala notación de las tablas externas e internas para           nión del.resultado final. Los procesos de.coordinación
      distinguir los dos fiujosde entrada. La: técnica de bucles         también pueden ejecutar algunas acciones globales de
      anidados es util.s¡ la tabla interna es muy pequeña o se           procesamiento de la base de datos si es necesario. Un
     puede, acceder utilizando un índice sobre un predicado             ejemplo es la operación de agregación global para com-
      de reunión. Las técnicas de reunión de ordenación-mez-             binar los resultados de agregación local. Los subagen-
      cla y reunión por asociación son útiles para reuniones            tes o hebras esclavos ejecutan las operaciones base en
     que involucran tablas internas y externas grandes. DBl             uno O más modos. En el modo SMPlos subagentes uti-
     implementa las operaciones de conjuntos mediante el                lizan memoria compartida para sincronizarse entre sí
     uso de técnicas de ordenación y mezcla, La técnica de              cuando comparten datos. Enun MPP, los mecanismos
     mezcla elimina los duplicados en el caso de la unión               de tabla-cola proporcionan memoria intermedia y con-
     mientras que los no duplicados se eliminan en el caso              trol de flujo para la sincronización entre distintos nodos'
     de intersección. DBl también soporta operaciones de                durante la ejecución.
     reunión externa de todas las clases.
          DBl procesa las operaciones de agregación en modo
     impaciente o de envío siempre que sea posible. Por                 26A.5. Optimización de consultas
     ejemplo, puede realizar la agregación mientras que orde-            El optimizador de consultas de DBl utiliza una repre-
     na la entrada de, la agregación en el grupo por colum-              sentación interna, de la consulta, denominada Query
     nas. Los algoritmos de reunión y agregación aprove-                 Graph Model (QGM, modelo de grafos de consultas)
     chan el procesamiento superescalar en CPUs modernas                 con el fin de ejecutar transformacíones      y optimizacio-
"    utilizando técnicas orientadas a bloques y conscientes              nes. Después de analizar la instrucción SQL, DB2 eje-
     de la caché de memoria.                                             cuta transformaciones semánticas sobre QGM para hacer
                                                                         cumplir las restricciones,   integridad referencial y los
     26.4.3. Soporte para el procesamiento           de SQL              disparadores. El resultado de estas transformaciones es
j,           complejo                                                    un QGM mejorado. Seguidamente DB2 intenta ejecu-
                                                                        tar transformaciones    de reescritura de la consulta que
     Uno de los aspectos más importantes de DB2 es que uti-             se consideran beneficiosas en la mayoría de las consul-
     liza la infraestructura de procesamiento de la consulta            tas. Se activan las reglas de reescritura, si son aplica-
     de forma extensible para soportar operaciones         SQL          bles, para ejecutar lasrransformacíones     requeridas. Los
     complejas. Las operaciones SQI,. complejas incluyen                ejemplos de transformaciones       de reescritura incluyen
     soporte.parasubconsultas     profundamente     anidadas y          (1) descorrelación de subconsultas correlacionadas. (2)
     correlacionadas, así como restricciones, integridad refe-          transformación de subconsultas en reuniones donde sea
     rencial y disparadores. Las restricciones y comproba-              posible, (3) trasladar las operaciones group by bajo las
     ciones de integridad se construyen como operaciones                reuniones si es aplicable y (4) reescritura de consultas
     del árbol de consulta a partir de las instrucciones SQL            para hacer uso de las vistas materializadas disponibles
     de inserción, borrado o actualización. Mediante la eje-            o «tablas resumen» '(vistas materializadas utilizando la
     cución de la mayoría de las acciones de verificación de            agregación).
     restricciones y desencadenamiento    como parte del plan               El optimizador de consultas utiliza QGM mejorado
     de consulta DBl puede proporcionar         una mejor efi-         y transformado como su entrada para la optimización.
     ciencia y dimensionabíjídad.    DB2 también soporta el            El optimizador se basa en el coste y utiliza un entorno
     mantenimiento de vistas materializadas mediante.el uso            extensible, controlado por reglas. Se puede configurar
     de disparadores incorporados.                                     el optimizador para operar a distintos niveles de com-
                                                                       plejidad. En el nivel más alto utiliza un algoritmo de
     26.4.4. Procesamiento de consultas                                programación dinámica para considerar tedas las, opcío-
             .en multiprocesadores                                     nes del plan de consulta y elige el plan de coste óptimo.
                                                                       En un nivel intermedio el optimizador no considera cier-
     DB.2-extiende el conjunto base de operaciones de con-             tos planes o métodos de acceso (por ejemplo, indexa-
     sulta con primitivas de intercambio de datos y control            ción) así corno algunas reglas de reescritura. En el nivel
                                                                 ••6
CAPITULO   25   DEZ DEIBM



            inferior de complejidad el optimizador utiliza una heu-                 Considérese una actualización de la forma «Aurnen-
            rística impaciente simple para elegir un buen, aunque               tar en un 10 por ciento el -sueldo de los, empleados que
            no necesariamente óptimo. plan de consulta. El opti-                ganen menos que 25.000 euros». En una versión ante-
            mizador utiliza modelos detallados de las operaciones              rior de Sysrem R el optimizador elegía el índice del suel-
            de procesamiento de la consulta (teniendo en cuenta                 do para el acceso y procesaba los datos de menor a
            detalles tales como tamaño de la memoria y preexrrac-               mayor (O a 25.000). La inserción de un nuevo valor
s           ción) para obtener estimaciones adecuadas de los cos-               (mayor) parad sueldo significaba que el registro actua-
            tes de E/S y CPU. Depende de la estadística de los datos            lizado se revisa de nuevo a no ser que el valor del suel-
            para estimar la cardinalidad y selectividades de las ope-           do fuera mayor que 25.000. La causa de la revisión es
r-          raciones.                                                          el uso del índice del sueldo para el acceso en orden
1-              DB2 permite a un usuario generar histogramas de dis-           menor a mayor. Se revisaba el registro y el sueldo se
in          tribuciones en el nivel de las columnas y combinaciones            aumentaba un 10 por ciento repetidamente hasta que-su
le          de columnas mediante el uso de la utilidad runsuüs. Los            valor excedía a 25.000. Este error ocurrió el día de Hallo-
Jn          histogramas contienen información sobre las aparicio-              wcen, por lo que los miembros del proyecto System R
n-          nes del valor más frecuente, así como sobre, las distribu-         lo denominaron al error «problema Haíloween»
n-          ciones de frecuencia basadas en los cuantiles de los atri-              DB2 soluciona el problema Halloween reconocien-
en          butos. El optimizador de consultas usa estas estadísticas.         do esta. situación en el compilador de la consulta. El
Iti-        El optimizador genera un plan de consulta interno que              optimizador genera un plan de consulta que primero
: sí        considera el mejor plan de consulta y entonces convier-            materializa 19SRIDs de las filas implicadas antes de pro-
íos         te el plan de consulta en hebras de operadores y estruc-           cesar las actualizacione-s. Cada registro implicado se
m-          turas de datos asociados de la consulta para su ejecución          actualiza solamente una vez, como tenía intención la
los         mediante el motor de: procesamiento de consultas.                  instrucción de actualización.




pre-
iery
Itas)       DB2,soporta técnicas de control de concurrencias que                con el que 'se quieren ejecutar. También, la mayoría de
cio-        proporcionan un muy alto nivel de concurrencia, aco-                las aplicaciones comerciales disponibles soportan los
 eje-       pladas con un mecanismo de recuperación avanzado                    distintos niveles de aislamiento y los usuarios pueden
iacer       que.soporta una serie de características.                           elegir la versión correcta de.la aplicación para sus requi-
y los                                                                           sitos.
es es       28.5.1.Concurrencíc       y aislamiento                                 Los distintos modos de aislamiento se implementan
jecu-                                                                           mediante el uso de bloqueos. DB2 soporta bloqueos en
a que       DB2· soporta una serie de modos de control de concu-                el nivel de registros y de tablas. Mantiene una estruc-
msul-       rrencia y aislamiento. Para el aislamiento DB2soporta               tura de datos de bloqueo de tablas separado del resto de
plica-       losmodos lectura repetible (Repeatable Read, RR), esta-            información de bloqueo. DB2 dimensiona el bloqueo
s.Los       bilidaden lectura (Read Stability, RS), estabilidad del             en el nivel de registros al de tablas si el espacio dispo-
luyen       cursor (Cursor Stability, eS) y lectura no comprometi-              nible para posteriores bloqueos en la tabla de bloqueos
as, (2)     da (Un-committed Read, UR).                                         se hace pequeño. DB2 implementa: un bloqueo estricto
de sea           La definición de lectura repetible en DB2 difiere de           de das fases para todas las transacciones de actualiza-
ajo las     '¡adel Apanado 16.8 y corresponde íntimamente con el                ción. Mantiene bloqueos de escritura y actualización
rsultas      nivel secuenciable descrito allí. Específicamente,     RR          hasta el momento del compromiso o retroceso.
mibles       en DB2asegura que la exploración del rango encontra-                   DB2 soporta una serie de modos de bloqueo con el
mdo la       rá el mismo conjunto de tuplas si se repiten. Si todas-las         fin de maximizar la concurrencia. La Figura 26.7 mues-
             transacciones siguen el protocolo RR entonces la pla-             tra los distintos modos de bloqueo y proporciona una
ejorado      nificación resultante será secuenciable. Los modos es             breve descripción del propósito de cada modo de blo-
iadón.       'j UR son corno se describen en el Apartado 16.8'.                queo. Abajo se muestran brevemente algunos de los
~ntomo           El modo de aislamiento RS bloquea solamente las               modos de bloqueo; véanse las referencias bibliográfi-
lfigurar     filas que recupera una aplicación en una unidad de.tra-           cas para mayor información sobre, los modos de, blo-
le com-      bajo. En una exploración posterior la aplicación tiene            queo. Los modos de bloqueo incluyen bloqueos inten-
hmo de       garantizado ver todas estas filas (como RR) pero podría           cionales en un nivel de tabla para proporcionar bloqueo
iSopcio-     no ver nuevas filas que deberla ver. Sin-embargo, esto            de granularidad múltiple. DB2 también implementa el
óptimo.      podría ser un compromiso aceptable para algunas apli-             bloqueo de la clave siguiente para las inserciones         y
leracier-    caciones con respecro-al aislamiento RR estricto. Nor-            borrados que afecten a las exploraciones de índices del
, indexa-   malmenre el nivel de aislamiento predeterminado es CS.             nivel de aislamiento RR para eliminar el problema de
le} nivel    Las aplicaciones pueden elegir el nivel de aislamiento            la lectura fantasma. véanse las referencias bibliográfi-

                                                                          6"
l.
            FUNDAMENTOS      DE BASES DE DATOS



            l,'        " Modo d6 bloqueo

l
                                                                                 Objetos                  I                Intef1Jrf1l!lCi6n

             IN Ilntent nene, sin intención)                     Espacios de tablas, tablas                   Lectura sin bloqueos      de filas
             IS [lntent sbare. intentar compartir)               Espacios de tablas, tablas                   Lectura con bloqueos       de filas
             NS (next kev share, siguiente clave                 Filas                                        Bloqueos de lectura para los niveles
             compartido)                                                                                      de eielamiento RS o      es
             s tshare. compartido)                               Filas, tablas                                Bloqueo de lectura
             IX tintent exclusive.    intencinnal.exclu-         Espacios de tablas, tablas                   Intención   de actualizar filas
             eivol
             SIX Ishare with intent Exclusive, com-              Tablas                                       Sin bloqueos de lectura en las filas
             partido   intencional   excluelvol                                                               pero con bloqueos X en las filas
                                                                                                              actualizadas
             U üjpdate, actualización]                           Filas, tablas                                Bloqueo de actualización         pero permi-
                                                                                                              tiendo leer a otros
             NX (next key exclusive,      siguiente              Filas                                        Bloqueo de la si,guiente clave para
             clave exclusivo}                                                                                 inserciones y borrados para prevenir
                                                                                                              las lecturas fantasma durante las
                                                                                                              exploraciones de indice RH
             X (exclusive,   exclusivo)                          Filas, tabJas                                Sólo se permiten      lectores no compro-
                                                                                                              metidos
             Z tsuperexclusive,      superexctusfvct             Espacios dé. tablas, tablas                  ACCeSOcompleto        excluslvc

            FIGURA 26.7.      Modos de bloqueo         de D82.



            cas para mayores detalles (en el Apartado 16.9 se des-                     sula withhold entonces se mantienen           algunos bloqueos
            cribe una.forma sencilla de bloqueo de la siguiente cla-                   durante los compromisos.
            ve que elimina el problema fantasma),
                La transacción puede establecer la granularidad del                    26.5.3. Registro hiatórico y recuperación
            bloqueo en 'el nivel de tabla mediante el uso de una ins-
            trucción de bloqueo de tabla (una extensión SQL). ESLO                     DB2 implementa el registro histórico y los. esquemas
     ¡lit   es útil para aplicaciones que conocen 'que su nivel dese-                  de recuperación ARIES' (el esquema ARIES se descri-
            ado de aislamiento está en el nivel de tabla. También                      be brevemente en el Apartado 17.9.6). Este registro his-
            DB2 elige las granularidades      de bloqueo apropiadas                    tórico.tíeescritura anticipada lo utiliza para enviar regis-
            cuando se ejecutan utilidades tales como reorganización                    tros, desde este registro histórico al archivo de registro
            de la base de datos y bloqueo. Las versiones sin cone-                     histórico persistente. antes de que las páginas de datos
            xión de estas utilidades normalmente bloquean la tabla:                    seescriban en el compromiso. DB2 soporta dos tipos
            en modo exclusivo. Las versiones en conexión de las                        de modos de registro: registro histórico- circular y regis-
            utilidades permiten que otras transacciones se ejecuten                    tro de archivo. Én el registro histórico circular, DB2 uii-
            concurrentemente adquiriendo bloqueos de filas.                            liza un conjunto predefinido de archivos de registro hís-
                En cada base de datos se ejecuta un agente de detec-                   tórico primario y secundario.         El registro histórico
            ción de interbloqueos que periódicamente      verifica los                 circular es útil para la recuperación de caídas o la recu-
            interbloqueos entre-las transacciones. El intervalo para                   peración de un fallo de la aplicación. En el registro his-
            la detección de interbloqueos es un parámetro configu-                     tórico de archivo, DB2 crea nuevos archivos de regis-
            rable. En caso de interbloqueo, el agente elige una víc-                   tro histórico y guarda los archivos de registro histórico
            tima y la finaliza. La víctima produce un código de error                  viejos con el fin de liberar espacio en el sistema de archi-
            SQL, indicando que la causa del fallo fue un interblo-                     vos. Los registros históricos de archivo son necesarios
            queo.                                                                       para la recuperación hacia adelante de una copia de segu-
                                                                                       ridad dc archivo (se describe con más detalle más ade-
                                                                                        lante). En ambos caSQS DB2 permite al usuario confi-
            26.5.2. Compromiso y retroceso                                             gurar el número de archivos de registro histórico y los
            Las aplicaciones pueden comprometerse      o retroceder-                    tamaños dc los archivos de los registros históricos.
            se mediante el uso de las instrucciones explícitas com-                         En entornos con grandes actualizaciones, DB2 pue-
            mit y rollback. Las aplicaciones también pueden emi-                       de configurarse     par,<l utilizar compromisos     en grupo
            tir instrucciones begin transaction   y end transaction                     (Apartado 24.3) con el fin de combinar escrituras de;
            para controlar el ámbito de las transacciones.     No se                    registro histórico de varias transacciones y ejecutarlos
             soportan las transacciones anidadas. Normalmente DB2                       utilizando una única operación E/S.
             libera todos los bloqueosque se mantienen por W1atran-                         DB2 soporta retroceso de transacciones, recupera-
             sacción en cornmit o rcllback. Sin embargo, si se ha                       ción de caídas, así como recuperaciones        por instantes
             declarado una instrucción de cursor mediante la cláu-                      (poiru-in-time) o hacia adelante (roll-forward).       En el

                                                                                   638
CAPItULO        25     SB2 DE 16M



       caso de una recuperación tras una caída, DB2 ejecuta                                    soporta tanto los niveles de bases de datos como de espa-
       las fases de deshacer estándar de procesamiento y pro-                                  cios de tablas. También se pueden emitir en nodos espe-
       cesamiento rehacer hasta y desde el último punto de                                     cíficos sobre un sistema multinodo.
       revisión con el fin de recuperar el estado comprometi-                                      Recientemente se ha hecho disponible un esquema
       do adecuado de la base de datos. Para la recuperación                                   de recuperación en paralelo para,mejorar el rendimien-
       por instantes, DB2 puede restaurar la base de datos des-                                to en sistemas multiprocesador SMP mediante la utili-
       de una copia de seguridad y avanzar a un punto especí-                                  zación de muchas Cl'Us. DB2ejecuta la:recuperación
       ñco en el tiempo utilizando los archivos históricos guar-                               coordinada a través de nodos MPP mediante un esque-
       dados. El comando de recuperación hacia adelante                                        ma global de puntos de revisión.




       La Figura 26.8 muestra algunos de los distintos proce-                                  limpieza de páginas de la cola de la memoria interme-
       sos o hebras en un servidor DB2. Las aplicaciones                                       dia y detección de interbloqueos. Finalmente hay un
       remotas cliente se conectan al servidor de la base de                                   conjunto de agentes en el entorno del servidor para eje-
       datos a través de agentes de comunicación tales como                                    cutar tareas tales como detección de 'caídas, creación
       db2tcpcm. Se asigna un agente a cada-aplicación '(agen-                                 de procesos. control de recursos del sistema y servicio
       te coordinador en entornos MPP o SMP) denominado                                        de licencia. DB2 proporciona parámetros de configu-
       hebra dh2agent. Este agente y sus agentes subordina-                                    ración para controlar el número de hebras y procesos
       dos ejecutan las tareas relacionadas con la aplicación.                                 en W1 servidor. Casi todos los tipos distintos de agen-
       Cada base de datos tiene un conjunto de procesos o                                      tes se pueden controlar mediante el uso de parámetros
       hebras que ejecutan tareas tales como preextracción,                                    de configuración.



                                                             Modelo de procesamiento:                partición única



              •
             Máquina,    • Máquina.
                                                            Procesos

                                                            UDF
                                                            aislados   Ef€fdf~   @E~a0   P,                       .
                                                                                                                             Procesos de procedimientos
                                                                                                                             almacenados aislados
,            cliente'    • servidora

                                                                  EDU -p~~ ~~~-~~::~e.:/i~~e~-
                                                                                  ~-~----~
                                                                                        ~-:
                                                                                         ~
             remota      :                I
s                        :_UserDB2_
                         :    PrOC,eSP5       Procesos
                                                                        -----
s
                                              (hebras)            conexión                          • de datos activa
                         ·
                         •                                   " db2agen
                               OI+=F==I==i=O                                                                                          db2wdQg              db2gds
o                                              Memoria                                                     €~cly                      db2sysc              db2cart
,-                              AplA          compartida:
                                                                                                           (f&fC~
s-
i-
                             a Pruebas"
                                                             ,
                                                                  ApJA

                                                                                                         00                             B B
                               o
,o                                                                db2agen          ~                                                  db2resyn             db2dart
;-                                                                       ~                            db2Loggi        db2dlock
os                                            db2ipccm              O              E
U_
e-
                                Apl B
                             "Conexión
                                                 A
                                                 ~ I
                                                                  ApJB
                                                                                    dbiagntp          Base de datos
                                                                                                      MPRUEBAS        H
                                                                                                                                      ~g~t
                                                                                                                                          Agentes en espera

fi-
o,
                                 SQL
                             a Pruebas"          O~'                    Sob,g,""          """O~~'          ~clY
                                                                                                                                          sin asociar
                                                                                                                                   ,,- - - - - - _. - --



le-
                                              dbztcpcrn           db2agen          .~,                     ([¿~fC~                    EDU
                                                                                                                                      por solicitud
               OI;:::::¡====c4====='~O,~
po
 de
los
                ,
               AplC
             "Conexión
                                                TCPIP         :,Agente
                                                                 coordinador
                                                                                   €ffign5P

                                                                                   Subagentes:
                                                                                                         00
                                                                                                      db210ggi        db2dlock        db2bm, db2med ...
                  Sal                                                   e          en espera
              a Prod"                                             Apl                               : Base de datos       HPRODH
.ra-
nes
1el     FIGURA26.8. Modelo .de.procesos en CiB2.

                                                                                         639
FUNDAMENTOS       DE BASES   DE DATOS




         La Figura 26.9· muestra los distintos tipos de seg-                               disponer de varia s cola'> de memoria intermedia por diver-
     mentos de memoria en D82. La memoria privada en los                                   sas razones, pero se deberían definir después de un cui-
     agentes o hebras se utiliza principalmente      para varia-                           dadoso análisis de los requisitos de la carga de trabajo,
     bles locales y estructuras de datos que son relevantes                                DB2 también proporciona la capacidad de almacena-
     solamente para la actividad actual. Por ejemplo. una                                  miento extendido para aprovechar memorias grandes
     ordenación privada podría asignar memoria desdee                                      (memorias mayores de 4 gigabytes) en sistema'> que sola-
      montículo privado del agente. La memoria compartida                                   mente tienen capacidad de direccionamiento 'de 32 bits.
      se divide en memoria compartida del servidor, memo-                                   El almacenamiento extendido se utiliza como una memo-
      ria compartida de la base de datos y memoria compar-                                  ria intermedia de copia de seguridad compartida para
      tida de la aplicación. El nivel de la base de datos de                                colas de memoria intermedia activas, Las páginas que se
      memoria compartida contiene estructuras de datos úti-                                 extraen o reemplazan de una cola de memoria interme-
      les tales como las colas de memoria intermedia, las lis-                              dia activa se escriben en el área de almacenamiento
      tas de, bloqueos, las cachés de los paquetes de aplica-                               extendido y se pueden 'Volver a copiar desde allí si se
      ción y las áreas de ordenación compartida. Las áreas de                               necesita. Por dio, el almacenamiento extendido puede.
      memoria compartida del servidor y de la aplicación se                                 ayudar a evitar E/S en grandes sistemas de memoria.
      utilizan principalmente para estructuras de datos comu-                                   DB2 soporta una completa lista de configuración de
      nes tales como parámetros de configuración del servi-                                 memoria y parámetros de ajuste. Esto incluye paráme-
      dor y memorias intermedias de comunicaciones.                                         tros para todas las áreas de montículos de estructuras
           DB2 soporta varias colas de memoriaintermedia     para                           de datos grandes tales como las colas de memoria inter-
       una base, de datos. La'> colas. de memoria intermedia se                             media.predeterminadas.el      montículo de ordenación, la
       pueden crear mediante el uso de la instrucción create buf-                           caohé de paquetes, los montículos de control de la apli-
       ferpool y se puede asociar con espadas de tablas. Es útil                             cación, el área de lista de bloqueos y cosas similares.




                                                                       Mernonacompartida             del ejemplar

                                                                .   incluye memoria intermedia FCM
                                                                    ü-est Communication  Manager, Gestor
1.
                                                                    de comunicaciones rápidas)


                                                                                               I

                                             I                                                                                           I

                   Memoria     compartida        de la base de datos                                            Memoria compartida           de la base de datos


        ·    colas de memoriaintermedia            (buffpageo   ALTERBUF..)
        ·    lista de bloqueos (Iocklistl

        ·    caché de paquetes (pekcecheszt
                                                                                       •                  •
        ·
        ·
             ordenaciones compartidas (sortheap. sheapthresh)
             montículo de la base de datos Idbheápl
                                                                                           1... númb.d

             _ memoria intermedia del registro histórico (logbufsz)
             - caché del catálogo (catalogcache_sz)

         ·   monticulo de.utilldadea ~util_heap_sz)
                                                                                                                          .

                                         I
                   1                                            I                           Memoria compartida        de la aplicación

                           -       1...máxaplic
                                                                             .   estructuras       internas lappl_ctl_heap...:sz)


                                                                                                      Mernoríe privada de agentes


                                                         I               l                 ·
                                                                                           ·
                                                                                               ordenaciones privadas (sortheap. sheapthreahl
                                                                                               montículo de la aplicación (applheapszl
                                                                                           ·   pila de agentes (agenCstack_sz)



             DD
             •                       1... máxagentes                               •
                                                                                           ·
                                                                                           ·
                                                                                           ·
                                                                                               montículo de consultas (query_heap_szl
                                                                                               montículo de instrucciones (stmtheap)
                                                                                               montículo de estadísticas (staCheap_sz)



        FIGURA 26.9. Modelo de memoria 082.
                                                                                       640
CAPITULO   28   DR2 DE IBM




DB2 Data Propagatores un producto en la familia DB2                     Otro miembro dela familia DB2 es el producto Data
que proporciona réplica de datos entre DBl y otros sis-             Joiner, que proporciona soporte a basesde daros federa-
temas de bases de datos relacionales tales como Oracle              das y distribuidas. Data Joiner puede integrar tablas en
SQL Server de, SQL Server de Sybase e Infonnix, y orí-              DBl remotas u otras bases de datos relacionales en una
genes de-datos no relacionales tales como IMS de 18M.               única base de datos distribuida. Data Joiner proporcio-
    Data Propagator consiste en componentes capturar                na un método basado en el coste' para la optimización de
y aplicar que se controlan mediante interfaces de admi-            consultas entre los distintos sitios de datos. Los datos no
nistración. Les mecanismos de captura de cambios se                 relacionales también se pueden integrar en Dala Joiner
basan en tablas DBl basadas en registros históricos o              mediante el uso de envolturas para crear datos tabulares.
basadas en disparadores en el caso de otros orígenes de                 DBl soporta funciones de tabla definidas por el usua-
datos. Esto es, para las tablas DB2 los cambios se detec,          rio que pueden permilir el acceso de orígenes-de datos
tan examinando el registro de la base de datos mientras            no relacionales y externos. DBl crea funciones de tabla
que lo-s disparadores se utilizan para detectar los cam-           definidas por el usuario mediante la instrucción create
bios de otros orígenes de datos. Los cambios captura-              function con la cláusula returns tableo Con estas caracte-
dos se almacenan en áreas temporales dé tablas bajo el             rfsticas DBl puede participaren los protocolos OLE-DB.
control del propagador de datos DB2, que se aplican                     Finalmente DBl proporciona soporte completo para
después a estas tablas intermedias, con cambios, a las             procesamiento de transacciones distribuidas mediante
tablas destino mediante el uso de instrucciones       SQL          el protocolo de compromiso en dos fases. DBl puede
(inserciones, actualizaciones y 'borrados). Las transfor-          actuar como-el coordinador o agente para el soporte de
maciones basadas en SQL se pueden ejecutar sobre estas             transacciones distribuidas. Como coordinador; DB2 pue-
tablas intermedias utilizando condiciones' de filtro ade-          de ejecutar todos los estados del protocolo de compro-
más de agregaciones.      Las filas resultantes se pueden          miso en dos fases. Como participante, DEl puede inte-
aplicar a una o más tablas destino. Los rncdios de admi-           ractuar con cualquiera       de los administradores      de
nistración controlan todas estas acciones.                         transacciones distribuidas comerciales.




DBl proporciona una serie de herramientas para faci-               y ejecutar instrucciones     SQL. El centro de.guionesper-
litar el uso y administración. Las herramientas creadas             mite a los usuarios ejecutar guiones SQL construidos'
por los fabricantes han permitido-la mejora del núcleo              de forma interactiva o desde un archivo. El supervisor
del conjunto de herramientas del programa.                          del rendimiento permite al usuario supervisar varios
    El centro de control DBl es la herramienta primaria             eventos en el sistema de la base de datos-y obtener ins-
para eluso y administración de bases de datos DE2. El               tanténeas del rendimiento. SmartGuides proporciona
centro de control se ejecuta sobre muchas plataformas               ayuda para la configuración de parámetros del sistema
del tipo estación de trabajo. Tiene interfaces para admi-           DB2. Un constructor de procedimientos almacenados
nistrar objetos de distintos tipos, tales como servidores.         ayuda al usuario a desarrollar e insralar estos procedi-
bases de datos, tablas e índices. Además contiene inrer-           mientos. Laexplicación       visual da al usuario Vistas gré-
faces orientadas en las tareas para ejecutar comandos y             ficas del plan de ejecución de la consulta. Un asistente
permite a los usuarios generar secuencias de comandos              4e índices ayuda.al administrador sugiriendo índices de
SQL.                                                               rendimiento.
   La Figura 26.10 es una pantalla del panel principal                  Aunque el centro de control es una interfaz integrada
del centro de control. Muestra una lista de tablas en la           de muchas de las tareas, DBl también proporciona acce-
base de datos Sample en la instancia DBl sobre el nodo             SO, directo a la mayoría de las tareas. Para los usuarios las
CranKarm. El administradorpuede     utilizar el menú para          herramientas tales como la carácterística de explicación.
invocar un conjunto de herramientas componentes. Los               las tablas de explicación y la explicación gráfica pro-
componentes principales del centro de control son el               porcionan un análisis detallado de los planes de consul-
centro de órdenes, el centro de guiones, diario, ge-stión          ta. Lbs usuarios pueden utilizar el centro de control para
de licencias, centro de alertas, supervisor del reñdi-             modificar las estadísticas (si se permite la modificación)
miento, explicación visual, administración de, bases de            con el fin de generar los mejores planes de consulta.
datos remotas; gestión de almacenamiento        y soporte               Para los administradores. DBl proporciona un sopor-
pam la réplica. El centro de órdenes permite a los usua-           le completo' para la carga, importación.        exportación,
nos y administradores enviar órdenes de la base de datos           reorganización,    redistribución y otras utilidades rela-
                                                             641
'FUNDAMENTOS   DE BASES    DE DATOS




               EJ"''Il    Sistemas
                   El     11I P(-PROV
                          8-6 Instancias
                            El !3       DB2
                                ..@@¡i!'¡~~



FIGURA 26.10. Centro de control DB2,


cionadas con los datos. Además;          DE2 soporta herra-             • Supervisor de consultas para gestionar                              los traba-
mientas ta1es como:                                                       jos de consulra en el sistema
   • Auditoría para el mantenimiento      de la traza de                  Características   de traza y diagnóstico para la depu-
     auditoría de' las acciones sobre la base de datos                    ración
   • Regulador para controlar la prioridady      tiempos de               Supervisión de-eventos para seguir los recursos y
     ejecución en distintas aplicaciones                                  eventos durante la ejecución del sistema.




Este capitulo proporciona una breve sinopsis de carac-               sionable y relacional orientado a objetos. En las notas
terísticas disponibles' en DB2. Como resumen, DB2 es                 bibliográficas se citan libros y guías más completos so-
un servidor de bases de datos multi-platafonna, dimen-               bre DB2.



                                                                                                                     "       ,   __   o   "




                                                                                                 ;".'-,,-':,:<;','."- .----.'.:',:<:'-"'--


Chamberlin      [1996] Y Chamberlin      [1998J proporcio-           ha sido un participante activo en la estandarización de
nan una buena revisión de las características        de SQL          XQuery. Se puede encontrar detalles sobre la extensión
y programación de DB2. Los primeros-libros de Date                   XML dé Da2 en línea en el sitio
[1989 J y Martin er al. [19891 proporcionan          un buen             http://www.software.ibm.com/dala/db2/cxten-
repaso de las caractcrtsticas de DB2 para OS/390. Los                ders/xrn lext.
manuales de DE2 proporcionan revisiones definitivas                      Para una descripción detallada de los modos de blo-
de varias versiones      de DB2. La mayoría de estos                 queo y su uso véase DB2 Administration Guide (capí-
manuales      están disponibles      en línea en, el sitio           tulo Application Considerations),     que está disponible
htrp.Zwww.software.ibm .com/data/pubs. Libros recien-                en línea en http://www.software.ibm.com/data/pubs.
 tes que proporcionan un entrenamiento        práctico ,para         Mohan [l990al y Mohan y Levine [1992J proporcio-
 el uso y administración de DB2 son Zikopoulos ~t. al.               nan descripciones detalladas del control de concurren-
  [20001, Sanders [20001 y Cook et al. [1999]. Final-                cia de fndices en 082.
  mente, Prentice Hall está publicando una serie com-                    Las contribuciones a la investigación de lBM, algu-
  pleta de libres-sobre el enriquecimiento   y-certificación         nas de las cuales se listan más adelante, han mejorado
  sobre varios aspectos de DE2.                                      continuamente      el producto DB2. Chamberlin       et al.
      La investigación de IBM sobre XML incluye Shan-                [198-1) proporciona una historia y evaluación del pro-
  mugasundaram et.al. [2000] y Carey et at. [2000]. IBM              yecto System R, que.jugó una función crucial en el desa-
                                                               642
CAPiTULO 26   'JB2 DE IBM



        rrollo de bases de datos relacionales y condujo al          Mohan el al. [1992]. El procesamiento y optimización
        desarrollo del producto DB2. El problema Halloween          de consultas en Srarbrust se describen en Haas et al.
        y otros aspectos de la historia de System R aparecen en     [1990]. El procesamiento en paralelo en DB2 Parallel
           http://www.mcjones.org/System        RISQL Reunion       Edition se describe en Baru el al. [1995J. El soporte de
        95/index.html.                                              bases de datos activas, incluyendo las restricciones y
           Las récnícasdeorocesamíenro transacciones
                                            de             fajes Josdisnaradores, describenen Cocbrane al.) 199ªJ.
                                                                                       se                       et
    como er'regrsrro fí(<;(ohé.o aéescntura an({érpadá y (os    Clireyer ar: (f9'r9'[ déscnoe·e(sopone-re{ácrána( orten-
    algoritmos de recuperación ARIES se describen cn            tado 'a objetos en DB2.




)

Weitere ähnliche Inhalte

Was ist angesagt?

Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Henry Cumbicus Rivera
 
Dbms Existentes
Dbms ExistentesDbms Existentes
Dbms Existenteseder8
 
Sistemas de gestores de base de datos
Sistemas de gestores de base de datosSistemas de gestores de base de datos
Sistemas de gestores de base de datosHernan Okamura
 
Sistema Gestor de Base de Datos
Sistema Gestor de Base de DatosSistema Gestor de Base de Datos
Sistema Gestor de Base de DatosBenel Diaz
 
Qué es un dbms
Qué es un dbmsQué es un dbms
Qué es un dbmsmat3matik
 
Sistemasgestoresdebasededatosrelacionales
SistemasgestoresdebasededatosrelacionalesSistemasgestoresdebasededatosrelacionales
SistemasgestoresdebasededatosrelacionalesRafael Navarro Prieto
 
ANSI SQL
ANSI SQLANSI SQL
ANSI SQLMartha
 
Los gestores de base de datos
Los gestores de base de datosLos gestores de base de datos
Los gestores de base de datosEduardo Agila
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosActimel
 
sistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionalessistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionalesEduardo Bernal Loayza
 
Sistema gestor de base de datos
Sistema gestor de base de datosSistema gestor de base de datos
Sistema gestor de base de datoskarlaaponte
 
Dbms más utilizados
Dbms más utilizadosDbms más utilizados
Dbms más utilizadosjro1007
 
Comparaciones entre SGBD
Comparaciones entre SGBD Comparaciones entre SGBD
Comparaciones entre SGBD JonathanUCV
 

Was ist angesagt? (20)

Ibm db2
Ibm db2Ibm db2
Ibm db2
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Dbms Existentes
Dbms ExistentesDbms Existentes
Dbms Existentes
 
Gestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativosGestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativos
 
Sistemas de gestores de base de datos
Sistemas de gestores de base de datosSistemas de gestores de base de datos
Sistemas de gestores de base de datos
 
Sistema Gestor de Base de Datos
Sistema Gestor de Base de DatosSistema Gestor de Base de Datos
Sistema Gestor de Base de Datos
 
Qué es un dbms
Qué es un dbmsQué es un dbms
Qué es un dbms
 
Sistemasgestoresdebasededatosrelacionales
SistemasgestoresdebasededatosrelacionalesSistemasgestoresdebasededatosrelacionales
Sistemasgestoresdebasededatosrelacionales
 
Comparativa SGBDR
Comparativa SGBDRComparativa SGBDR
Comparativa SGBDR
 
ANSI SQL
ANSI SQLANSI SQL
ANSI SQL
 
Los gestores de base de datos
Los gestores de base de datosLos gestores de base de datos
Los gestores de base de datos
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
sistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionalessistemas gestores de base de datos, bd relacionales y no relacionales
sistemas gestores de base de datos, bd relacionales y no relacionales
 
MICROSOFT ACCESS
MICROSOFT ACCESSMICROSOFT ACCESS
MICROSOFT ACCESS
 
Sistema gestor de base de datos
Sistema gestor de base de datosSistema gestor de base de datos
Sistema gestor de base de datos
 
Sistemas gestoresdebasededatos
Sistemas gestoresdebasededatosSistemas gestoresdebasededatos
Sistemas gestoresdebasededatos
 
Dbms más utilizados
Dbms más utilizadosDbms más utilizados
Dbms más utilizados
 
Gestor de Base de Datos
Gestor de Base de DatosGestor de Base de Datos
Gestor de Base de Datos
 
Comparaciones entre SGBD
Comparaciones entre SGBD Comparaciones entre SGBD
Comparaciones entre SGBD
 

Ähnlich wie DB2

Sgbd roberto escriche marcelo hualoto
Sgbd roberto escriche marcelo hualotoSgbd roberto escriche marcelo hualoto
Sgbd roberto escriche marcelo hualotoKenny24
 
Presentación1 bases de datos
Presentación1 bases de datosPresentación1 bases de datos
Presentación1 bases de datosAurora Fuentes
 
Exposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMExposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMJacob Gómez
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleOsmar Zaragoza
 
Manejadores de Bases de Datos
Manejadores de Bases de DatosManejadores de Bases de Datos
Manejadores de Bases de Datosysaacura_uft
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)Blas Balarezo Renteria
 
Versiones Microsoft SQL
Versiones Microsoft SQLVersiones Microsoft SQL
Versiones Microsoft SQLLuis Vázquez
 

Ähnlich wie DB2 (20)

Db2
Db2Db2
Db2
 
ORACLE VS IBM DB2.pptx
ORACLE VS IBM DB2.pptxORACLE VS IBM DB2.pptx
ORACLE VS IBM DB2.pptx
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Sgbd roberto escriche marcelo hualoto
Sgbd roberto escriche marcelo hualotoSgbd roberto escriche marcelo hualoto
Sgbd roberto escriche marcelo hualoto
 
Diapositivas de sql server 2012
Diapositivas de sql server 2012Diapositivas de sql server 2012
Diapositivas de sql server 2012
 
Presentación1 bases de datos
Presentación1 bases de datosPresentación1 bases de datos
Presentación1 bases de datos
 
Exposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMExposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBM
 
Tarea 1 bd
Tarea 1 bdTarea 1 bd
Tarea 1 bd
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracle
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Manejadores de Bases de Datos
Manejadores de Bases de DatosManejadores de Bases de Datos
Manejadores de Bases de Datos
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
Microsoft
MicrosoftMicrosoft
Microsoft
 
Versiones Microsoft SQL
Versiones Microsoft SQLVersiones Microsoft SQL
Versiones Microsoft SQL
 
Exposicion_Terabyte.pptx
Exposicion_Terabyte.pptxExposicion_Terabyte.pptx
Exposicion_Terabyte.pptx
 
Sql
SqlSql
Sql
 
Tarea 1 bd
Tarea 1 bdTarea 1 bd
Tarea 1 bd
 

Mehr von Carlos Arturo

Ejercicios De Sql BD
Ejercicios De Sql BDEjercicios De Sql BD
Ejercicios De Sql BDCarlos Arturo
 
Arquitectura De Aplicaciones
Arquitectura De AplicacionesArquitectura De Aplicaciones
Arquitectura De AplicacionesCarlos Arturo
 
Creación de una base de datos
Creación de una base de datosCreación de una base de datos
Creación de una base de datosCarlos Arturo
 
Usuarios Y Administradores
Usuarios Y AdministradoresUsuarios Y Administradores
Usuarios Y AdministradoresCarlos Arturo
 
Historia de los sistemas de bd
Historia de los sistemas de bdHistoria de los sistemas de bd
Historia de los sistemas de bdCarlos Arturo
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datosCarlos Arturo
 
Instalación de SQL 2005 & SQL Management Studio
Instalación de SQL 2005 & SQL Management StudioInstalación de SQL 2005 & SQL Management Studio
Instalación de SQL 2005 & SQL Management StudioCarlos Arturo
 
Sitios Web Recomendados
Sitios Web RecomendadosSitios Web Recomendados
Sitios Web RecomendadosCarlos Arturo
 
Check list para el diseño de bd
Check list para el diseño de bdCheck list para el diseño de bd
Check list para el diseño de bdCarlos Arturo
 
1.7 Gestiòn de transacciones
1.7 Gestiòn de transacciones1.7 Gestiòn de transacciones
1.7 Gestiòn de transaccionesCarlos Arturo
 
1.8 Estructura De Un Sistema De Base De Datos
1.8 Estructura De Un Sistema De Base De Datos1.8 Estructura De Un Sistema De Base De Datos
1.8 Estructura De Un Sistema De Base De DatosCarlos Arturo
 
Calendario De 2010(2)1
Calendario De 2010(2)1Calendario De 2010(2)1
Calendario De 2010(2)1Carlos Arturo
 
Programa de estudios SIO
Programa de estudios SIOPrograma de estudios SIO
Programa de estudios SIOCarlos Arturo
 
Criterios De Operaciòn
Criterios De OperaciònCriterios De Operaciòn
Criterios De OperaciònCarlos Arturo
 
Criterios De OperacióN Catg
Criterios De OperacióN CatgCriterios De OperacióN Catg
Criterios De OperacióN CatgCarlos Arturo
 
Ejemplo ReseñA Brasil
Ejemplo ReseñA BrasilEjemplo ReseñA Brasil
Ejemplo ReseñA BrasilCarlos Arturo
 
Ejemplo ReseñA Libro Grudnitski
Ejemplo ReseñA Libro GrudnitskiEjemplo ReseñA Libro Grudnitski
Ejemplo ReseñA Libro GrudnitskiCarlos Arturo
 

Mehr von Carlos Arturo (20)

Ejercicios De Sql BD
Ejercicios De Sql BDEjercicios De Sql BD
Ejercicios De Sql BD
 
Arquitectura De Aplicaciones
Arquitectura De AplicacionesArquitectura De Aplicaciones
Arquitectura De Aplicaciones
 
Creación de una base de datos
Creación de una base de datosCreación de una base de datos
Creación de una base de datos
 
Usuarios Y Administradores
Usuarios Y AdministradoresUsuarios Y Administradores
Usuarios Y Administradores
 
Historia de los sistemas de bd
Historia de los sistemas de bdHistoria de los sistemas de bd
Historia de los sistemas de bd
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Instalación de SQL 2005 & SQL Management Studio
Instalación de SQL 2005 & SQL Management StudioInstalación de SQL 2005 & SQL Management Studio
Instalación de SQL 2005 & SQL Management Studio
 
Sitios Web Recomendados
Sitios Web RecomendadosSitios Web Recomendados
Sitios Web Recomendados
 
Check list para el diseño de bd
Check list para el diseño de bdCheck list para el diseño de bd
Check list para el diseño de bd
 
1.7 Gestiòn de transacciones
1.7 Gestiòn de transacciones1.7 Gestiòn de transacciones
1.7 Gestiòn de transacciones
 
1.8 Estructura De Un Sistema De Base De Datos
1.8 Estructura De Un Sistema De Base De Datos1.8 Estructura De Un Sistema De Base De Datos
1.8 Estructura De Un Sistema De Base De Datos
 
Calendario De 2010(2)1
Calendario De 2010(2)1Calendario De 2010(2)1
Calendario De 2010(2)1
 
Oracle
OracleOracle
Oracle
 
Microsoft SQL
Microsoft  SQLMicrosoft  SQL
Microsoft SQL
 
Programa de estudios SIO
Programa de estudios SIOPrograma de estudios SIO
Programa de estudios SIO
 
Criterios De Operaciòn
Criterios De OperaciònCriterios De Operaciòn
Criterios De Operaciòn
 
Criterios De OperacióN Catg
Criterios De OperacióN CatgCriterios De OperacióN Catg
Criterios De OperacióN Catg
 
Ejemplo ReseñA Brasil
Ejemplo ReseñA BrasilEjemplo ReseñA Brasil
Ejemplo ReseñA Brasil
 
Resena
ResenaResena
Resena
 
Ejemplo ReseñA Libro Grudnitski
Ejemplo ReseñA Libro GrudnitskiEjemplo ReseñA Libro Grudnitski
Ejemplo ReseñA Libro Grudnitski
 

Kürzlich hochgeladen

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 

Kürzlich hochgeladen (20)

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 

DB2

  • 1. L afamilia de productos DB2 Universal Darabase de IBM consiste en servidores de bases de datos y un conjunto de productos relacionados. DB2 Universal Database Server está disponible en muchas plataformas hardware y sistemas operativos, abarcando desde mainjrames (grandes ordenadores centrales) y grandes servidores a estaciones de trabaje e incluso a pequeños dispositivos de bolsillo. Se ejecuta en una serie de sistemas operativos IBM y de otras, marca". Everyplace Bdition soporta sistemas operativos tales como PalmOS, Wmdows CE yotros. Las aplicaciones pueden migrar fécílrnente desde las plataformas de gama baja a servidores de gama alta. Además del motor del núcleo de la base de datos, la familia DB2 consta también de varios otros productos que proporcionan herra- mientas, administración, replicas. acceso a datos distribuido, acceso a datos generalizados, aLAP y otras muchas caracreífsticas. En la Figura 26.1 se describen los diferentes productos en la familia. El origen de DB2 se remonta al proyecto System R en el Centro de Investigación de Almadén (Almaden Research Center) de IBM (entonces denominado Laboratorio de investigación de San José de IBM; IBMSan Jose Research Laboratory). El primer producto DB2 se lanzó en 1984 sobre la plataforma mainframe de IBM. Fue seguido por otras versiones para otras plataformas. IBM ha mejorado continuamente el producto DB2 en áreas tales como procesamiento de transacciones (registro histórico de escritura anticipada y los algoritmos de recuperación ARIES),'procesamientb y optimización de consultas (proyecto de investigación Starbursr), procesamiento en paralelo (DB2 Parallel Edition}, soporte para bases de. datos activas (restricciones y disparadores) y soporte rela- cional orientado a objetos aprovechando las innovaciones de su división de investigación. Se pue- den ver las notas bibliográficas para referencias que proporcionan más detalles. El motor de la base de datos DB2 está disponible 'en cuatro bases de código diferentes: (1) OS/390. (2) VM, (3) AS/4QO y (4) resto de plataformas. Los elementos comunes en todas estas bases de código son interface-s externas (en concreto el lenguaje de definición de datos (LDD) y SQL) y herramientas básicas tales como administración. Sin embargo, existen diferencias como resultado de diferentes historias de desarrollo para las bases de código. El resto de este capítulo se enfocará en DB2 Universal Database System de plataformas Unix, Windows y OS/2. Se reseña- rán las características específicas de interés en otros sistemas DBl cuandose considere apropiado. Servidores de bases de datos DB2 UDB para Unix. Windows, OS/2, Linux DB2 UDB para OS/390 DB2 UDB para AS/400 DB2 para VMNSE Desarrollo de aplicaciones Gestión de contenidos VisualAge para Java, C++ ContentManager VisualAge Generatór Ccnteni Manager VideoCharger DB2 Forms para OS/390 Lotus Approach Herramientas de gestión de bases de datos DB2 Control center Inteligencia de negocios DB2 Adtnin Tools para OS/390 DB2 OLAP Servar DB2 Buffer Pool Tcot DB2 Intelligent Miner DB2 Estlmatorpara 05/390 DB2 Spatial Extender DB2. Pelformance Monitor DB2 werebocse Manager DB2 Visual Explain OMF para OS1390 DB2 Query Patroller etc. Herramientas para e! negocio electrónico (E-Business) Acceso móvil a datos DB2 Net Search Extender DB2 EveryPlace DB2 XML Extender DB2 Satellite Edition Net.Deta DB2 para Websphere Multimedia IntegraciÓn de datos DB2 ObjeetRelational Extenders DB2 DataJoiner Digital Lfbrerv , DataLinks Data Replication servces DB2 Connect FIGURA 26.1. Pamitiada productos 082. '"
  • 2. FUNDAMENTOS DE BASES DE DATOS La mayor parte del diseño de base de datos y herra- terfsticas. Otra herramienta permite al administrador mientas CASE se puede utilizar para diseñar una base obtener un conjunto completo de instrucciones LDD de datos DB2. En particular, las herramientas de mode- pata una base de datos incluyendo espacios de tablas, lado de datos líderes tales como ERWin y Rarional Rose tablas, índices, restricciones, disparadores y-funciones permiten al diseñador generar sintaxis del LOO espe- que crean una réplica exacta del esquema de la base de cífica de DB2. Por ejemplo. la herramienta UML Data datos para verificación o-réplica. Modelér de Rational Rose puede generar instrucciones Para el análisis de datos DB2 proporciona soporte create dlstínct type del LDD específico de DB2 para OLAP mediante el servidor DB2 üLAP. El servidor tipos definidos por el usuario y utilizarlos posterior- DB2 OLAP puede crear un puesto de datos multidi- mente en definiciones de columnas. La mayor parte de ménsional desde una base de datos DB2 subyacente para herramientas de diseño también soportan una caracte- su análisis. El motor OLAP del producto Bssbase sé uti- rística de ingeniería inversa que lec las tabl:as del cata- liza en el servidor DB2 OLAP. DB2 también soporta logo DB2 y construye un diseño lógico para manipula- otros motores OLAP de fabricantes tales como Micro- ciones adicionales. Las herramientas pueden generar strategy y Cognos. En particular. DB2 proporciona restricciones e índices. soporte nativo para las instrucciones cube by y rollup DB2 proporciona constructoras SQL para soportar para generar cubos agregados. así como agregados jun- muchas características de bases de datos lógicas, tales to-a una o mas jerarquías en el motor-de la base de datos. como restricciones, disparadores y recursión. De igual Iruelligent Mincr y otTOSproductos de minería de datos forma, DB2soPQrta ciertas características de bases de se pueden utilizar para análisis más profundos y com- datos ffsicas tales como espacios de tablas, colas de plejos en datos DR2. memoria intermedia y división mediante el use de ins- DR2 para 05/390 tiene un conjunto muy grande de trucciones SQL. La herramienta Control Ccntcr OUT herramientas. QMF es una herramienta ampliamente para DB2 permite a los diseñadores o administradores utilizada para generar consultas ad hoc e integrarlas en emitir la instrucción LOO apropiada pata estas carac- aplicaciones. " :ª~,~~~IACIONES '-K eh Y~_'·A~ ,., ... _., ... .. ... .... , . Y EX¡ENSIQNES DE SQL DB2 soporta un amplio conjunto de características SQL Las consultas pueden utilizar el campo con este tipo en para varios aspectos del procesamiento dc la base de los predicados como en el siguiente ejemplo: datos. Muchas de las características y sintaxis de DB2 select Producto han proporcionado labase de los estándares en SQL-92 from Ventas_Europa y SQL: 1999. Este apartado resalta las características rela- where Precio> EURO( 1000) cionales orientadas a objetasen DB2 UDB'versión 7. El lector puede encontrar referencias para completar la des- Los tipos de datos estructurados son objetos com- cripción del soporte para SQL de DB2dc lBM, asf como plejos que nonnalmcnte se componen de dos o-mas atri- extensiones al soporte XML en las notas bibliográficas. butos. El siguiente código declara un tipo de datos estructurado denominado tdepartmento: 26.2.1. Soporte para tipos de datos create type t_departmento as (nombredept varchar(32), DB2 soporta tipos de datos-definidos por el usuario. Los directordcpt varcharrjz), usuarios pueden definirtipos de datos distintos o estruc- número mteger) turados. Los tipos de datos distintos se basan en los tipos mode db2sqJ de datos incorporados en DBl. Sin embargo, los usua- rios pueden definir semánticas adicionales o altemati- Los tipos estructurados se pueden utilizar para definir vas para estos nuevos tipos. Por ejemplo, el usuario pue- tablas con tipos. de definir un tipo de datos distinto denominado EURO create table dept of t deparrmento como Con el LDD un diseñador de sistema puede crear una create distinct type EURO as decimaJ(9,2). jerarquía de tipos y tablas en la jerarquía que puede here- dar métodos especí1icos y privilegios. Los tipos estruc- Por consiguiente, el usuario puede crear un campo (por turados también 'se pueden utilizar para definir atribu- ejemplo, PRECIO) en una tabla cuyo tipo sea EURO. tos' anidados dentro de una columna o tabla. 630
  • 3. CAP!TUL026 DB2 DE IBM 26.2.2. Funciones y métodos definidos de caracteres de gran tamaño de dos bytes (Double Byte por el usuario Characrer Large Objects, DBCLOBs). DB2 organiza estos LOBs como objetos separados, con cada fila en la Otra característica importante es que los usuarios pue- tabla manteniendo punteros a sus LOBs correspon- den definir sus propias funciones y métodos. Estas fun- dientes. Los usuarios pueden registrar UDFs que mani- ciones se pueden posteriormente incluir en instruccio- pulen estos LOBs según los requisitos de la aplicación. nes y consultas SQL. Las funciones pueden generar escalares (único atributo) o tablas (fila multiatributo) como resultado. Los usuarios pueden registrar funcio- 26.2.4. Soporte para XML nes (escalares o de tablas) mediante el uso de la ins- DB'2integra el soporte paraXML en el servidor-median- trucción create furrctlon. Pueden escribir las funciones te el uso de XML extendido. XML extendido puede, en lenguajes de programación comunes tales comoC y extraer elementos y atributos XML en columnas de datos, Java o lenguajes de guiones tales como Rexx y Perl. Las relacionales y mejorar SQL y él poder de' indexación de funciones definidas por el usuario (FDU) pueden ope- rar en los modos separado (fenceá) y compartido (unfen- DB2. De forma alternativa también puede almacenar y recuperar documentos- XML como una única columna cedí, En el modo separado las funciones se ejecutan 'en una tabla. Puede indexar y proporcionar capacidades mediante una hebra separada en su propio espacio de de búsqueda orientada a texto en esta columna XML. El dirección. En el modo compartido se permite al agente extensor proporciona una serie de funciones incorpora- de procesamiento de la base de datos ejecutar la fun- das y APls para la composición, inserción, actualización ción en el espacio de direcciones del servidor. Las_FDU pueden definir un área de trabajo donde pueden mante- y búsqueda en documentos XML. Es probable que se' integren pronto nuevas características tales como Ia-expo- ner variables locales y estéticas en invocaciones dife- rentes. sición de los datos DB2como servicio Web mediante el protocolo SOAP y soporte de consultas XML. Otra característica son los métodos asociados con los objetos, los cuales definen el comportamiento de los obje- los. Los métodos están asociados con tipos de datos 26.2.. . Extensiones 5 de índices y restricciones estructurados particulares y se registran mediante el uso 'de la instrucción create method. Una caracrerfstica reciente de DB2 proporciona un cons- tructor create index extension que ayuda a crear índi- ces sobre atributos con tipos de datos estructurados 26.2.3. Objetos de gran tamaño mediante la generación de claves a partir de los tipos de Las nuevas aplicaciones de las bases de daros requie- datos estructurados. Por ejemplo, un usuario puede cre- ren la manipulación de texto, imágenes, vídeo y otros ar un índice en un atributo cuyo tipo es rdepartamen- tipos de datos típicos que son bastante grandes. DB2 to (definido en la sección 26.2.1) mediante la genera- soporta estos requisitos, proporcionando tres tipos de ción de claves con el nombre departamento. El extensor objetos de gran tamaño (LOB. Large Object) distintos. espacial de DB2 utiliza el método de extensión de índi- Cada LOB puede ser de hasta 2 gigabytes de tamaño. ce para crear índices sobre los datos espaciales. DB2 Los objetos de gran tamaño en DB2·son (1) objetos en también proporciona un rico conjunto de característi- binario de gran tamaño (Binary Large Objetes, BLOBs), cas de verificación de restricciones para imponer la (2) objetos de caracteres de gran tamaño de-un único semántica de los objetos tales como unicidad, validez byte (Character Large Objects, CLOBs) y (3) objetos y herencia. IBM DB2 proporciona una serie de características para tabla a nodos diferentes en un sistema. Por ejemplo. las el almacenamiento e indexación de datos. tablas de gran tamaño se pueden dividir entre todos los nodos en un sistema mientras que las tablas pequeñas 26.3.1. Arquitectura de almacenamiento pueden residir en un único nodo. Las tablas se dividen por asociación entre los nodos en el grupo de nodos uti- DB2 proporciona abstracciones de almacenamiento para lizando un subconjunto de sus atributos (clave de divi- gestionar tablas de base de datos lógicas eh entornos sión). rnultinodo (paralelo) y multidisco. Se pueden definir Dentro de un nodo, DB2 utiliza espacios de tablas grupos de nadas para soportar la división de la tabla en para reorganizar la tabla. Un espacio de tablas consiste conjuntos especificados de nodos en un sistema multi- en uno o más contenedores que son referencias a direc- nodo. Esto permite flexibilidad al asignar particiones de torios, dispositivos o archivos. Un espacio de' tablas pue- 631
  • 4. , FUNDAMENTOS DE BASES DE DATOS de contener cero o más objetos de base de datos tales gestiona el espacio de tablas DMS. En ambos casos la como tablas, índices o LOBs. La Figura 26.2 ilustra unidad de espacio de almacenamiento es una extensión ji estos conceptos. -En esta figura se definen dos espacios de tablas para un grupo de nodos; Al espacio de tablas de páginas. El administrador puede elegir el tamaño de la extensión para un espacio de tabla. DB2 soporta la RECHUMANüS se asignan cuatro contenedores mien- distribución en distintos contenedores. Por ejemplo, tras que el espacio de tablas PLAN tiene solamente un cuando se insertan los datos en una tabla recientemen- contenedor. Las tablas EMPLEADO y DEPARTA- te-creada, DB2 asigna la primera extensión a un conte- MENTO están en el espado de tablas RECHUMANOS nedor. Una vez que la extensión esté llena asigna los r mientras que la tabla PROYECTO está en el espacio de tablas PLAN. La distribución de datos asigna fragmentos siguientes datos al siguiente contenedor por tumos rota- torios. La distribución proporciona dos ventajas signi- (extensiones) de las tablas EMPLEADO y DEPARTA- ficativas: E/S paralela y balance de carga. DB2'también MENTO a los contenedores del espacio de tablas soporta la preextracción y escrituras asíncronas median- RECHUMANDS. DBl permite al administrador crear te el uso de hebras separadas. El componente de ges- tanto espacios de tablas gestionados por el sistema como tión de datos de DB2 desencadena la preextraccion de por él SGBQ. Los espacios de tablas gestionados gor el páginas de datos y de índices según los patrones de acce- sisrema (System-managed spaces, SMSs) son directo- so de las consulta". Por ejemplo, una exploración de una rios o sistemas de archivo que mantiene el sistema ope- tabla siempre desencadena la preextracción de páginas rativo subyacente. En un SMS, DB2 crea objetos archi- de datos. La exploración de'l índice puede desencade- vo en los directorios y asigna datos. a cada uno de los nar la preextracción de páginas de índices así como' las archivos, Los espacios de tablas gestionados por el páginas de datos si se está accediendo de una forma SGBD (Data ManagedSpaces, DMSs) son dispositivos agrupada. El número de preextracciones concurrentes en bruto o archivos preasignadós que son controlados así como el tamaño de la preextracción son parámetros por DBl. El tamaño de estos contenedores nuncapue- configurables que se necesitan iniciar según el numero de crecer o disminuir. DB2 crea mapas de-asignación y de discos o contenedores en el espacio de tablas. .., Nodegroup MisDepts T~ RECHUMANOS 'rebieseece PLAN . . Departamento Empleado Proyecto . Contenedores FIGURA 26.2. Espacios de tablas y contenedores en DB2. 632
  • 5. CAPITULO 26 Df2 D~ IBM 26.~.2.Tablas. registros e índices se mantienen en un orden de agrupamiento orientado a la página según las claves del índice. DB2 organiza los datos relacionales como registros en Los índices DB2 pueden almacenar columnas extra las páginas. La Figura 26.3 muestra la vista lógica de junto con los identificadores de registro en el nivel dc una tabla y un índice asociado. La tabla-consiste en un las hojas de los índices. Por ejemplo, conjunto de páginas. Cada página consiste en un con- junto de registros (tanto registros de datos del usuario create unique index 11 on TI (Cl) inelude (C2) tomo registros especiales del sistema). La pagina cero de la tabla contiene registros' del sistema especiales sobre especifica que C2 se va a incluir como una columna extra la tabla y su estado. DB2 utiliza un registro del mapa en un índice sobre la columna Cl. Las columnas incluí- de espacio denominado registro de control de espacio das permiten a DB2 utilizar las técnicas de procesamiento libre (Free Space Control Record, FSCR) para, encon- de la 'consulta «sólo con el Indico» (evitando la lectura trar el espacio libre en la tabla. El registro FSCR nor- del registro real) para consultas que utilizan las colum- malmente contiene un mapa de espacio de 500 páginas. nas incluidas, lo que no sería posible en otro caso (el pro- Una entrada FSCR consiste en unos pocos bits que pro- 'Cesamiento de la consulta sólo con el índice-se describi- porcionan una indicación aproximada del porcentaje de rá ton más detalle en breve). Se pueden utilizar directrices espacio libre en la página; por ejemplo, con dos bits, el adicionales tales como MINPCUSED y PCTFREE para patrón de bits 1I indicaría que la mayor parte de la pági- controlar la unión de páginas de índices y su asignación na puede estar libre mientras que 01 indicaría que alre- de espacio inicial durante fa carga masiva. dedor del 25 por-ciento del espacio está libre. Para redu- La Figura 26.4 muestra el formato de datos típico en cir el coste de actualización, las entradas no siempre se DB2. Cada página de datos contiene una cabecera y un actualizan con el uso del espado real, por lo que el códi- directorio de ranuras. El directorio de ranuras es un array go de inserción o actualización debe validar las entra- de 2.55 entradas que apuntan a los desplazamientos de das FSCR realizando una verificación física del espa- los registros en la página, La figura muestra que el núme- cio disponible en una, página. ro de página 473 contiene el registro cero en el despla- Los índices se organizan como páginas que contie- zamiento 3.HOO y el registro 2 en el desplazamiento nen registros índice y punteros a páginas hijas y herma- 3.400. La página IQ56 contiene un registro 1 en el des- nas. DB2 proporciona soporte para los mecanismos de plazamiento 3.700, que es realmente un puntero hacia índices de.érbol B+. El índice de árbol B' contiene pági- -delante al registro <473,2>. Por ello el registro <473, 2 nas internas y páginas hoja. Los índices tienen punteros > es un registro de desbordamiento que fue creado por bidimensionales en el nivel hoja para soportar explora- una operación de actualización del registro < lO56~ l > cienes hacia delante y atrés. Las páginas hoja contienen original. DB2 soporta distintos.tamaños de página tales entradas de 'índice que apuntan a los registros de la tabla. como 4 KB, 8 KB, 16 KB Y 32 KB. Sin embargo, cada Cada registro de una tabla tiene un identificador de regis- página puede contener solamente 255 registros de usua- tro único (Register ID, RID) construido a partir de su no. Los tamaños de página mayores son útiles en apli- identificador de página y deranura en la página (la estruc- caciones tales cómo almacén de datos donde la tabla tura de páginas con ranuras se describe en breve). Se contiene muchas columnas. Los tamaños de página puede definir un índice como los índices de agrupación menores son útiles para datos operacionales con frc- de la tabla. Si se define este-índice, los registros de datos cuentes actualizaciones. Vista lógica de la página Vista lóqica del índice La página O contiene un conjunto ~ de registros internos (por ejemplo, FSCR) rr."';¡¡:;n~~l K RID __ 2 r;;;;;1.-J--: R:eg¡S'ros de usuario K RID ~ } 'F = CRID ~ R ARIO Pági~~as ~ Cada páqjna múltiplo C 3,2 hOJ~ 500 ) de 500 contiene otro FSCR Más registros de usuario RID (Record ID, ID de registro) = página 3, ranura 2 FIGURA 26.3. Vista lógica de las labias e índices en D62. .33
  • 6. FUNDAMENTOS DE BASES DE DATOS Núm.. página "---l 1056 Núm. ranura [1] I 3 bytes 1 byte Página 473 Página 1056 -- Espacio libre Cabecera de página Cabecera de página (se puede usar 3.800 -1 3.400 .•------- 3.800 1 3.700 1,,---" -- -- - x sin reorganizar la página"), Espacio libre incorporado Registro 2 (se puede usar después de Registro O - 473,.2· Registro O reorganizar la página",) • establecido en la creación del espacio de tablas "Excepción: no se puede usar ningún espacio reservado por un borrado no comprometido FIGURA 26.4. Diseño de las páginas de datos y de los registros en D82 ", El compilador de consultas de DB2 transforma las con- 26.4.1. Métodos de acceso sulras en un árbol dé operaciones. DB2 utiliza enton- DB2 soporta un conjunto detallado de métodos de acce- ces el árbol de operadores de la consulta en tiempo de so sobre tablas relacionales, incluyendo. ejecución para el procesamiento. DB2 soporta un rico conjunto de operadores de consulta que permiten con- • Exploración de tabla. Con este método, el más siderar mejores estrategias de procesamiento y pro- básico. se accede a todos los registros en la tabla porcionan flexibilidad en la ejecución de consultas com- página, por página. plejas. • Exploración de índice. DB2 utiliza un índice-para Las Figuras 26.5 y 26.6 muestran una consulta y su seleccionar los registros especificos que 'satisfacen plan de consulta asociado. Se trata de una consulta com- la consulta. Accede a los registros utilizando los pleja representativa (consulta 5) de la prueba TPC-H y RIDs en el índice. DB2 detecta las posibilidades contiene varias reuniones y agregaciones. El plan de de la preextracción de las páginas de datos cuan- consulta en este ejemplo es bastante simple. puesto que do observa un patrón de acceso secuencial. solamente se definen pocos índices y no están dispo- Sólo con el índice. Este tipo dé exploración se uti- nibles para esta consulta estructuras auxiliares como liza cuando el índice contiene todos los atributos las vistas materializadas. DB2 proporciona varias carac- que requiere la consulta. Por ello es suficiente una terísticas de explicación del plan incluyendo una poten- exploración de las entradas de índice y no hay tecaracterística visual en el centro de control que pue- necesidad de extraer los registros. La técnica 'sólo de ayudar a los usuarios a comprender los detalles del con el índice es normalmente una buena elección plan de ejecución de la consulta. El plan de consulta desde el punto de vista del rendimiento. en la figura está basado en la.explicación visual de la consulta. La explicación visual permite al usuario com- • Lista de preextracclón, Este método de acceso es prender los costes y otras propiedades relevantes de las una buena elección para una exploración de índi- distintas operaciones de un plan de consulta. ces no agrupada con un número significativo de DB2 transforma todas las consultas e instrucciones RIDs. DB2 recoge los RIDs de los registros rele- SQL, sin importar lo complejas que sean, en un árbol vantes utilizando una exploración de índices, de consulta. La base u operadores. hoja del árbol de entonces ordena los RIDs por el riúmero de pági- consulta manipulan los registros en tablas. de base de na y finalmente realiza una extracción de los regis- datos, Estas operaciones también se denominan méto- tros de forma ordenada desde las páginas de datos. I dos de acceso. Las operaciones intermedias del árbol Bl-acceso ordenado cambia el patrón E/S de alea- ! torio a secuencial y también ofrece posibilidades incluyen operaciones del álgebra relacional tales como ti reuniones, operaciones de conjuntos y agregaciones. de preextracción. La raíz del árbol produce los resultados de la consul- • Conjunción de 'índices. DB2 utilizaeste método ta o instrucción SQL. cuando determina que se puede utilizar más de un 634
  • 7. C}¡PiTULO 26 DB2 DEIBM -'TPeD Local Supplier Volume Query (05)'; seise! N_NAME, sum(l_EXTENDEDPRlce""(l-L_DISCOUNT)) as REVENUE from TPCD.CUSrDMER, TPCO.QRDERS, TPCD.LlNEITEM, TPCO.SUPPLlER, TPCO.NATIQN, TPeO.REGION where C_CUSTKEY ~ O_CUSTKEY and O_ORDERKEY = L_ORDERKEY and L..SUPPKEY = S_SUPPKEY and,C_NATIONKEY = S_NATIONKEY and S_NATIDNKEY = N_NATlDNKEY and N_REGIDNKEY = R_REGIONKEY and R_NAME = 'MIDDLE EAST' and O_ORDERDATE >= dater1995-01-01') and O_ORDERDATE < date('1995-Ql-0")+ 1 year group by N_NAME order by REVENUE DESe; FIGURA 26.5. Consulta SOL índice para restringir el número de-registros satis- Disyunción de índices. Esta estrategia es una bue- factorios en una tabla base. Procesa el índice más na elección si se pueden utilizar dos o más índices selectivo para generar una lista de.RIDs. Entonces para satisfacer los predicados de la consulta que procesa el siguiente índice selectivo para devolver se combinan utilizando la operación DR. DS2 eli- los RIDs que'encucníra. Un RlD requiere más pro- mina los RlDs duplicados realizando una ordena- cesamiento solamente si está presente en la inter- ción y entonces extrae el conjunto de registros sección (operación ANO). de los resultados de la resultante. exploración del 'índice. El resultado de una opera- -cion AND del índice es una pequeña lista del RlDs DB2 normalmente envía todos los predicados' de que se utilizan para extraer los registros corres- selección y proyección dc una consulta a los métodos pondientes desde la tabla base. de acceso. Además DB2 envía ciertas operaciones tales s Ordenación 1 Exploración del índice e 1 croere 1- s- Exploración os. 1 a- Supplier es Netíon Region do FIGURA26.6. Plan de consulta DB2 (explicaciún.qráfica). un 6:35
  • 8. FUNDAMENTOS DE BASES DE DATOS como la ordenación y la agregación, siempre que es para soportar los modos SMP, MPP y SMP por agrupa- posible, con el fin de reducir el coste. ciones del procesamiento de consultas. DB2 utiliza una abstracción tabla-cola para el intercambio de datos entre 26.4.2. Operaciones de reunión. agregación hebras sobre distintos nodos o sobre el mismo nodo. La y de conjuntos tabla-cola es una memoria intermedia que redirige los datos a receptores apropiados mediante el uso de méto- DBl soporta una serie de técnicas para las operaciones dos de difusión, uno a uno o multidifusion dirigida Las de reunión, agregación y de conjuntos. Para la reunión operaciones de control crean hebras y coordinan la ope- DBl puede elegir entre técnicas de bucles 'anidados, ración de distintos procesos y hebras. ordenación-mezcla y de asociación. Para describir las En todos estos modos DBl emplea un proceso coor- .operaciones binarias de reuniones y de conjuntos se uti- dinador para controlar las operaciones de colas y la reu- lizarala notación de las tablas externas e internas para nión del.resultado final. Los procesos de.coordinación distinguir los dos fiujosde entrada. La: técnica de bucles también pueden ejecutar algunas acciones globales de anidados es util.s¡ la tabla interna es muy pequeña o se procesamiento de la base de datos si es necesario. Un puede, acceder utilizando un índice sobre un predicado ejemplo es la operación de agregación global para com- de reunión. Las técnicas de reunión de ordenación-mez- binar los resultados de agregación local. Los subagen- cla y reunión por asociación son útiles para reuniones tes o hebras esclavos ejecutan las operaciones base en que involucran tablas internas y externas grandes. DBl uno O más modos. En el modo SMPlos subagentes uti- implementa las operaciones de conjuntos mediante el lizan memoria compartida para sincronizarse entre sí uso de técnicas de ordenación y mezcla, La técnica de cuando comparten datos. Enun MPP, los mecanismos mezcla elimina los duplicados en el caso de la unión de tabla-cola proporcionan memoria intermedia y con- mientras que los no duplicados se eliminan en el caso trol de flujo para la sincronización entre distintos nodos' de intersección. DBl también soporta operaciones de durante la ejecución. reunión externa de todas las clases. DBl procesa las operaciones de agregación en modo impaciente o de envío siempre que sea posible. Por 26A.5. Optimización de consultas ejemplo, puede realizar la agregación mientras que orde- El optimizador de consultas de DBl utiliza una repre- na la entrada de, la agregación en el grupo por colum- sentación interna, de la consulta, denominada Query nas. Los algoritmos de reunión y agregación aprove- Graph Model (QGM, modelo de grafos de consultas) chan el procesamiento superescalar en CPUs modernas con el fin de ejecutar transformacíones y optimizacio- " utilizando técnicas orientadas a bloques y conscientes nes. Después de analizar la instrucción SQL, DB2 eje- de la caché de memoria. cuta transformaciones semánticas sobre QGM para hacer cumplir las restricciones, integridad referencial y los 26.4.3. Soporte para el procesamiento de SQL disparadores. El resultado de estas transformaciones es j, complejo un QGM mejorado. Seguidamente DB2 intenta ejecu- tar transformaciones de reescritura de la consulta que Uno de los aspectos más importantes de DB2 es que uti- se consideran beneficiosas en la mayoría de las consul- liza la infraestructura de procesamiento de la consulta tas. Se activan las reglas de reescritura, si son aplica- de forma extensible para soportar operaciones SQL bles, para ejecutar lasrransformacíones requeridas. Los complejas. Las operaciones SQI,. complejas incluyen ejemplos de transformaciones de reescritura incluyen soporte.parasubconsultas profundamente anidadas y (1) descorrelación de subconsultas correlacionadas. (2) correlacionadas, así como restricciones, integridad refe- transformación de subconsultas en reuniones donde sea rencial y disparadores. Las restricciones y comproba- posible, (3) trasladar las operaciones group by bajo las ciones de integridad se construyen como operaciones reuniones si es aplicable y (4) reescritura de consultas del árbol de consulta a partir de las instrucciones SQL para hacer uso de las vistas materializadas disponibles de inserción, borrado o actualización. Mediante la eje- o «tablas resumen» '(vistas materializadas utilizando la cución de la mayoría de las acciones de verificación de agregación). restricciones y desencadenamiento como parte del plan El optimizador de consultas utiliza QGM mejorado de consulta DBl puede proporcionar una mejor efi- y transformado como su entrada para la optimización. ciencia y dimensionabíjídad. DB2 también soporta el El optimizador se basa en el coste y utiliza un entorno mantenimiento de vistas materializadas mediante.el uso extensible, controlado por reglas. Se puede configurar de disparadores incorporados. el optimizador para operar a distintos niveles de com- plejidad. En el nivel más alto utiliza un algoritmo de 26.4.4. Procesamiento de consultas programación dinámica para considerar tedas las, opcío- .en multiprocesadores nes del plan de consulta y elige el plan de coste óptimo. En un nivel intermedio el optimizador no considera cier- DB.2-extiende el conjunto base de operaciones de con- tos planes o métodos de acceso (por ejemplo, indexa- sulta con primitivas de intercambio de datos y control ción) así corno algunas reglas de reescritura. En el nivel ••6
  • 9. CAPITULO 25 DEZ DEIBM inferior de complejidad el optimizador utiliza una heu- Considérese una actualización de la forma «Aurnen- rística impaciente simple para elegir un buen, aunque tar en un 10 por ciento el -sueldo de los, empleados que no necesariamente óptimo. plan de consulta. El opti- ganen menos que 25.000 euros». En una versión ante- mizador utiliza modelos detallados de las operaciones rior de Sysrem R el optimizador elegía el índice del suel- de procesamiento de la consulta (teniendo en cuenta do para el acceso y procesaba los datos de menor a detalles tales como tamaño de la memoria y preexrrac- mayor (O a 25.000). La inserción de un nuevo valor s ción) para obtener estimaciones adecuadas de los cos- (mayor) parad sueldo significaba que el registro actua- tes de E/S y CPU. Depende de la estadística de los datos lizado se revisa de nuevo a no ser que el valor del suel- para estimar la cardinalidad y selectividades de las ope- do fuera mayor que 25.000. La causa de la revisión es r- raciones. el uso del índice del sueldo para el acceso en orden 1- DB2 permite a un usuario generar histogramas de dis- menor a mayor. Se revisaba el registro y el sueldo se in tribuciones en el nivel de las columnas y combinaciones aumentaba un 10 por ciento repetidamente hasta que-su le de columnas mediante el uso de la utilidad runsuüs. Los valor excedía a 25.000. Este error ocurrió el día de Hallo- Jn histogramas contienen información sobre las aparicio- wcen, por lo que los miembros del proyecto System R n- nes del valor más frecuente, así como sobre, las distribu- lo denominaron al error «problema Haíloween» n- ciones de frecuencia basadas en los cuantiles de los atri- DB2 soluciona el problema Halloween reconocien- en butos. El optimizador de consultas usa estas estadísticas. do esta. situación en el compilador de la consulta. El Iti- El optimizador genera un plan de consulta interno que optimizador genera un plan de consulta que primero : sí considera el mejor plan de consulta y entonces convier- materializa 19SRIDs de las filas implicadas antes de pro- íos te el plan de consulta en hebras de operadores y estruc- cesar las actualizacione-s. Cada registro implicado se m- turas de datos asociados de la consulta para su ejecución actualiza solamente una vez, como tenía intención la los mediante el motor de: procesamiento de consultas. instrucción de actualización. pre- iery Itas) DB2,soporta técnicas de control de concurrencias que con el que 'se quieren ejecutar. También, la mayoría de cio- proporcionan un muy alto nivel de concurrencia, aco- las aplicaciones comerciales disponibles soportan los eje- pladas con un mecanismo de recuperación avanzado distintos niveles de aislamiento y los usuarios pueden iacer que.soporta una serie de características. elegir la versión correcta de.la aplicación para sus requi- y los sitos. es es 28.5.1.Concurrencíc y aislamiento Los distintos modos de aislamiento se implementan jecu- mediante el uso de bloqueos. DB2 soporta bloqueos en a que DB2· soporta una serie de modos de control de concu- el nivel de registros y de tablas. Mantiene una estruc- msul- rrencia y aislamiento. Para el aislamiento DB2soporta tura de datos de bloqueo de tablas separado del resto de plica- losmodos lectura repetible (Repeatable Read, RR), esta- información de bloqueo. DB2 dimensiona el bloqueo s.Los bilidaden lectura (Read Stability, RS), estabilidad del en el nivel de registros al de tablas si el espacio dispo- luyen cursor (Cursor Stability, eS) y lectura no comprometi- nible para posteriores bloqueos en la tabla de bloqueos as, (2) da (Un-committed Read, UR). se hace pequeño. DB2 implementa: un bloqueo estricto de sea La definición de lectura repetible en DB2 difiere de de das fases para todas las transacciones de actualiza- ajo las '¡adel Apanado 16.8 y corresponde íntimamente con el ción. Mantiene bloqueos de escritura y actualización rsultas nivel secuenciable descrito allí. Específicamente, RR hasta el momento del compromiso o retroceso. mibles en DB2asegura que la exploración del rango encontra- DB2 soporta una serie de modos de bloqueo con el mdo la rá el mismo conjunto de tuplas si se repiten. Si todas-las fin de maximizar la concurrencia. La Figura 26.7 mues- transacciones siguen el protocolo RR entonces la pla- tra los distintos modos de bloqueo y proporciona una ejorado nificación resultante será secuenciable. Los modos es breve descripción del propósito de cada modo de blo- iadón. 'j UR son corno se describen en el Apartado 16.8'. queo. Abajo se muestran brevemente algunos de los ~ntomo El modo de aislamiento RS bloquea solamente las modos de bloqueo; véanse las referencias bibliográfi- lfigurar filas que recupera una aplicación en una unidad de.tra- cas para mayor información sobre, los modos de, blo- le com- bajo. En una exploración posterior la aplicación tiene queo. Los modos de bloqueo incluyen bloqueos inten- hmo de garantizado ver todas estas filas (como RR) pero podría cionales en un nivel de tabla para proporcionar bloqueo iSopcio- no ver nuevas filas que deberla ver. Sin-embargo, esto de granularidad múltiple. DB2 también implementa el óptimo. podría ser un compromiso aceptable para algunas apli- bloqueo de la clave siguiente para las inserciones y leracier- caciones con respecro-al aislamiento RR estricto. Nor- borrados que afecten a las exploraciones de índices del , indexa- malmenre el nivel de aislamiento predeterminado es CS. nivel de aislamiento RR para eliminar el problema de le} nivel Las aplicaciones pueden elegir el nivel de aislamiento la lectura fantasma. véanse las referencias bibliográfi- 6"
  • 10. l. FUNDAMENTOS DE BASES DE DATOS l,' " Modo d6 bloqueo l Objetos I Intef1Jrf1l!lCi6n IN Ilntent nene, sin intención) Espacios de tablas, tablas Lectura sin bloqueos de filas IS [lntent sbare. intentar compartir) Espacios de tablas, tablas Lectura con bloqueos de filas NS (next kev share, siguiente clave Filas Bloqueos de lectura para los niveles compartido) de eielamiento RS o es s tshare. compartido) Filas, tablas Bloqueo de lectura IX tintent exclusive. intencinnal.exclu- Espacios de tablas, tablas Intención de actualizar filas eivol SIX Ishare with intent Exclusive, com- Tablas Sin bloqueos de lectura en las filas partido intencional excluelvol pero con bloqueos X en las filas actualizadas U üjpdate, actualización] Filas, tablas Bloqueo de actualización pero permi- tiendo leer a otros NX (next key exclusive, siguiente Filas Bloqueo de la si,guiente clave para clave exclusivo} inserciones y borrados para prevenir las lecturas fantasma durante las exploraciones de indice RH X (exclusive, exclusivo) Filas, tabJas Sólo se permiten lectores no compro- metidos Z tsuperexclusive, superexctusfvct Espacios dé. tablas, tablas ACCeSOcompleto excluslvc FIGURA 26.7. Modos de bloqueo de D82. cas para mayores detalles (en el Apartado 16.9 se des- sula withhold entonces se mantienen algunos bloqueos cribe una.forma sencilla de bloqueo de la siguiente cla- durante los compromisos. ve que elimina el problema fantasma), La transacción puede establecer la granularidad del 26.5.3. Registro hiatórico y recuperación bloqueo en 'el nivel de tabla mediante el uso de una ins- trucción de bloqueo de tabla (una extensión SQL). ESLO DB2 implementa el registro histórico y los. esquemas ¡lit es útil para aplicaciones que conocen 'que su nivel dese- de recuperación ARIES' (el esquema ARIES se descri- ado de aislamiento está en el nivel de tabla. También be brevemente en el Apartado 17.9.6). Este registro his- DB2 elige las granularidades de bloqueo apropiadas tórico.tíeescritura anticipada lo utiliza para enviar regis- cuando se ejecutan utilidades tales como reorganización tros, desde este registro histórico al archivo de registro de la base de datos y bloqueo. Las versiones sin cone- histórico persistente. antes de que las páginas de datos xión de estas utilidades normalmente bloquean la tabla: seescriban en el compromiso. DB2 soporta dos tipos en modo exclusivo. Las versiones en conexión de las de modos de registro: registro histórico- circular y regis- utilidades permiten que otras transacciones se ejecuten tro de archivo. Én el registro histórico circular, DB2 uii- concurrentemente adquiriendo bloqueos de filas. liza un conjunto predefinido de archivos de registro hís- En cada base de datos se ejecuta un agente de detec- tórico primario y secundario. El registro histórico ción de interbloqueos que periódicamente verifica los circular es útil para la recuperación de caídas o la recu- interbloqueos entre-las transacciones. El intervalo para peración de un fallo de la aplicación. En el registro his- la detección de interbloqueos es un parámetro configu- tórico de archivo, DB2 crea nuevos archivos de regis- rable. En caso de interbloqueo, el agente elige una víc- tro histórico y guarda los archivos de registro histórico tima y la finaliza. La víctima produce un código de error viejos con el fin de liberar espacio en el sistema de archi- SQL, indicando que la causa del fallo fue un interblo- vos. Los registros históricos de archivo son necesarios queo. para la recuperación hacia adelante de una copia de segu- ridad dc archivo (se describe con más detalle más ade- lante). En ambos caSQS DB2 permite al usuario confi- 26.5.2. Compromiso y retroceso gurar el número de archivos de registro histórico y los Las aplicaciones pueden comprometerse o retroceder- tamaños dc los archivos de los registros históricos. se mediante el uso de las instrucciones explícitas com- En entornos con grandes actualizaciones, DB2 pue- mit y rollback. Las aplicaciones también pueden emi- de configurarse par,<l utilizar compromisos en grupo tir instrucciones begin transaction y end transaction (Apartado 24.3) con el fin de combinar escrituras de; para controlar el ámbito de las transacciones. No se registro histórico de varias transacciones y ejecutarlos soportan las transacciones anidadas. Normalmente DB2 utilizando una única operación E/S. libera todos los bloqueosque se mantienen por W1atran- DB2 soporta retroceso de transacciones, recupera- sacción en cornmit o rcllback. Sin embargo, si se ha ción de caídas, así como recuperaciones por instantes declarado una instrucción de cursor mediante la cláu- (poiru-in-time) o hacia adelante (roll-forward). En el 638
  • 11. CAPItULO 25 SB2 DE 16M caso de una recuperación tras una caída, DB2 ejecuta soporta tanto los niveles de bases de datos como de espa- las fases de deshacer estándar de procesamiento y pro- cios de tablas. También se pueden emitir en nodos espe- cesamiento rehacer hasta y desde el último punto de cíficos sobre un sistema multinodo. revisión con el fin de recuperar el estado comprometi- Recientemente se ha hecho disponible un esquema do adecuado de la base de datos. Para la recuperación de recuperación en paralelo para,mejorar el rendimien- por instantes, DB2 puede restaurar la base de datos des- to en sistemas multiprocesador SMP mediante la utili- de una copia de seguridad y avanzar a un punto especí- zación de muchas Cl'Us. DB2ejecuta la:recuperación ñco en el tiempo utilizando los archivos históricos guar- coordinada a través de nodos MPP mediante un esque- dados. El comando de recuperación hacia adelante ma global de puntos de revisión. La Figura 26.8 muestra algunos de los distintos proce- limpieza de páginas de la cola de la memoria interme- sos o hebras en un servidor DB2. Las aplicaciones dia y detección de interbloqueos. Finalmente hay un remotas cliente se conectan al servidor de la base de conjunto de agentes en el entorno del servidor para eje- datos a través de agentes de comunicación tales como cutar tareas tales como detección de 'caídas, creación db2tcpcm. Se asigna un agente a cada-aplicación '(agen- de procesos. control de recursos del sistema y servicio te coordinador en entornos MPP o SMP) denominado de licencia. DB2 proporciona parámetros de configu- hebra dh2agent. Este agente y sus agentes subordina- ración para controlar el número de hebras y procesos dos ejecutan las tareas relacionadas con la aplicación. en W1 servidor. Casi todos los tipos distintos de agen- Cada base de datos tiene un conjunto de procesos o tes se pueden controlar mediante el uso de parámetros hebras que ejecutan tareas tales como preextracción, de configuración. Modelo de procesamiento: partición única • Máquina, • Máquina. Procesos UDF aislados Ef€fdf~ @E~a0 P, . Procesos de procedimientos almacenados aislados , cliente' • servidora EDU -p~~ ~~~-~~::~e.:/i~~e~- ~-~----~ ~-: ~ remota : I s :_UserDB2_ : PrOC,eSP5 Procesos ----- s (hebras) conexión • de datos activa · • " db2agen OI+=F==I==i=O db2wdQg db2gds o Memoria €~cly db2sysc db2cart ,- AplA compartida: (f&fC~ s- i- a Pruebas" , ApJA 00 B B o ,o db2agen ~ db2resyn db2dart ;- ~ db2Loggi db2dlock os db2ipccm O E U_ e- Apl B "Conexión A ~ I ApJB dbiagntp Base de datos MPRUEBAS H ~g~t Agentes en espera fi- o, SQL a Pruebas" O~' Sob,g,"" """O~~' ~clY sin asociar ,,- - - - - - _. - -- le- dbztcpcrn db2agen .~, ([¿~fC~ EDU por solicitud OI;:::::¡====c4====='~O,~ po de los , AplC "Conexión TCPIP :,Agente coordinador €ffign5P Subagentes: 00 db210ggi db2dlock db2bm, db2med ... Sal e en espera a Prod" Apl : Base de datos HPRODH .ra- nes 1el FIGURA26.8. Modelo .de.procesos en CiB2. 639
  • 12. FUNDAMENTOS DE BASES DE DATOS La Figura 26.9· muestra los distintos tipos de seg- disponer de varia s cola'> de memoria intermedia por diver- mentos de memoria en D82. La memoria privada en los sas razones, pero se deberían definir después de un cui- agentes o hebras se utiliza principalmente para varia- dadoso análisis de los requisitos de la carga de trabajo, bles locales y estructuras de datos que son relevantes DB2 también proporciona la capacidad de almacena- solamente para la actividad actual. Por ejemplo. una miento extendido para aprovechar memorias grandes ordenación privada podría asignar memoria desdee (memorias mayores de 4 gigabytes) en sistema'> que sola- montículo privado del agente. La memoria compartida mente tienen capacidad de direccionamiento 'de 32 bits. se divide en memoria compartida del servidor, memo- El almacenamiento extendido se utiliza como una memo- ria compartida de la base de datos y memoria compar- ria intermedia de copia de seguridad compartida para tida de la aplicación. El nivel de la base de datos de colas de memoria intermedia activas, Las páginas que se memoria compartida contiene estructuras de datos úti- extraen o reemplazan de una cola de memoria interme- les tales como las colas de memoria intermedia, las lis- dia activa se escriben en el área de almacenamiento tas de, bloqueos, las cachés de los paquetes de aplica- extendido y se pueden 'Volver a copiar desde allí si se ción y las áreas de ordenación compartida. Las áreas de necesita. Por dio, el almacenamiento extendido puede. memoria compartida del servidor y de la aplicación se ayudar a evitar E/S en grandes sistemas de memoria. utilizan principalmente para estructuras de datos comu- DB2 soporta una completa lista de configuración de nes tales como parámetros de configuración del servi- memoria y parámetros de ajuste. Esto incluye paráme- dor y memorias intermedias de comunicaciones. tros para todas las áreas de montículos de estructuras DB2 soporta varias colas de memoriaintermedia para de datos grandes tales como las colas de memoria inter- una base, de datos. La'> colas. de memoria intermedia se media.predeterminadas.el montículo de ordenación, la pueden crear mediante el uso de la instrucción create buf- caohé de paquetes, los montículos de control de la apli- ferpool y se puede asociar con espadas de tablas. Es útil cación, el área de lista de bloqueos y cosas similares. Mernonacompartida del ejemplar . incluye memoria intermedia FCM ü-est Communication Manager, Gestor 1. de comunicaciones rápidas) I I I Memoria compartida de la base de datos Memoria compartida de la base de datos · colas de memoriaintermedia (buffpageo ALTERBUF..) · lista de bloqueos (Iocklistl · caché de paquetes (pekcecheszt • • · · ordenaciones compartidas (sortheap. sheapthresh) montículo de la base de datos Idbheápl 1... númb.d _ memoria intermedia del registro histórico (logbufsz) - caché del catálogo (catalogcache_sz) · monticulo de.utilldadea ~util_heap_sz) . I 1 I Memoria compartida de la aplicación - 1...máxaplic . estructuras internas lappl_ctl_heap...:sz) Mernoríe privada de agentes I l · · ordenaciones privadas (sortheap. sheapthreahl montículo de la aplicación (applheapszl · pila de agentes (agenCstack_sz) DD • 1... máxagentes • · · · montículo de consultas (query_heap_szl montículo de instrucciones (stmtheap) montículo de estadísticas (staCheap_sz) FIGURA 26.9. Modelo de memoria 082. 640
  • 13. CAPITULO 28 DR2 DE IBM DB2 Data Propagatores un producto en la familia DB2 Otro miembro dela familia DB2 es el producto Data que proporciona réplica de datos entre DBl y otros sis- Joiner, que proporciona soporte a basesde daros federa- temas de bases de datos relacionales tales como Oracle das y distribuidas. Data Joiner puede integrar tablas en SQL Server de, SQL Server de Sybase e Infonnix, y orí- DBl remotas u otras bases de datos relacionales en una genes de-datos no relacionales tales como IMS de 18M. única base de datos distribuida. Data Joiner proporcio- Data Propagator consiste en componentes capturar na un método basado en el coste' para la optimización de y aplicar que se controlan mediante interfaces de admi- consultas entre los distintos sitios de datos. Los datos no nistración. Les mecanismos de captura de cambios se relacionales también se pueden integrar en Dala Joiner basan en tablas DBl basadas en registros históricos o mediante el uso de envolturas para crear datos tabulares. basadas en disparadores en el caso de otros orígenes de DBl soporta funciones de tabla definidas por el usua- datos. Esto es, para las tablas DB2 los cambios se detec, rio que pueden permilir el acceso de orígenes-de datos tan examinando el registro de la base de datos mientras no relacionales y externos. DBl crea funciones de tabla que lo-s disparadores se utilizan para detectar los cam- definidas por el usuario mediante la instrucción create bios de otros orígenes de datos. Los cambios captura- function con la cláusula returns tableo Con estas caracte- dos se almacenan en áreas temporales dé tablas bajo el rfsticas DBl puede participaren los protocolos OLE-DB. control del propagador de datos DB2, que se aplican Finalmente DBl proporciona soporte completo para después a estas tablas intermedias, con cambios, a las procesamiento de transacciones distribuidas mediante tablas destino mediante el uso de instrucciones SQL el protocolo de compromiso en dos fases. DBl puede (inserciones, actualizaciones y 'borrados). Las transfor- actuar como-el coordinador o agente para el soporte de maciones basadas en SQL se pueden ejecutar sobre estas transacciones distribuidas. Como coordinador; DB2 pue- tablas intermedias utilizando condiciones' de filtro ade- de ejecutar todos los estados del protocolo de compro- más de agregaciones. Las filas resultantes se pueden miso en dos fases. Como participante, DEl puede inte- aplicar a una o más tablas destino. Los rncdios de admi- ractuar con cualquiera de los administradores de nistración controlan todas estas acciones. transacciones distribuidas comerciales. DBl proporciona una serie de herramientas para faci- y ejecutar instrucciones SQL. El centro de.guionesper- litar el uso y administración. Las herramientas creadas mite a los usuarios ejecutar guiones SQL construidos' por los fabricantes han permitido-la mejora del núcleo de forma interactiva o desde un archivo. El supervisor del conjunto de herramientas del programa. del rendimiento permite al usuario supervisar varios El centro de control DBl es la herramienta primaria eventos en el sistema de la base de datos-y obtener ins- para eluso y administración de bases de datos DE2. El tanténeas del rendimiento. SmartGuides proporciona centro de control se ejecuta sobre muchas plataformas ayuda para la configuración de parámetros del sistema del tipo estación de trabajo. Tiene interfaces para admi- DB2. Un constructor de procedimientos almacenados nistrar objetos de distintos tipos, tales como servidores. ayuda al usuario a desarrollar e insralar estos procedi- bases de datos, tablas e índices. Además contiene inrer- mientos. Laexplicación visual da al usuario Vistas gré- faces orientadas en las tareas para ejecutar comandos y ficas del plan de ejecución de la consulta. Un asistente permite a los usuarios generar secuencias de comandos 4e índices ayuda.al administrador sugiriendo índices de SQL. rendimiento. La Figura 26.10 es una pantalla del panel principal Aunque el centro de control es una interfaz integrada del centro de control. Muestra una lista de tablas en la de muchas de las tareas, DBl también proporciona acce- base de datos Sample en la instancia DBl sobre el nodo SO, directo a la mayoría de las tareas. Para los usuarios las CranKarm. El administradorpuede utilizar el menú para herramientas tales como la carácterística de explicación. invocar un conjunto de herramientas componentes. Los las tablas de explicación y la explicación gráfica pro- componentes principales del centro de control son el porcionan un análisis detallado de los planes de consul- centro de órdenes, el centro de guiones, diario, ge-stión ta. Lbs usuarios pueden utilizar el centro de control para de licencias, centro de alertas, supervisor del reñdi- modificar las estadísticas (si se permite la modificación) miento, explicación visual, administración de, bases de con el fin de generar los mejores planes de consulta. datos remotas; gestión de almacenamiento y soporte Para los administradores. DBl proporciona un sopor- pam la réplica. El centro de órdenes permite a los usua- le completo' para la carga, importación. exportación, nos y administradores enviar órdenes de la base de datos reorganización, redistribución y otras utilidades rela- 641
  • 14. 'FUNDAMENTOS DE BASES DE DATOS EJ"''Il Sistemas El 11I P(-PROV 8-6 Instancias El !3 DB2 ..@@¡i!'¡~~ FIGURA 26.10. Centro de control DB2, cionadas con los datos. Además; DE2 soporta herra- • Supervisor de consultas para gestionar los traba- mientas ta1es como: jos de consulra en el sistema • Auditoría para el mantenimiento de la traza de Características de traza y diagnóstico para la depu- auditoría de' las acciones sobre la base de datos ración • Regulador para controlar la prioridady tiempos de Supervisión de-eventos para seguir los recursos y ejecución en distintas aplicaciones eventos durante la ejecución del sistema. Este capitulo proporciona una breve sinopsis de carac- sionable y relacional orientado a objetos. En las notas terísticas disponibles' en DB2. Como resumen, DB2 es bibliográficas se citan libros y guías más completos so- un servidor de bases de datos multi-platafonna, dimen- bre DB2. " , __ o " ;".'-,,-':,:<;','."- .----.'.:',:<:'-"'-- Chamberlin [1996] Y Chamberlin [1998J proporcio- ha sido un participante activo en la estandarización de nan una buena revisión de las características de SQL XQuery. Se puede encontrar detalles sobre la extensión y programación de DB2. Los primeros-libros de Date XML dé Da2 en línea en el sitio [1989 J y Martin er al. [19891 proporcionan un buen http://www.software.ibm.com/dala/db2/cxten- repaso de las caractcrtsticas de DB2 para OS/390. Los ders/xrn lext. manuales de DE2 proporcionan revisiones definitivas Para una descripción detallada de los modos de blo- de varias versiones de DB2. La mayoría de estos queo y su uso véase DB2 Administration Guide (capí- manuales están disponibles en línea en, el sitio tulo Application Considerations), que está disponible htrp.Zwww.software.ibm .com/data/pubs. Libros recien- en línea en http://www.software.ibm.com/data/pubs. tes que proporcionan un entrenamiento práctico ,para Mohan [l990al y Mohan y Levine [1992J proporcio- el uso y administración de DB2 son Zikopoulos ~t. al. nan descripciones detalladas del control de concurren- [20001, Sanders [20001 y Cook et al. [1999]. Final- cia de fndices en 082. mente, Prentice Hall está publicando una serie com- Las contribuciones a la investigación de lBM, algu- pleta de libres-sobre el enriquecimiento y-certificación nas de las cuales se listan más adelante, han mejorado sobre varios aspectos de DE2. continuamente el producto DB2. Chamberlin et al. La investigación de IBM sobre XML incluye Shan- [198-1) proporciona una historia y evaluación del pro- mugasundaram et.al. [2000] y Carey et at. [2000]. IBM yecto System R, que.jugó una función crucial en el desa- 642
  • 15. CAPiTULO 26 'JB2 DE IBM rrollo de bases de datos relacionales y condujo al Mohan el al. [1992]. El procesamiento y optimización desarrollo del producto DB2. El problema Halloween de consultas en Srarbrust se describen en Haas et al. y otros aspectos de la historia de System R aparecen en [1990]. El procesamiento en paralelo en DB2 Parallel http://www.mcjones.org/System RISQL Reunion Edition se describe en Baru el al. [1995J. El soporte de 95/index.html. bases de datos activas, incluyendo las restricciones y Las récnícasdeorocesamíenro transacciones de fajes Josdisnaradores, describenen Cocbrane al.) 199ªJ. se et como er'regrsrro fí(<;(ohé.o aéescntura an({érpadá y (os Clireyer ar: (f9'r9'[ déscnoe·e(sopone-re{ácrána( orten- algoritmos de recuperación ARIES se describen cn tado 'a objetos en DB2. )