L        afamilia de productos DB2 Universal Darabase de IBM consiste en servidores de bases de datos           y un conju...
FUNDAMENTOS              DE BASES               DE DATOS    La mayor parte del diseño de base de datos y herra-           ...
CAP!TUL026    DB2 DE IBM 26.2.2. Funciones y métodos definidos                            de caracteres de gran tamaño de ...
,           FUNDAMENTOS    DE BASES   DE DATOS            de contener cero o más objetos de base de datos tales           ...
CAPITULO 26   Df2 D~ IBM 26.~.2.Tablas. registros e índices                                            se mantienen en un ...
FUNDAMENTOS      DE BASES DE DATOS                                                                                        ...
C}¡PiTULO 26   DB2 DEIBM                                       -TPeD Local Supplier        Volume   Query (05);           ...
FUNDAMENTOS   DE BASES DE DATOS      como la ordenación y la agregación,        siempre   que es         para soportar los...
CAPITULO   25   DEZ DEIBM            inferior de complejidad el optimizador utiliza una heu-                 Considérese u...
l.            FUNDAMENTOS      DE BASES DE DATOS            l,        " Modo d6 bloqueol                                  ...
CAPItULO        25     SB2 DE 16M       caso de una recuperación tras una caída, DB2 ejecuta                              ...
FUNDAMENTOS       DE BASES   DE DATOS         La Figura 26.9· muestra los distintos tipos de seg-                         ...
CAPITULO   28   DR2 DE IBMDB2 Data Propagatores un producto en la familia DB2                     Otro miembro dela famili...
FUNDAMENTOS   DE BASES    DE DATOS               EJ"Il    Sistemas                   El     11I P(-PROV                   ...
CAPiTULO 26   JB2 DE IBM        rrollo de bases de datos relacionales y condujo al          Mohan el al. [1992]. El proces...
Próxima SlideShare
Cargando en…5
×

Db2

