BASES DE DATOS DISTRIBUIDAS TEMA 2 PROFESOR: …cursos.aiu.edu/Base de Datos Distribuidas/pdf/Tema 2.pdf · 2.4 Fragmentación y distribución de datos BASE DE DATOS DISTRIBUIDAS

  • Upload
    lamthu

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

  • BASE DE DATOS DISTRIBUIDAS MIS 5151

    1BASES DE DATOSDISTRIBUIDASTEMA 2PROFESOR: M.C. ALEJANDROGUTIRREZ DAZ22. DISEO DE BASES DE DATOS DISTRIBUIDAS2.1 Consideraciones al diseo de bases de datosdistribuidas2.2 Diccionario de datos2.3 Niveles de transparencia2.4 Fragmentacin y distribucin de datosBASE DE DATOS DISTRIBUIDAS MIS 5152

    3INTRODUCCINEl diseo de un sistema de base de datos distribuido implica la toma dedecisiones sobre la ubicacin de los programas que accedern a la basede datos y sobre los propios datos que constituyen esta ltima, a lo largode los diferentes puestos que configuren una red de ordenadores.La ubicacin de los programas, a priori, no debera suponer un excesivoproblema dado que se puede tener una copia de ellos en cada mquinade la red (de hecho, en este documento se asumir que as es).Sin embargo, cul es la mejor opcin para colocar los datos: en una granmquina que albergue a todos ellos, encargada de responder a todas laspeticiones del resto de las estaciones sistema de base de datoscentralizado , o podramos pensar en repartir las relaciones, las tablas,por toda la red.En el supuesto que nos decidiramos por esta segunda opcin, qucriterios se deberan seguir para llevar a cabo tal distribucin?Realmente este enfoque ofrecer un mayor rendimiento que el casocentralizado? Podra optarse por alguna otra alternativa? En los

  • prrafos sucesivos se tratar de responder a estas cuestiones.Tradicionalmente se ha clasificado la organizacin de los sistemas debases de datos distribuidos sobre tres dimensiones: el nivel decomparticin, las caractersticas de acceso a los datos y el nivel deconocimiento de esas caractersticas de acceso (vea la figura 1).El nivel de comparticin presenta tres alternativas: inexistencia, es decir,cada aplicacin y sus datos se ejecutan en un ordenador con ausenciatotal de comunicacin con otros programas u otros datos; se compartenslo los datos y no los programas, en tal caso existe una rplica de lasaplicaciones en cada mquina y los datos viajan por la red; y, se repartendatos y programas, dado un programa ubicado en un determinado sitio,ste puede solicitar un servicio a otro programa localizado en un segundolugar, el cual podr acceder a los datos situados en un terceremplazamiento.Como se coment lneas atrs, en este caso se optar por el puntointermedio de comparticin.BASE DE DATOS DISTRIBUIDAS MIS 5153

    Figura 1. Enfoque de la distribucin.Respecto a las caractersticas de acceso a los datos existen dosalternativas principalmente: el modo de acceso a los datos que solicitanlos usuarios puede ser esttico, es decir, no cambiar a lo largo deltiempo, o bien, dinmico.SE podr comprender fcilmente la dificultad de encontrar sistemasdistribuidos reales que puedan clasificarse como estticos.Sin embargo, lo realmente importante radica, estableciendo el dinamismocomo base, cmo de dinmico es, cuntas variaciones sufre a lo largodel tiempo. Esta dimensin establece la relacin entre el diseo de basesde datos distribuidas y el procesamiento de consultas.La tercera clasificacin es el nivel de conocimiento de las caractersticasde acceso. Una posibilidad es, evidentemente, que los diseadorescarezcan de informacin alguna sobre cmo los usuarios acceden a labase de datos.

  • Es una posibilidad terica, pero sera muy laborioso abordar el diseo dela base de datos con tal ausencia de informacin. Lo ms prctico seraconocer con detenimiento la forma de acceso de los usuarios o, en elcaso de su imposibilidad, conformarnos con una informacin parcial desta.El problema del diseo de bases de datos distribuidas podra enfocarse atravs de esta trama de opciones. En todos los casos, excepto aquel enel que no existe comparticin, aparecern una serie de nuevosproblemas que son irrelevantes en el caso centralizado.A la hora de abordar el diseo de una base de datos distribuidapodremos optar principalmente por dos tipos de estrategias: la estrategiaascendente y la estrategia descendente.BASE DE DATOS DISTRIBUIDAS MIS 5154Ambos tipos no son excluyentes, y no resultara extrao a la hora deabordar un trabajo real de diseo de una base de datos que se pudiesenemplear en diferentes etapas del proyecto una u otra estrategia.La estrategia ascendente podra aplicarse en aquel caso donde haya queproceder a un diseo a partir de un nmero de pequeas bases de datosexistentes, con el fin de integrarlas en una sola. En este caso se partirade los esquemas conceptuales locales y se trabajara para llegar aconseguir el esquema conceptual global.

    4Aunque este caso se pueda presentar con facilidad en la vida real, seprefiere pensar en el caso donde se parte de cero y se avanza en eldesarrollo del trabajo siguiendo la estrategia descendente. La estrategiadescendente (vea la figura 2) debera resultar familiar a la persona queposea conocimientos sobre el diseo de bases de datos, exceptuando lafase del diseo de la distribucin.Pese a todo, se resumirn brevemente las etapas por las que setranscurre.BASE DE DATOS DISTRIBUIDAS MIS 5155

  • Figura 2. Estrategia descendente.

  • BASE DE DATOS DISTRIBUIDAS MIS 5156Todo comienza con un anlisis de los requisitos que definirn el entornodel sistema en aras a obtener tanto los datos como las necesidades deprocesamiento de todos los posibles usuarios del banco de datos.Igualmente, se debern fijar los requisitos del sistema, los objetivos quedebe cumplir respecto a unos grados de rendimiento, seguridad,disponibilidad y flexibilidad, sin olvidar el importante aspecto econmico.Como puede observarse, los resultados de este ltimo paso sirven deentrada para dos actividades que se realizan de forma paralela.El diseo de las vistas trata de definir las interfaces para el usuario finaly, por otro lado, el diseo conceptual se encarga de examinar la empresapara determinar los tipos de entidades y establecer la relacin entre ellas.Existe un vnculo entre el diseo de las vistas y el diseo conceptual. Eldiseo conceptual puede interpretarse como la integracin de las vistasdel usuario, este aspecto es de vital importancia ya que el modeloconceptual debera soportar no slo las aplicaciones existentes, sino quedebera estar preparado para futuras aplicaciones.En el diseo conceptual y de las vistas del usuario se especificarn lasentidades de datos y se determinarn las aplicaciones que funcionarnsobre la base de datos, as mismo, se recopilarn datos estadsticos oestimaciones sobre la actividad de estas aplicaciones.Dichas estimaciones deberan girar en torno a la frecuencia de acceso,por parte de una aplicacin, a las distintas relaciones de las que haceuso, podra afinarse ms anotando los atributos de la relacin a la queaccede.Desarrollado el trabajo hasta aqu, se puede abordar la confeccin delesquema conceptual global. Este esquema y la informacin relativa alacceso a los datos sirven de entrada al paso distintivo: el diseo de ladistribucin.El objetivo de esta etapa consiste en disear los esquemas conceptualeslocales que se distribuirn a lo largo de todos los puestos del sistemadistribuido.Sera posible tratar cada entidad como una unidad de distribucin; en elcaso del modelo relacional, cada entidad se corresponde con unarelacin. Resulta bastante frecuente dividir cada relacin ensubrelaciones menores denominadas fragmentos que luego se ubican enuno u otro sitio.BASE DE DATOS DISTRIBUIDAS MIS 5157De ah, que el proceso del diseo de la distribucin conste de dosactividades fundamentales: la fragmentacin y la asignacin. El ltimopaso del diseo de la distribucin es el diseo fsico, el cual proyecta losesquemas conceptuales locales sobre los dispositivos de

  • almacenamiento fsico disponibles en los distintos sitios.Las entradas para este paso son los esquemas conceptuales locales y lainformacin de acceso a los fragmentos. Por ltimo, se sabe que laactividad de desarrollo y diseo es un tipo de proceso que necesita deuna monitorizacin y un ajuste peridicos, para que si se llegan aproducir desviaciones, se pueda retornar a alguna de las fases anteriores

    52.1 Consideraciones al diseo de bases de datos distribuidasEl problema de diseo de bases de datos distribuidos se refiere, engeneral, a hacer decisiones acerca de la ubicacin de datos y programasa travs de los diferentes sitios de una red de computadoras. Esteproblema debera estar relacionado al diseo de la misma red decomputadoras. Sin embargo, en estas notas nicamente el diseo de labase de datos se toma en cuenta. La decisin de donde colocar a lasaplicaciones tiene que ver tanto con el software del SMBDD como conlas aplicaciones que se van a ejecutar sobre la base de datos.El diseo de las bases de datos centralizadas contempla los dos puntossiguientes:1. Diseo del "esquema conceptual" el cual describe la base dedatos integrada (esto es, todos los datos que son utilizados por lasaplicaciones que tienen acceso a las bases de datos).2. Diseo "fsico de la base de datos", esto es, mapear elesquema conceptual a las reas de almacenamiento y determinarlos mtodos de acceso a las bases de datos.En el caso de las bases de datos distribuidas se tienen queconsiderar los dos problemas siguientes:BASE DE DATOS DISTRIBUIDAS MIS 51583. Diseo de la fragmentacin, este se determina por la forma enque las relaciones globales se subdividen en fragmentoshorizontales, verticales o mixtos.4. Diseo de la asignacin de los fragmentos, esto se determinaen la forma en que los fragmentos se mapean a las imgenesfsicas, en esta forma, tambin se determina la solicitud defragmentos.

    6Objetivos del Diseo de la Distribucin de los Datos.En el diseo de la distribucin de los datos, se deben de tomar en cuentalos siguientes objetivos: Procesamiento local. La distribucin de los datos, para maximizarel procesamiento local corresponde al principio simple de colocarlos datos tan cerca como sea posible de las aplicaciones que los

  • utilizan. Se puede realizar el diseo de la distribucin de los datospara maximizar el procesamiento local agregando el nmero dereferencias locales y remotas que le corresponden a cadafragmentacin candidata y la localizacin del fragmento, que deesta forma se seleccione la mejor solucin de ellas. Distribucin de la carga de trabajo. La distribucin de la cargade trabajo sobre los sitios, es una caracterstica importante de lossistemas de cmputo distribuidos. Esta distribucin de la carga serealiza para tomar ventaja de las diferentes caractersticas(potenciales) o utilizaciones de las computadoras de cada sitio, ymaximizar el grado de ejecucin de paralelismo de lasaplicaciones. Sin embargo, la distribucin de la carga de trabajopodra afectar negativamente el procesamiento local deseado. Costo de almacenamiento y disponibilidad. La distribucin de labase de datos refleja el costo y disponibilidad del almacenamientoen diferentes sitios. Para esto, es posible tener sitiosespecializados en la red para el almacenamiento de datos. Sinembargo el costo de almacenamiento de datos no es tan relevantesi ste se compara con el del CPU, I/O y costos de transmisin delas aplicaciones.BASE DE DATOS DISTRIBUIDAS MIS 5159

    7Existen dos estrategias generales para abordar el problema de diseode bases de datos distribuidas:1. El enfoque de arriba hacia abajo (top-down). Este enfoque esms apropiado para aplicaciones nuevas y para sistemashomogneos. Consiste en partir desde el anlisis derequerimientos para definir el diseo conceptual y las vistas deusuario. A partir de ellas se define un esquema conceptual global ylos esquemas externos necesarios. Se prosigue con el diseo de lafragmentacin de la base de datos, y de aqu se contina con lalocalizacin de los fragmentos en los sitios, creando las imgenesfsicas. Esta aproximacin se completa ejecutando, en cada sitio,"el diseo fsico" de los datos, que se localizan en ste. En laFigura 3.1 se presenta un diagrama con la estructura general delenfoque top-down.2. El diseo de abajo hacia arriba (bottom-up). Se utilizaparticularmente a partir de bases de datos existentes, generandocon esto bases de datos distribuidas. En forma resumida, el diseobottom-up de una base de datos distribuida requiere de laseleccin de un modelo de bases de datos comn para describir elesquema global de la base de datos. Esto se debe es posible quese utilicen diferentes SMBD. Despus se hace la traduccin de

  • cada esquema local en el modelo de datos comn y finalmente sehace la integracin del esquema local en un esquema globalcomn.

    Figura 3.1. El enfoque top-down para el diseo de bases de datosdistribuidas.BASE DE DATOS DISTRIBUIDAS MIS 51510

    8La clase de sistemas heterogneos es aquella caracterizada pormanejar diferentes SMBD en los nodos locales. Una subclase importantedentro de esta clase es la de los sistemas de manejo multi-bases dedatos. Un sistema multi-bases de datos (Smulti-BD) tiene mltiplesSMBDs, que pueden ser de tipos diferentes, y mltiples bases de datosexistentes. La integracin de todos ellos se realiza mediante subsistemasde software. La arquitectura general de tales sistemas se presenta en laFigura 2.12. En contraste con los sistemas homogneos, existenusuarios locales y globales. Los usuarios locales accesan sus bases dedatos locales sin verse afectados por la presencia del Smulti-BD.En algunas ocasiones es importante caracterizar a los sistemas de basesde datos distribuidas por la forma en que se organizan sus componentes.En la Figura 2.13 se presenta la arquitectura basada en componentes deun SMBD distribuido.Consiste de dos partes fundamentales, el procesador de usuario y elprocesador de datos. El procesador de usuario se encarga de procesarlas solicitudes del usuario, por tanto, utiliza el esquema externo delusuario y el esquema conceptual global. As tambin, utiliza un

  • diccionario de datos global.El procesador de usuario consiste de cuatro partes: un manejador de lainterfaz con el usuario, un controlador semntico de datos, unoptimizador global de consultas y un supervisor de la ejecucin global. Elprocesador de datos existe en cada nodo de la base de datos distribuida.Utiliza un esquema local conceptual y un esquema local interno.El procesador de datos consiste de tres partes: un procesador deconsultas locales, un manejador de recuperacin de fallas locales y unprocesador de soporte para tiempo de ejecucin.BASE DE DATOS DISTRIBUIDAS MIS 51511

    92.3 Niveles de transparenciaEl propsito de establecer una arquitectura de un sistema de bases dedatos distribuidas (SBDD) es ofrecer un nivel de transparencia adecuadopara el manejo de la informacin. La transparencia se puede entendercomo la separacin de la semntica de alto nivel de un sistema de lasaspectos de bajo nivel relacionados a la implementacin del mismo. Unnivel de transparencia adecuado permite ocultar los detalles deimplementacin a las capas de alto nivel de un sistema y a otrosusuarios.En sistemas de bases de datos distribuidos el propsito fundamental dela transparencia es proporcionar independencia de datos en el ambientedistribuido. Se pueden encontrar diferentes aspectos relacionados con latransparencia. Por ejemplo, puede existir transparencia en el manejo dela red de comunicacin, transparencia en el manejo de copias repetidas otransparencia en la distribucin o fragmentacin de la informacin.La independencia de datos es la inmunidad de las aplicaciones deusuario a los cambios en la definicin y/u organizacin de los datos yviceversa. La independencia de datos se puede dar en dos aspectos:lgica y fsica.1. Independencia lgica de datos. Se refiere a la inmunidad de lasaplicaciones de usuario a los cambios en la estructura lgica de labase de datos. Esto permite que un cambio en la definicin de unesquema no debe afectar a las aplicaciones de usuario. Porejemplo, el agregar un nuevo atributo a una relacin, la creacin deuna nueva relacin, el reordenamiento lgico de algunos atributos.2. Independencia fsica de datos. Se refiere al ocultamiento de losdetalles sobre las estructuras de almacenamiento a lasaplicaciones de usuario. Esto es, la descripcin fsica de datospuede cambiar sin afectar a las aplicaciones de usuario. Porejemplo, los datos pueden ser movidos de un disco a otro, o laorganizacin de los datos puede cambiar.

  • BASE DE DATOS DISTRIBUIDAS MIS 51512

    10La transparencia al nivel de red se refiere a que los datos en un SBDDse accedan sobre una red de computadoras, sin embargo, lasaplicaciones no deben notar su existencia. La transparencia al nivel dered conlleva a dos cosas:1. Transparencia sobre la localizacin de datos. Esto es, elcomando que se usa es independiente de la ubicacin de los datosen la red y del lugar en donde la operacin se lleve a cabo. Porejemplo, en Unix existen dos comandos para hacer una copia dearchivo. Cp se utiliza para copias locales y rcp se utiliza paracopias remotas. En este caso no existe transparencia sobre lalocalizacin.2. Transparencia sobre el esquema de nombramiento. Lo anteriorse logra proporcionando un nombre nico a cada objeto en elsistema distribuido. As, no se debe mezclar la informacin de lalocalizacin con en el nombre de un objeto.La transparencia sobre replicacin de datos se refiere a que si existenrplicas de objetos de la base de datos, su existencia debe sercontrolada por el sistema no por el usuario. Se debe tener en cuenta queal cuando el usuario se encarga de manejar las rplicas en un sistema, eltrabajo de ste es mnimo por lo que se puede obtener una eficienciamayor. Sin embargo, el usuario puede olvidarse de mantener laconsistencia de las rplicas teniendo as datos diferentes.La transparencia a nivel de fragmentacin de datos permite quecuando los objetos de la bases de datos estn fragmentados, el sistematiene que manejar la conversin de consultas de usuario definidas sobrerelaciones globales a consultas definidas sobre fragmentos. As tambin,ser necesario mezclar las respuestas a consultas fragmentadas paraobtener una sola respuesta a una consulta global. El acceso a una basede datos distribuida debe hacerse en forma transparente.BASE DE DATOS DISTRIBUIDAS MIS 51513

    11Como un ejemplo se utilizar a lo largo de estas notas una base dedatos que modela una compaa de ingeniera.POR LO QUE ES IMPORTANTE REVISAR EL Ejemplo 2.1. ENLOS APUNTES QUE DESCRIBE UNA BDDLas entidades a ser modeladas son ingenieros y proyectos. Paracada ingeniero, se desea conocer su nmero de empleado (ENO),su nombre (ENOMBRE), el puesto ocupado en compaa

  • (TITULO), el salario (SAL), la identificacin de los nombres deproyectos en los cuales est trabajando (JNO), la responsabilidadque tiene dentro del proyecto (RESP) y la duracin de suresponsabilidad en meses (DUR). Similarmente, para cadaproyecto se desea conocer el nmero de proyecto (JNO), elnombre del proyecto (JNOMBRE), el presupuesto asignado alproyecto (PRESUPUESTO) y el lugar en donde se desarrolla elproyecto (LUGAR).be tener en cuenta que en cada sitio de la corporacin puede haberesquemas diferentes o repetidos. Por ejemplo, en la Figura 2.2 sepresentan esquemas diferentes para el manejo de proyectos, empleadosy puestos en cada sitio de la bases de datos del Ejemplo 2.1.

    Figura 2.2. Diferentes sitios de una corporacin.BASE DE DATOS DISTRIBUIDAS MIS 51514

    12En resumen, la transparencia tiene como punto central la independenciade datos. Los diferentes niveles de transparencia se pueden organizar encapas como se muestra en la Figura 2.3. En el primer nivel se soporta latransparencia de red. En el segundo nivel se permite la transparencia dereplicacin de datos. En el tercer nivel se permite la transparencia de lafragmentacin. Finalmente, en el ltimo nivel se permite la transparenciade acceso (por medio de lenguaje de manipulacin de datos).La responsabilidad sobre el manejo de transparencia debe estarcompartida tanto por el sistema operativo, el sistema de manejo de basesde datos y el lenguaje de acceso a la base de datos distribuida. Entreestos tres mdulos se deben resolver los aspectos sobre elprocesamiento distribuido de consultas y sobre el manejo de nombres de

  • objetos distribuidos.

    Figura 2.3. Organizacin en capas de los niveles de transparencia.BASE DE DATOS DISTRIBUIDAS MIS 51515

    13BREAK====== HAGAMOSBREAK PARA VER ENSIGUIENTE SESIONFRAGMENTACION.142.4 Fragmentacin y distribucin de datosEl problema de fragmentacin se refiere al particionamiento de lainformacin para distribuir cada parte a los diferentes sitios de la red,como se observa en la Figura 3.2. Inmediatamente aparece la siguientepregunta: cul es la unidad razonable de distribucin? Se puedeconsiderar que una relacin completa es lo adecuado ya que las vistasde usuario son subconjuntos de las relaciones. Sin embargo, el uso

  • completo de relaciones no favorece las cuestiones de eficiencia sobretodo aquellas relacionadas con el procesamiento de consultas.El diseo de una base de datos distribuida, cualquiera sea el enfoqueque se siga, debe responder satisfactoriamente las siguientes preguntas: Por qu hacer una fragmentacin de datos? Cmo realizar la fragmentacin? Qu tanto se debe fragmentar? Cmo probar la validez de una fragmentacin? Cmo realizar el asignamiento de fragmentos?BASE DE DATOS DISTRIBUIDAS MIS 51516 Cmo considerar los requerimientos de la informacin?

    Figura 3.2. El problema de fragmentacin de relaciones.

    15La otra posibilidad es usar fragmentos de relaciones (sub-relaciones) locual favorece la ejecucin concurrente de varias transacciones queaccedan porciones diferentes de una relacin. Sin embargo, el uso desub-relaciones tambin presenta inconvenientes. Por ejemplo, las vistasde usuario que no se pueden definir sobre un solo fragmento necesitarnun procesamiento adicional a fin de localizar todos los fragmentos de unavista.Aunado a esto, el control semntico de datos es mucho ms complejo yaque, por ejemplo, el manejo de llaves nicas requiere considerar todoslos fragmentos en los que se distribuyen todos los registros de la relacin. En resumen,el objetivo de la fragmentacin es encontrar unnivel de particionamiento adecuado en elrango que va desde tuplas o atributos hasta relaciones completas (ver Figura 3.3).BASE DE DATOS DISTRIBUIDAS MIS 51517

  • Ejemplo 3.1. Considere la relacin J del ejemplo visto en el captulo 2.J:

    JNO JNOMBRE PRESUPUESTO LUGARJ1 Instrumentacin 150000 Monterrey

    J2 Desarrollo debases de datos

    135000 MxicoJ3 CAD/CAM 250000 PueblaJ4 Mantenimiento 310000 Mxico

  • J5 CAD/CAM 500000 GuadalajaraLa relacin J se puede fragmentar horizontalmente produciendo los siguientesfragmentos.J1: proyectos con presupuesto menor que $200,000JNO JNOMBRE PRESUPUESTO LUGARJ1 Instrumentacin 150000 MonterreyJ2 Desarrollo debases de datos135000 MxicoJ2: proyectos con presupuesto mayor que o igual a$200,000JNO JNOMBRE PRESUPUESTO LUGARJ3 CAD/CAM 250000 PueblaJ4 Mantenimiento 310000 MxicoJ5 CAD/CAM 500000 Guadalajara