ÍNDICE

 

 

Introducción

 

 

1. Base de Datos Federada  …………………………………………….            5

 

     1.1. Autonomía de la Base de Datos Federada  ……………………..             5

     1.2. Propiedades  …………………………………………………….           5

     1.3. Niveles de un Manejador de Base de Datos Federada  …………             6

     1.4. Clasificación  ……………………………………………………            7

            1.4.1. Débilmente acoplado  …………………………………….           7

            1.4.2. Fuertemente acoplado  ……………………………………           7

     1.5. Sistema Distribuidos Vs Sistemas Federados  …………………..             7

            1.5.1. Semejanzas  ……………………………………………….          7

            1.5.2. Diferencias  ………………………………………………..          7

                        1.5.2.1. En cuanto a Diseño  ……………………………..          7

                        1.5.2.2. En cuanto a Niveles  …………………………….           8

                        1.5.2.3. En cuanto a autonomía  ………………………….          8

                        1.5.2.4. En cuanto a transparencia  ……………………….          8

     1.6. Arquitectura  ………………………………………………………        8

            1.6.1. Arquitectura de 3 niveles  …………………………………           9

     1.7. Problemática para la implementación de Sistemas de

            Bases de Datos Federada  ………………………………………..         9

            1.7.1. Soluciones comerciales  …………………………………..         10

 

 

2. Estrategia de procesamiento de un Sistema de Base de Datos

     Federada  ………………………………………………………………     11

 

     2.1. Arquitectura de construcción  …………………………………….        12

     2.2. Arquitectura de ejecución  ………………………………………..        13

            2.2.1. Descomposición de la Consulta Federada  …………………       14

                        2.2.1.1. Fase 1. Parser y modificación de la consulta 

                                                  global  ……………………………………      15

                        2.2.1.2. Fase 2. Descomposición en Subconsultas  ……….        18

                        2.2.1.3. Fase 3. Localizar Base de Datos Componentes 

                                                  (sitios) ……………………………………      22

                                      2.2.1.3.1. Consolidación de resultados  …………        22

            2.2.2.  Optimización de la Consulta Federada  …………………..          25

                        Técnicas Heurísticas para optimizar la Fase 2. …………..           27

 

- Referencias

 

 

 

 

INTRODUCCIÓN

 

 

 

Existe una idea que podría mejorar muchas cosas y entre otras se sugiere la integración de las bases de datos para crear una base de datos mundiales, con el fin de contar con información de todo tipo. Muestra de ello son lo enormes esfuerzos que realiza la comunidad económica europea para compartir información, idealmente esto es genial, pero en la practica surgen mucho problemas mas, por ejemplo no se puede compartir toda la información y menos la que tiene que ver con la seguridad nacional y la autonomía, por esta razón se han venido desarrollando en las ultimas décadas nuevos esquemas y a razón de esto surgen los manejadores de bases de datos federadas.

 

Los sistemas de manejadores de bases de datos surgen en los 60 y en los 90 surgen los manejadores de base de datos federados.

 

Aunque el concepto de bases de datos federadas viene de Hammer y McLeod en 1979 y luego retomado en 1985 por Heimbigner y McLeod y posteriormente en 1990 y 1991 por Sheth y Larson y luego por Saltor.

 

En general los manejadores de bases de datos federados, tienen la funcione de compartir solo la información que quieran compartir las entidades participantes, además de que los usuarios locales podrán acceder de forma transparente los demás datos compartidos y ver los suyos, como si fuera una sola base de datos, esto sin embargo no es algo sencillo pero si embargo es algo muy útil.

 

 

Cuánta información hay en el mundo?"

 

De acuerdo a Michael Lesk, quien abordó esta pregunta en su paper del mismo nombre de 1997, la enorme cantidad de datos tomaría varios miles de millones de gigabytes o varios miles de petabytes de almacenamiento [1]. La tecnología de las modernas bases de datos provee los medios para almacenar, administrar y acceder a semejantes cantidades de información. Sin embargo, las bases de datos no son un fenómeno nuevo. De hecho, Herman Hollerith mecanizó el almacenamiento del Censo de EE.UU. de 1890 en lo que de alguna forma se considera la primera base de datos significativa "computarizada" [2].

 