814 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
814
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Db2

  1. 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 centerInteligencia 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 MultimediaIntegraciÓn de datos DB2 ObjeetRelational Extenders DB2 DataJoiner Digital Lfbrerv , DataLinks Data Replication servces DB2 ConnectFIGURA 26.1. Pamitiada productos 082. "
  2. 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 UDBversió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. 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- DB2integra 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 usode 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 estructurados26.2.3. Objetos de gran tamaño mediante la generación de claves a partir de los tipos deLas 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 extensorobjetos 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. DB2Los 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, validezbyte (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. lasel 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ñas26.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 tablasgrupos de nadas para soportar la división de la tabla en para reorganizar la tabla. Un espacio de tablas consisteconjuntos 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. 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ónji 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. DB2tambié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 del í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. 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, 2nas internas y páginas hoja. Los índices tienen punteros > es un registro de desbordamiento que fue creado porbidimensionales 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 talesentradas de índice que apuntan a los registros de la tabla. como 4 KB, 8 KB, 16 KB Y 32 KB. Sin embargo, cadaCada 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 tablatura de páginas con ranuras se describe en breve). Se contiene muchas columnas. Los tamaños de páginapuede 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¡Sros 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 2FIGURA 26.3. Vista lógica de las labias e índices en D62. .33
  6. 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 comoti 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. 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 queencucní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 taless Ordenación 1 Exploración del índicee 1 croere1-s- Exploraciónos. 1a- Supplieres Netíon Regiondo FIGURA26.6. Plan de consulta DB2 (explicaciún.qráfica).un 6:35
  8. 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 esj, 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. 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 valors 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 esr- raciones. el uso del índice del sueldo para el acceso en orden1- DB2 permite a un usuario generar histogramas de dis- menor a mayor. Se revisaba el registro y el sueldo sein tribuciones en el nivel de las columnas y combinaciones aumentaba un 10 por ciento repetidamente hasta que-sule 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 Rn- 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. ElIti- 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 sem- turas de datos asociados de la consulta para su ejecución actualiza solamente una vez, como tenía intención lalos mediante el motor de: procesamiento de consultas. instrucción de actualización.pre-ieryItas) DB2,soporta técnicas de control de concurrencias que con el que se quieren ejecutar. También, la mayoría decio- 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 puedeniacer 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 implementanjecu- mediante el uso de bloqueos. DB2 soporta bloqueos ena 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 deplica- losmodos lectura repetible (Repeatable Read, RR), esta- información de bloqueo. DB2 dimensiona el bloqueos.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 bloqueosas, (2) da (Un-committed Read, UR). se hace pequeño. DB2 implementa: un bloqueo estrictode 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ónrsultas 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 elmdo 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 unaejorado 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 bloqueoiSopcio- 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 yleracier- 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 dele} nivel Las aplicaciones pueden elegir el nivel de aislamiento la lectura fantasma. véanse las referencias bibliográfi- 6"
  10. 10. l. FUNDAMENTOS DE BASES DE DATOS l, " Modo d6 bloqueol 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. 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 ClUs. 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 : Is :_UserDB2_ : PrOC,eSP5 Procesos -----s (hebras) conexión • de datos activa · • " db2agen OI+=F==I==i=O db2wdQg db2gdso Memoria €~cly db2sysc db2cart,- AplA compartida: (f&fC~s-i- a Pruebas" , ApJA 00 B B o,o db2agen ~ db2resyn db2dart;- ~ db2Loggi db2dlockos db2ipccm O EU_e- Apl B "Conexión A ~ I ApJB dbiagntp Base de datos MPRUEBAS H ~g~t Agentes en esperafi-o, SQL a Pruebas" O~ Sob,g,"" """O~~ ~clY sin asociar ,,- - - - - - _. - --le- dbztcpcrn db2agen .~, ([¿~fC~ EDU por solicitud OI;:::::¡====c4=====~O,~po delos , 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-nes1el FIGURA26.8. Modelo .de.procesos en CiB2. 639
  12. 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, Gestor1. 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. 13. CAPITULO 28 DR2 DE IBMDB2 Data Propagatores un producto en la familia DB2 Otro miembro dela familia DB2 es el producto Dataque 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 enSQL Server de, SQL Server de Sybase e Infonnix, y orí- DBl remotas u otras bases de datos relacionales en unagenes 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 dey aplicar que se controlan mediante interfaces de admi- consultas entre los distintos sitios de datos. Los datos nonistración. Les mecanismos de captura de cambios se relacionales también se pueden integrar en Dala Joinerbasan 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 datostan examinando el registro de la base de datos mientras no relacionales y externos. DBl crea funciones de tablaque lo-s disparadores se utilizan para detectar los cam- definidas por el usuario mediante la instrucción createbios 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 paradespués a estas tablas intermedias, con cambios, a las procesamiento de transacciones distribuidas mediantetablas 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 demaciones 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 denistració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 construidospor los fabricantes han permitido-la mejora del núcleo de forma interactiva o desde un archivo. El supervisordel 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 proporcionacentro de control se ejecuta sobre muchas plataformas ayuda para la configuración de parámetros del sistemadel tipo estación de trabajo. Tiene interfaces para admi- DB2. Un constructor de procedimientos almacenadosnistrar 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 asistentepermite a los usuarios generar secuencias de comandos 4e índices ayuda.al administrador sugiriendo índices deSQL. rendimiento. La Figura 26.10 es una pantalla del panel principal Aunque el centro de control es una interfaz integradadel 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 lasCranKarm. 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 parade 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. 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 notasterí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 denan una buena revisión de las características de SQL XQuery. Se puede encontrar detalles sobre la extensióny 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á disponiblehtrp.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. 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 erregrsrro fí(<;(ohé.o aéescntura an({érpadá y (os Clireyer ar: (f9r9[ déscnoe·e(sopone-re{ácrána( orten- algoritmos de recuperación ARIES se describen cn tado a objetos en DB2.)

×