Hoy, la importancia e impacto de las bases de datos es incuestionable a medida que organizaciones gubernamentales, instituciones académicas, y entidades comerciales crean y mantienen importantes bases de datos que contienen toda clase de información desde documentos de texto en lenguaje natural, tablas estadísticas, datos financieros y objetos multimediales hasta datos de naturaleza técnica y científica.

 

 

Muchas bases de datos están compuestas de metadatos, lo cual significa que los registros guardan "datos acerca de los datos" tales como información acerca del tamaño y carácter de otra base de datos en lugar de ser la fuente primaria de contenido tal como nombre y domicilio de una persona. Las tecnologías de bases de datos, incluyendo métodos de arquitectura y acceso, se están desarrollando rápidamente para mantenerse al día con esta demanda de mecanismos de administración de la información.

 

Los diseñadores y administradores de bases de datos enfrentan muchos desafíos que reflejan la complejidad del floreciente entorno de la información. Las tecnologías de bases de datos deben manejar masivas cantidades de datos, extraer información útil desde estos repositorios, y tener la habilidad para reflejar las relaciones entre los datos mantenidos en diferentes bases de datos. Además de la arquitectura y sistema deben proveer integridad, recuperación, concurrencia, y seguridad.

 

Para responder a estos desafíos, los tres modelos fundamentales de bases de datos (jerárquico, red y relacional) [3], han servido como la base para desarrollar modelos de datos más potentes y flexibles, tales como los modelos relacional extendido y el relacional de objetos [4]. Un esquema de datos y una arquitectura bien definida aseguran almacenamiento de datos lógico y eficiente lo cual incrementa la capacidad de la base de datos y extiende las capacidades de los lenguajes de consulta y otros métodos de acceso. Además, la minería de datos crea información útil al identificar datos relacionados dentro de los vastos almacenamientos [5]. Los investigadores ahora luchan con las complejidades de los temas relacionales y la interoperabilidad [6]. Por ejemplo los investigadores son capaces ahora de usar metadatos de manera más eficiente para la diseminación mejorada de datos. Los investigadores son capaces también de usar estrategias federadas para bases de datos distribuidas [7].

 

 

Forma en que operan.

 

Los componentes de un SBDF(Sistema de base de datos federadas) pueden efectuar operaciones locales o bien ejecutar consultas sobre los datos de la federación y pueden también ser usadas por otros componentes de la federación.

 

La autonomía o la integración de los componentes la controla el administrador del sistema global en colaboración con los administradores de las bases de datos componente.  Este nivel de integración se de de acuerdo a las necesidades propias de cada componente.

 

Es posible también la agrupación en una federación o la misma desincorporación de la misma, y de igual forma es posible que entren o salgan componentes.

 

Para poder lograr esto se establecen diferentes esquemas en el nivel federal.

 

 

 

 

 

Se debe remarcar que una base de datos federada no es una base de datos única distribuida, mas bien son soluciones para acceder información depositada en diferentes bases de datos.

 

1.    Integración manual, todo queda a cargo de unas pocas personas. Implica muchos cambios

 

2.    Integración de datos. Se crea una nueva base de datos.

 

3.    Acceso integrado. DBMF(Data base manager federated) o SGBDF(Sistema gestor de bases datos federadas) o SMBDF(Sistema manejador de bases de datos federadas).

 

 

Enfoque federado

 

La forma en que cooperan se basa fundamentalmente en dos esquemas:

 

§         Esquema de exportación

§         Esquema de importación.

 

 

El esquema de exportación.

 

Denota las partes de la base de datos que va a compartir o que va a poner a disposición de los demás miembros de la federación. Así también es un subconjunto de un esquema componente ya que no todos lo datos deberán de ser disponibles para la federación

 

 

El esquema de importación.

 

Son vistas de la base de datos que proporcionan  lo que desea el esquema de exportación.

 

 

Arquitectura propuesta por(Sheth y Larson)

 

Esquema local.

 

Es el esquema conceptual de un sistema de bases de datos componente de la federación.

 

 

 

 

 

 

 

Esquema componente.

 

Este resulta al transformar un esquema local  a un modelo canónico o común  de datos del sistema manejador de bases de datos federadas.

 

 

Esquema federado.

 

Pueden existir varios esquemas federados en el sistema, dependiendo de cada tipo de usuarios dentro de la federación. Las clases de usuarios son los que tienen funciones similares, ejemplo ventas, justicia, compras, bibliotecas, etc.. Al esquema federado también se le conoce como empresarial o también de importación.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. BASES DE DATOS FEDERADA

 

 

 

Un sistema de bases de datos federadas es una colección de sistemas de bases de datos cooperativos y autónomos [Bhavani99]. En un sistema federado los usuarios tienen acceso a los datos, de los distintos sistemas, a través de una interfaz común sin embargo, no existe un esquema global que describa a todos los datos de las distintas bases de datos, en su lugar hay varios esquemas unificados, cada uno describiendo porciones de bases de datos y archivos para el uso de cierta clase de usuarios [Larson90].

 

 

1.1.  AUTONOMÍA DE BASES DE DATOS.

 

1.    Diseño: modelo, lenguaje, implementación.

2.    Comunicación: como, cuando se responde a otros sistemas.

3.    Ejecución: Criterio a seguir en la toma de decisiones.

4.    Asociación: decisión de que datos se comparten y a quien.

 

 

1.2.  PROPIEDADES

 

·      Este tipo de manejadores, tiene un manejo transparente para los usuarios.

 

·      Se aprecia como una sola base de datos. A esto se le conoce como ínter operar y existen tres formas: Distribuidas, federadas o multibase.

 

·      El sistema esta conformado por un conjunto de bases de datos heterogéneas. Esto significa que pueden o no tener diferentes sistemas operativos, diferente equipo de computo(hardware), diferentes manejadores de bases de datos, diferente modelo de datos(J, red, Relacional, orientada a objetos), diferente estructura de datos.

 

·      Las bases de datos que participan en la BDF mantienen su autonomía.  Esto quiere decir que cada elemento de la federación decide con quien, que y como compartir sus datos, además de que cada una cuenta con su respectivo diseño de acuerdo con las necesidades del usuario.

 

·      El MBDF(Manejador de Bases de Datos Federadas) recibe una consulta sencilla y este a su vez la descompone en varia consultas parciales.

 

·      El MBDF deberá tener una optimizador de recursos para aprovechar correctamente todos los componentes.

 

 

·      Pueden ser físicamente distribuidas en diferentes lugares e incluso en lugares muy lejanos.

 

 

1.3.  NIVELES DE UN MBDF (Manejador de base de datos federada)

 

·      Nivel componente.  Bases de datos existentes.

·      Nivel federado. Conjunto de bases de datos que ínter operan

 

Se dice que las base de datos se federan para dar lugar a un MBDF. A continuación se muestra una gráfica con la idea de un esquema de manejadores de datos federados

 

 

 

 

- Fig. No.1. Sistema manejador de Base de Datos Federada.

 

 

Las federaciones se forman y desaparecen

 

·      No existe un esquema conceptual único

·      Un componente puede ser de varios sistemas federados

·      Un componente puede ser otro sistema de bases de datos federados

 

 

 

 

 

 

1.4.  CLASIFICACIÓN.

 

·      Débilmente acoplados

·      Fuertemente acoplados

 

 

1.4.1.  Débilmente acoplados

 

·      Los usuarios deben de tratar explícitamente con las base de datos ej: Omnibase, MRDSM.

 

 

1.4.2.  Fuertemente acoplados

 

·      Los administradores de la federación controlan el acceso y mantienen el sistema.

·      Esquema federado único. SIRIUS-DELTA, DDTS.

·      Múltiples esquemas federados: Mermaid, MULTIBASE.

 

 

1.5.  SISTEMAS DISTRIBUIDOS CONTRA SISTEMAS FEDERADOS

 

1.5.1.  Semejanzas

 

·      Los datos están en diversas ubicaciones.

·      Las instalaciones están interconectadas

·      Ambos tienen dos componentes: global/local y federado/componente.

·      Reciben peticiones que son resueltas en una sola respuesta.

 

 

1.5.2.  Diferencias

 

 

1.5.2.1.  En cuanto a diseño.

 

·      SMDBD(Sistema manejador de bases de datos distribuidas). Manejan un diseño top – down, existe una sola base de datos y se distribuye en diferentes ubicaciones. Se fragmenta o se replica.

 

·      SMBDF,. Maneja un diseño Botton – up, las bases de datos ya existen y se identifica como se formaran las federaciones.

 

 

 

 

 

 

1.5.2.2.  En cuanto a Niveles.

 

·      SMBDD. Local y global.

·      SMBDF. Federado y componente.

 

 

1.5.2.3.  En cuanto a autonomía.

 

·      SMBDD. Carece de esta ya que la base esta bajo las reglas del global.

·      SMBDF. Cada base que compone al sistema federado, es autónoma y por tanto tiene sus propios privilegios.

 

 

1.5.2.4.  En cuanto a transparencia.

 

·      SMBDD. Los usuarios ven a la base como una sola y no sabe como se encuentra distribuida.

·      SMBDF.  Existen dos tipos de usuarios, el primero es el que ve la base de datos como si fuera única, y otros ven un componente de la base de datos y así no pueden ver lo demás

 

 

 

1.6.  ARQUITECTURA.

 

En el caso de las bases de datos federadas. Debemos identificar dos partes:

 

1.    La parte de software

2.    La parte de arquitectura de esquema.

 

La segunda esta encargada de resolver las heterogeneidades sintácticas y semánticas de los distintos componentes de la base de datos

 

La heterogeneidad sintáctica se da por la autonomía de los componentes de la base de datos y con ello por su diferencias en sus diseños.

 

La heterogeneidad semántica se da por le diferente concepción que se tiene de los elementos por parte de las diferentes bases de datos.

 

Para poder resolver esto se debe de contar con capas, aquí se conocen como capas de esquemas.

 

 

 

 

 

 

Un sistema federado debe cumplir 3 aspectos.

 

·      Autonomía.

·      Heterogeneidad.

·      Sistema distribuido

 

 

1.6.1.  Arquitectura de 3 niveles (ANSI/SPARC)

 

·      Físico (esquema interno).

·      Lógico(Esquema conceptual)

·      Externo(Esquema externo)

 

Esta arquitectura es muy usada en el diseño de bases de datos relacionales mas no así en diseño de bases de datos orientadas a objetos

 

Existen  muchas otras arquitecturas para el manejo de las bases de datos federadas, un ejemplo puede ser la arquitectura de 8 niveles o por ejemplo la de esquemas de data warehouse.

 

 

 

1.7. PROBLEMÁTICA PARA LA IMPLEMENTACIÓN DE BASES DE DATOS FEDERADAS.

 

 

Uno de los principales problemas es la incompatibilidad entre los sistemas de consulta entre los diferentes fabricantes, aunque existen estándares para el SQL por ejemplo el SQL 92, normalmente los fabricantes construyen dialectos, o finalmente una instrucción no es la misma es un manejador que en otro, o simplemente tipos de datos.

 

Otro problema es la codificación por ejemplo unos usan ASCII otros ASCII extendido o el EBCDIC.

 

Otro aspecto importante, son los códigos de error generados por los distintos fabricantes, que normalmente  no son compatibles.

 

Problemas en transacciones.

 

·      Control de concurrencia. El SMBDF no conoce las transacciones a nivel de componentes y lo SMBD componentes no siempre pueden distinguir entre transacciones propias y externas.

·      Heterogeneidad. Cada SMBD mantiene su autonomía.

·      La autonomía total es incompatible con la atomicidad.

 

 

1.7.1.  Soluciones comerciales

 

Existen varias opciones y varias instituciones y compañías que trabajan para solucionar estos problemas de interoperabilidad, mas sin embargo muy pocos trabajan para la administración global, algunas de las compañías que trabajan en soluciones son augsoft(http://odbcrouter.com/), Oracle, Sybase, y ha usado distintas opciones por ejemplo ODBC(open Data Base Conectivity) y JDBC el conector de Java, en general los grandes manejadores de bases de datos contienen alguna herramienta para poder hacer esto lo malo es que tienen un producto para conectarse con otros manejadores, pero cada uno se vende aparte además de que los costos son exorbitantes.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. ESTRATEGIA DE PROCESAMIENTO DE UN SISTEMA GESTOR DE BASE DE DATOS

 

 

Diferentes Tipos de bases de datos (BD) se han desarrollado e implementado con el propósito de satisfacer las demandas de los usuarios, estas bases de datos pueden ser diseñadas en forma independiente por una organización. Como resultado, la heterogeneidad de las BD es necesaria cuando estas coexisten en una organización que requiere compartir datos entre ellas. Por lo cual se ha creado un enfoque de integración llamado Sistema de base de datos Federado (SBDF) para soportar la interoperabilidad de las BD heterogéneas.

 

Cuando la Federación ha sido creada, se crea una nueva arquitectura diferente llamada Arquitectura de ejecución, en la cual se crean capas de software (módulos) que gestionan el flujo de datos y procesan la consulta global. Esto permite que subconsultas se procesen sobre las Bases de Datos Componentes (BDC) donde la información es extraída, combinándose resultados parciales para construir un único resultado final, como lo muestra la figura No.2.

 

El buen desempeño del procesamiento de consultas en sistemas Federados depende de la optimización de planes de ejecución de la consulta global. Existen varias técnicas para la optimización de una consulta federada antes y después de la descomposición de la misma consulta como procesos algorítmicos.

 

A continuación se describe una técnica de procesamiento, en la cual se diseñan e implementan los submódulos de Descomposición de consultas y Consolidación de resultados dentro del Gestor de consultas Federadas. El mecanismo de desarrollo establece la construcción de un árbol cuyos nodos se descomponen inicialmente en join explícitos y posteriormente en join implícitos. Hecho lo anterior, algoritmos son aplicados a las subconsultas intermedias sobre predicados y proyecciones. Una vez ejecutados los algoritmos que cubren el proceso de descomposición, entran en función diferentes técnicas de optimización afectando a los dos submódulos. Diferentes técnicas heurísticas se presentan para optimizar la optimización basada en una búsqueda  exhaustiva de planes de ejecución apoyado por estadísticas de la BDC, las cuales se procesan con un modelo del costo. Finalmente, la consodilación de resultados parciales se lleva a cabo manteniendo la  respuesta federada en el nodo raíz.

 

Como función objetiva, se busca optimizar los recursos y el tiempo de respuesta, por lo tanto, se pretende buscar el mejor plan de ejecución con el mínimo costo de recursos y menor tiempo de respuestas.

 

 

 

 

 

 


- Fig. No.2. Arquitectura de ejecución de un sistema manejador de Base de Datos Federada.

 

 

Consulta federada

 

Resultado federado

 

Controlador de seguridad

 

Query Transformador

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


2.1.  ARQUITECTURA DE CONSTRUCCIÓN       

 

 

Construir un sistema que soporte el acceso integrado es de suma importancia. Por lo que antes de que un SBDF opere, se tienen que resolver varios problemas relacionados con la heterogeneidad, tal como, la heterogeneidad semántica y sintáctica, así como, los problemas de distribución. Por esta razón, el SBDF debe tener une arquitectura adecuada de esquema y un conveniente modelo de datos global llamado, Modelo de Datos Canónico (MDC).

 

 

2.2.  ARQUITECTURA DE EJECUCIÓN

 

El flujo de datos comienza con una consulta planeada por el usuario de la federación llamada consulta federada. El sistema por módulos es el siguiente:

 

 

 

Controlador de Seguridad

 
                                                           Pasa por el módulo llamado Controlador de Seguridad, autorizando la consulta dada.

 


Traductor de subresultados

 

Consolidador de resultados

 

Transformaciónde resultados

 

Descomposición de consultas

 

Transformador de consultas

 
                                                       Continúa con el transformador de consultas generando

                                                       una consulta equivalente expresada en términos del Esquema Federado (EF)  etiquetado con un nivel de seguridad.

 

                                                           Query Descomposer (QD). Este módulo es el responsable de descomponer la consulta global en subconsultas contra las DBC.

 

Traductor de consultas

 
                                                           Posteriormente del traductor de consultas da una subconsulta equivalente en el Modelo de Datos Nativo de la BDC expresado en términos del correspondiente Esquema Nativo (EN) y etiquetado con un nivel de seguridad federado.

 

Traductor de nivel de seguridad

 
                                                           Este etiqueta las subconsultas con el nivel de seguridad componente (nv) de su BDC que corresponde a este nivel federado. Ahora, se esta en condiciones de ejecutar las correspondientes consultas bajo el control de gestión de transacciones.

 

                                                           Una vez que se tiene la consulta hecha, los resultados llegan al Traductor de Subresultados donde son convertidos al MDC.

 

                                                           Se produce el resultado final usando las correspondencias de los Esquemas Federados (EF) y Esquemas Componentes (EC).

 

                                                           Usando las correspondencias del Esquema Federado y el Esquema de Usuario, presenta el resultado final en el modelo del usuario, expresado en términos de su Esquema del Usuario.

 

 

 

 

2.2.1.  Descomposición de la Consulta federada

 

 

Una vez que el  transformador de consultas ha generado una consulta equivalente en términos del EF, el módulo de descomposición de consultas obtiene como entrada una consulta global con clases virtuales, las cuales fueron creadas por el proceso de integración de esquema después de aplicar los operadores de integración.

 

Después del punto anterior, la consulta global puede mantener datos referenciados de más de una BD, por lo que ninguna de estas consultas puede ser evaluada directamente por una BDC, es por esto que debe crearse un algoritmo (parte de la capa de software) que apoye la descomposición  consolidación de la consulta global. A continuación se describen los puntos estratégicos a tomar en cuenta para iniciar la descomposición.

 

Una consulta global consiste de tres  partes importantes (Select, From y Where):

 

Select [atributos]

From [Serie de clases]

Where [Predicados]

 

El módulo encargado de la descomposición de la consulta global, se divide a su vez en 3 fases relevantes, la primera inicia inmediatamente después del proceso que ejecuta el módulo de transformación de la consulta, por lo que tiene como entada a una consulta equivalente expresada en términos del EF y etiquetado con un nivel de seguridad, como lo muestra la figura No.3.

 

La primera fase del Query de Descomposición (QD) es un Parser y modificación de la consulta global, la cual analiza la carga de clases que ésta mantiene y obtiene directamente de la sentencia From, con lo cual construye un árbol  para joins explícitos; la segunda fase es la más importante ya que en ella se examina cada clase virtual y posteriormente se detectan los Esquemas Componentes y Clases Virtuales, lógicamente esto se debe a la integración de esquemas realizado en la fase de resolución.

 

Una vez hecho lo anterior, entra el proceso de Descomposición en Subconsultas dependiendo de los EC participantes, es aquí donde el número de subconsultas permanece igual al número de EC, pero son diferencias en la sentencia from donde contiene ahora una expresión de mapeo que corresponde al EC.

 

Después se procesa cada subconsulta y se detectan las clases que componen la clase virtual, formando un número de subconsultas igual a las clases que forman la clase virtual.

 

 

 

 

 

 

 

Cuando el conjunto de nodos se haya reunido, estos estarán en el nivel más bajo del árbol y se aplicará un proceso donde la participación de las sentencias Where y Select toman una matiz importante. Finalmente en la tercera etapa se detectan las BDC y se etiquetan las consultas para su regreso  buen funcionamiento del módulo encargado de la consolidación de resultados.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


- Fig. No.3. Módulo de Descomposición de Consultas Globales (Query Descomponer-QD).

 

 

2.2.1.1.  Fase 1: Parser y modificación de la consulta global

 

Analiza si mas de una serie de clases están especificadas en la sentencia From para sus joins explícitos, si es así, la consulta global debe ser descompuesta en una colección de subconsultas, las cuales contienen solo una serie de clase. Lo anterior da lugar a una consulta global modificada para procesar los joins, el objetivo es integrar los resultados de las subconsultas (Creación del árbol de la consulta global).

 

 

 

 

- ALGORITMO 1. Modificación de la consulta global

 

 

  

 

 

 

 

 

 

La explicación del algoritmo es el siguiente:

 

Dada una consulta global, se toma en cuenta el esquema integrado, realizado por las fases de detección y resolución, con estas fases ya terminadas se crean también los mappings (correspondencias). Una vez hecho lo anterior, se resuelve el número total de las clases virtuales (si son dadas) y se envían a un procesamiento para generar un árbol, en donde las subconsultas quedan registradas en forma de nodos con una clase virtual única, por lo que ahora se envía a la siguiente fase para analizar cada una de éstas, y seguir con la descomposición, comos e muestra en la figura No.4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


    CV: Clase Virtual

 

 

- Fig. No.4. Parser y Modificación de la Consulta Federada (Fase 1).

 

 

 

 

 

 

 

 

 

2.2.1.2.  Fase 2: Descomposición en subconsultas

 

Un punto a considerar después de la primera fase, es que, a pesar de una consulta modificada contenga una clase virtual global, esta pueda ser una clase virtual de la forma: CV={C1, …, Cn} donde C es una clase implícita de la CV, la cual corresponde a una BDC,l en esta situación la clase virtual es el resultado de una operación de integración, y por tal motivo se construye un algoritmo dentro de este  submódulo que descompone cada consulta modificada, la cual fue sometida a la fase 1, y que ahora mantiene una clase virtual única. Esta descomposición es apoyada por operadores de correspondencias, controlados por un mappings (Creación de un algoritmo para las correspondencias).

 

 

- ALGORITMO 2. Descomposición en subconsultas

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A continuación se explica el algoritmo anterior:

 

Dada una Consulta Global con una Clase Virtual o una consulta modificada (obtenida de la fase 1) se examinan las correspondencias de las clases para determinar el número de las clases contra los esquemas componentes que mantiene la clase virtual ya sea de la consulta global o de la consulta modificada, esto se apoya directamente con los atributos de discriminación formulados en la integración de esquemas.

 

Si se observa que la clase virtual esta compuesta de varias clases, entonces la consulta es descompuesta en subconsultas, dependiendo de los ECs que haya, si hay 2, da lugar a 2 descomposiciones iguales, pero cabe señalar que la sentencia From correlacionada a cada EC ahora es diferente, ya que cuenta con un conjunto de clases en el intervalo de c=1…n.

 

Donde:      c =  Clases a materializar

 

Esta correlación permite dar a conocer las clases atómicas correlacionadas y por lo tanto su EC, Esto ayuda a dividir la búsqueda y reorganizar las subconsultas en los nodos correspondientes con sus funciones correspondientes.

 

Una vez hecho lo anterior, el submódulo de descomposición procesa cada una de las subconsultas y detecta las clases atómicas que componen la clase virtual constituyendo un número de subconsultas iguales a las clases que forman la clase virtual. Es así como se crean los nodos que comprendes a estas subconsultas, para posteriormente considerar las sentencias Where y Select con e objeto de tomar sus atributos derivados y procesar los predicados y en consecuencia depurar las consultas, esta depuración consiste en:

 

§      Eliminar nodos

§      Crear nuevos nodos

§      Modificar subconsultas

§      Analizar atributos

§      Analiza Path expresión (en predicados y proyección)

§      Analiza variables de referencia

§      Analiza Métodos de referencia

§      Stand’By de subconsultas

 

 

 

 

 

 

2.2.1.3.  Fase 3: Localizar BDC (sitios)

 

Después que el QD termine, la clase de cada  subconsulta resultante debe ser localizada en una BDC única, y es entonces cuando las subconsultas son enviadas al módulo de traducción de la subconsulta, si la BDC mantiene un mismo lenguaje, la subconsulta pasa directamente a la BDC, de otra forma necesita el traductor de consultas.

 

 

- ALGORITMO 3. Descomposición en subconsultas

 

 

 

2.2.1.3.1.  Consolidación de resultados

 

Una vez que las subconsultas son procesadas, se procede a regresar los resultados a la raíz, por lo que los subresultados son ahora ensamblados en el submódulo de Consolidación de Resultados, el cual pertenece al Gestor de Consultas. Los subresultados son enviados al nodo padre (forma ascendente) al sitio de consolidación de resultados. Este es apoyado por el módulo de transacciones. El árbol de ejecución de la consulta proyecta esta consolidación. Durante la consolidación los resultados son leídos con el conjunto de objetos de clases y sus respectivas correspondencias.

 

- ALGORITMO 4. Integración de resultados

 

 

 

 

 

 

A continuación se explica el funcionamiento del algoritmo anterior:

 

En este algoritmo se propone integrar la respuesta global de tal forma que los nodos hojas mantengan las respuestas de las subconsultas y realizar y proceso de identificación de nodos por clase virtual y subir al nodo N_Final-1 con la información por cada clase virtual a ese nivel, esto quiere decir que un conjunto de objetos permanecen en espera para ser unidos en un nivel contra los Esquemas Componentes. Pero antes de este paso, los resultados son analizados para saber si estos objetos son los mismos, directamente identificados por su oid, si es así, seguirán identificados hasta la respuesta final, y presentados como objetos idénticos.

 

El siguiente paso es la unión basada en sus EC y la unión correspondiente a las clase virtuales (Clases Federadas). Finalmente, el resultado se coloca en el nodo raíz como lo muestra el algoritmo 4.

 

 

 

2.2.2.  Optimización de la consulta federada

 

 

Existen algunas técnicas empleadas para la optimización de consultas federadas, sin embargo, es un reto que sigue latente debido a los problemas que presentan la autonomía y la heterogeneidad de las BDC.

 

Generar excelentes planes de ejecución es un trabajo que empieza durante la descomposición global y las técnicas empleadas para realizar ésta.

 

Para determinar el plan de ejecución optimo de la consulta global es necesaria información importante que llega de la BDC y que en algunas ocasiones es imposible obtenerla y en otras solo una parte de ella (parcialmente) debido a la autonomía de la BDC. Esta es fundamental para el optimizador de la consulta global. Este problema puede ser solucionado coleccionando estadísticas sobre la BDC.

 

A continuación se presenta y propone el módulo de descomposición y optimización de la consulta global del Gestor de Consultas (figura No.5.).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Rectángulo redondeado: Localizar bases de datos componentes (sitios)
 


 

 

 

 

 

 

 

 

 


           

 

 

 

 

 

 

 

 

 

 

 


- Fig. No.5. Módulo de Descomposición y Optimización de Consultas Globales (Query Descomponer – QD)

 

 

 

 

 

 

 

 

2.2.2.1.  Técnicas heurísticas para optimizar la fase 2

 

 

Antes  de iniciar la explicación de la optimización para la fase 2, debe quedar claro que la fase 1 correspondiente a la ejecución de un Parser permanece tal y como esta.

 

El algoritmo 2 toma una Consulta Global Modificada de la fase 1 y realiza una descomposición en subconsultas, la cual procesa una consulta con a lo más una clase virtual global y que a su vez         pueda contener varias clases en diferentes bases de datos componentes, resultado de una operación de integración. Este algoritmo corresponde a la fase 2 y para efectos de optimización de la consulta, en esta sección nos centramos en los siguientes puntos:

 

§      Eliminar nodos

§      Crear nuevos nodos

§      Modificar subconsultas

§      Analizar atributos

§      Analiza Path expresión

§      Analiza variables de referencia

§      Analiza Métodos de referencia

 

Para observar las estrategias de optimización presentamos un ejemplo, el cual es una consulta federada hecha por un usuario u, en un sitio s:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REFERENCIAS

 

 

 

·      Yolanda López Pedrosa., http://alarcos.inf-cr.uclm.es/doc/bbddavanzadas/federadas.pdf, Jul - 2004

 

·      Dr. Leopoldo Galindo Soria, “Temas selectos de sistemas de bases de datos”, IPN, ESIMEZ, Maestría en ingeniería de sistemas. Feb –2003.

 

·      Dr. Leopoldo Galindo Soria, “Conceptos sobre bases de datos federadas y múltiples BDA”. IPN-CENAC. México. 1994

 

 

1        Lesk, M. "How much information is there in the world?" http://www.lesk.com/mlesk/ksg97/ksg.html

2    Schneider, G.M. and Gersting, J.L. An invitation to computer science, 2nd ed. PWS Publishing , Pacific Grove, CA., 1998.

3     Encyclopedia Britannica. "Database".       http://www.britannica.com/bcom/eb/article/8/0,5716,29888+1+29424,00.html

4     O'Neill, P. and O'Neil E. Databases: principles, programming and performance. 2nd ed., Morgan Kaufman Publishers, San Francisco, CA., 2000.

5     Weiss, S. and Indurkhya, N. (contributor). Predictive data mining: A practical guide. Morgan Kaufman Publishers, LOC, 1997.

6     Payette, S., Blanchi, C. and Lagoze, C., "Interoperability for digital objects and repositories". D-Lib Magazine 5(5): http://www.dlib.org/dlib/may99/payette/05payette.html

7     Mechanized Reasoning Group, Dipartimento di Informatica e Studi Aziendali Universit degli Studi, "Federated Databases", http://mrg.cs.unitn.it/~mrg/distributed-intelligence/research-topics/fdb.html