Documente Academic
Documente Profesional
Documente Cultură
Sistemas distribuidos
20/01/1999 1
Sistemas distribuidos
20/01/1999 2
CONCEPTO GENERAL
Un sistema de Base de datos distribuidas se compone de un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, es decir, aquellas que slo acceden a datos que residen en esa localidad. Adems una localidad puede participar en la ejecucin de transacciones globales, es decir, aquellas que acceden a datos de varias localidades. La ejecucin de transacciones globales requiere comunicacin entre las localidades, esta comunicacin puede ser, por ejemplo, mediante lneas telefnicas o cables de alta velocidad.
Sistemas distribuidos
20/01/1999 3
CARACTERISTICAS
Cabe destacar que en un sistema de BDD tiene las siguientes caractersticas: 1.- Cada sitio es un sistema de base de datos en s mismo. 2.- Los sitios han convenido en trabajar juntos (si es necesario) con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos estuvieran almacenados en el sitio propio del usuario. En consecuencia, la llamada base de datos distribuida es en realidad una especie de objeto virtual, cuyas partes componentes se almacenan fsicamente en varias bases de datos reales distintas ubicadas en diferentes sitios. De hecho, es la unin lgica de esas bases de datos.
Sistemas distribuidos
20/01/1999 5
TIPOS DE DISTRIBUCION
Sistemas distribuidos
20/01/1999 6
Fragmentacin de Datos
Divisin de la relacin R en fragmentos R1, R2, , Rn, los cuales contienen informacion suficiente para recostruir R. Fragmentacin Horizontal: Cada fila de R es asignado a uno o mas fragmentos Ri = < condicion i > ( R ) R = R1 U R2 U U Rn Fragmentacin Vertical El esquema de la relacin R es partido en dos o ms subesquemas. Todo los subesquemas deben contar con una clave candidata que permita la reunin natural de los fragmentos Se puede usar el id de la tuplas como clave de reunin, de esta manera todos los subesquemas deben contener este atributo. Ri = < subesquema i > (R) R = R1 join R2 join join Rn
Fragmentacin horizontal Es un subconjunto de las tuplas de una relacin formado por aquellas tuplas que satisfagan una condicin sobre uno o ms de sus atributos (generalmente, slo interviene un atributo). Los fragmentos pueden ser asignados a diferentes sitios del sistema distribuido. Una condicin de seleccin puede estar compuesta de varias condiciones conectadas por AND y OR. fragmentacin horizontal derivada: la fragmentacin horizontal de una relacin primaria se aplica a otras relaciones secundarias, que referencian a la primaria a travs de una clave externa o fornea. De esta forma, los datos relacionados en ambos tipos de relacin se fragmentan de la misma forma.
Fragmentacin horizontal.... Cada fragmento horizontal de una relacin R se puede especificar como una operacin Restriccin o Seleccin del lgebra relacional ( Ci (R) ). Un conjunto de fragmentos horizontales cuyas condiciones C1, C2,, Cn incluyan todas las tuplas de R (todas las tuplas satisfacen C1 OR C2 OR Cn) se denomina fragmentacin horizontal completa de R. En muchos casos, una fragmentacin horizontal completa es adems disjunta; es decir, ninguna tupla de R satisface Ci AND Cj para cualquier i<>j. Para reconstruir la relacin R a partir de una fragmentacin horizontal completa, es necesario aplicar la operacin Unin a los fragmentos.
Fragmentacin Horizontal
branch_name Hillside Hillside Hillside account_number A-305 A-226 A-155 balance 500 336 62
account1 = branch_name=Hillside (account ) branch_name Valleyview Valleyview Valleyview Valleyview account_number A-177 A-402 A-408 A-639 balance 205 10000 1123 750
Suc. Hillside
Suc. Valleyview
Fragmentacin vertical Es un subconjunto de una relacin creado a partir de un subconjunto de sus columnas. Ser necesario incluir el atributo de clave primaria o clave candidata en todo fragmento vertical para poder reconstruir una relacin a partir de sus fragmentos. Un fragmento vertical de una relacin R se especifica con una operacin Proyeccin del lgebra relacional (Li(R) ). Un conjunto de fragmentos verticales cuyas listas de proyeccin L1, L2,, Ln incluyan todos los atributos de R, compartiendo slo el atributo de clave primaria de R, se denomina fragmentacin vertical completa de R y satisface: L1 L2 ... Ln = ATTRS (R), donde ATTRS (R) es el conjunto de atributos de R Li Lj = PK(R) para cq i<> j, donde PK(R) es la clave primaria de R Para reconstruir R desde una fragmentacin vertical completa se aplica la operacin OUTER UNION.
Fragmentacin vertical
branch_name customer_name tuple_id Lowman 1 Hillside Camp 2 Hillside Camp 3 Valleyview Kahn 4 Valleyview Kahn 5 Hillside Kahn 6 Valleyview Green 7 Valleyview deposit1 = branch_name, customer_name, tuple_id (employee_info ) account_number balance tuple_id
Marketing
500 A-305 1 336 A-226 2 205 A-177 3 10000 A-402 4 62 A-155 5 1123 A-408 6 750 A-639 7 deposit2 = account_number, balance, tuple_id (employee_info )
Contabilidad
Sistemas distribuidos
20/01/1999 16
Este tipo de fragmentacin surge cuando los dos tipos anteriores se combinan. En tal caso, la relacin original puede reconstruirse aplicando las operaciones de Unin y Reunin Externa en el orden apropiado. En general, un fragmento de una relacin R se puede especificar con una combinacin de operaciones Seleccionar-Proyectar ( Li(Ci (R)) ).
Si C = True (Selecciono todas las tuplas) y si L ATTRS(R) es fragmento vertical Si C True and L = ATTRS(R) es fragmento horizontal Si C True and L ATTRS(R) es fragmento mixto Si C = True and L = ATTRS(R) R es considerada como un fragmento *
DNI,Escuela,Nombre,Beca(E)
Nombre Concha Queta
Josechu Letn Bill Gates Maite Clado
Escuela EUI
EUI EUI EUI
Beca No
Si No Si
DNI
Jefatura estudios
Ventajas de la Fragmentacin
Horizontal
Permite el procesamiento en paralelo de los fragmentos Permite que las tuplas se ubiquen el sitio donde son mas frecuentemente accedidas.
Vertical
Permite que los fragmentos sean almacenados en el sitio ms apropiado para la informacin. Permite el procesamiento paralelo sobre una relacin.
Tiene su propio DBMS El DBMS controla todos los aspectos del nodo Las operaciones de acceso a datos locales utilizan slo recursos locales Hay cooperacin entre los nodos para el acceso distribuido de datos.
Soporte para backups on line, total o incremental Soporte para recuperaciones rpidas de BD. DBMS tolerante a fallos (con hardware acorde)
Los usuarios y las aplicaciones no necesitan conocer la ubicacin fsica de los datos. Actan como si fuesen locales a ellos.
El DD debe mantener una tabla con los elementos de datos, sus alias y sus ubicaciones
Un DDBMS debe mantener y utilizar el DD an cuando los datos se mueve entre localidades
El DD debe estar replicado en las localidades y las rplicas deben mantenerse actualizadas.
La fragmentacin es necesaria por razones de rendimiento. Los datos pueden estar almacenados en la ubicacin donde son usados con mayor frecuencia para que la mayora de las operaciones sean locales y se reduzca el trfico de la Red.
Mejor rendimiento: las aplicaciones operan sobre copias locales en vez de comunicarse con sitios remotos.
Mejor disponibilidad: un objeto replicado est disponible mientras haya al menos una copia. Desventaja: propagar las actualizaciones.
La performance de una consulta debe ser independiente del sitio donde se realiza la consulta El SD debe disponer de mecanismos para optimizar las consultas y en el especial para reducir la carga de trfico necesaria.
Sistemas distribuidos
20/01/1999 27
El SD debe disponer de mecanismos adecuados para el control de concurrencia y la recuperacin de transacciones distribuidas Debe mantenerse la atomicidad de las transacciones. Control de recuperacin de informacin. Control de concurrencia. Protocolos utilizado para preservar la atomicidad: dos fases o tres fases los ms conocidos.
CARACTERISTICAS DE UN SGBDD
Sistemas distribuidos
20/01/1999 31
CARACTERISTICAS DE UN SGBDD
Una coleccin de datos compartidos y relacionados logicamente. Los datos estan divididos en fragmentos. Los fragmentos se pueden duplicar. Los fragmentos se colocan en varios computadoras. Dichas computadoras estan conectadas por una red. Los Datos de cada computadora estan bajo el control de un SGBD. El SGBD en cada computador puede manejar aplicaciones locales autonomamente. Cada SGBD participa en al menos una aplicacin Global.
Sistemas distribuidos
20/01/1999 32
Sistemas distribuidos
20/01/1999 33
S2
Esquma Externo Global Esquma Conceptual Global Esquma Fragmentacion
Sn
Esquma Externo Global
S1
Esquma Correspondencia Local Esquma Conceptual Local Esquma Interno Local
Esquma Localizacion
S2
Esquma Correspondencia Local Esquma Conceptual Local Esquma Interno Local
Sn
Esquma Correspondencia Local Esquma Conceptual Local Esquma Interno Local
Sistemas distribuidos
20/01/1999 34
Sistemas distribuidos
20/01/1999 35
Sistemas distribuidos
20/01/1999 36
Sistemas distribuidos
20/01/1999 37
Analisis de Requisitos
Todo comienza con un anlisis de los requisitos que definirn el entorno del sistema en aras a obtener tanto los datos como las necesidades de procesamiento de todos los posibles usuarios del banco de datos.
Sistemas distribuidos
20/01/1999 38
Sistemas distribuidos
20/01/1999 39
Sistemas distribuidos
20/01/1999 40
Diseo Conceptual
El diseo conceptual puede interpretarse como la integracin de las vistas del usuario, este aspecto es de vital importancia ya que el modelo conceptual debera soportar no slo las aplicaciones existentes, sino que debera estar preparado para futuras aplicaciones. En el diseo conceptual y de las vistas del usuario se especificarn las entidades de datos y se determinarn las aplicaciones que funcionarn sobre la base de datos, as mismo, se recopilarn datos estadsticos o estimaciones sobre la actividad de estas aplicaciones. Sistemas distribuidos
20/01/1999 41
Diseo de la distribucion
El objetivo de esta etapa consiste en disear los esquemas conceptuales locales que se distribuirn a lo largo de todos los puestos del sistema distribuido. Sera posible tratar cada entidad como una unidad de distribucin; en el caso del modelo relacional, cada entidad se corresponde con una relacin. Resulta bastante frecuente dividir cada relacin en subrelaciones menores denominadas fragmentos que luego se ubican en uno u otro sitio. De ah, que el proceso del diseo de la distribucin conste de dos actividades fundamentales: la fragmentacin y la asignacin. Sistemas distribuidos
20/01/1999 42
Diseo de la distribucion
El diseo de la distribucin es el diseo fsico, el cual proyecta los esquemas conceptuales locales sobre los dispositivos de almacenamiento fsico disponibles en los distintos sitios. Las entradas para este paso son los esquemas conceptuales locales y la informacin de acceso a los fragmentos. Por ltimo, se sabe que la actividad de desarrollo y diseo es un tipo de proceso que necesita de una monitorizacin y un ajuste peridicos, para que si se llegan a producir desviaciones, se pueda retornar a alguna de las fases anteriores. Sistemas distribuidos
20/01/1999 43
FRAGMENTACIN
Sistemas distribuidos
20/01/1999 44
FRAGMENTACIN
Una base de datos fragmentada es aquella donde no existe rplica alguna. Los fragmentos se alojan en sitios donde nicamente existe una copia de cada uno de ellos a lo largo de toda la red. En caso de rplica, podemos considerar una base de datos totalmente replicada, donde existe una copia de todo el banco de datos en cada sitio, o considerar una base de datos parcialmente replicada donde existan copias de los fragmentos ubicados en diferentes sitios. El nmero de copias de un fragmento ser una de las posibles entradas a los algoritmos de asignacin, o una variable de decisin cuyo valor lo determine el algoritmo. Sistemas distribuidos
20/01/1999 45
BOLQUEO
El Bloqueo es una tcnica muy empleada con el fin de obtener consistencia de datos. Cuando est tecnica se lleva a cabo de una forma adecuada con una planificacin seria, se puede mantener la integridad de la base de datos, en la sgte. Imagen Lima ejecuta una transaccin de actualizar dos bases de datos duplicadas que se encuentran en Arequipa y Trujillo. Para ello se debe intercambiar entre los puntos de red los siguientes mensajes :
Sistemas distribuidos
20/01/1999 46
BOLQUEO
Sistemas distribuidos
20/01/1999 47
Clase de Datos
James Martin nos proporciona una interesante clasificacin de los datos basadas en la frecuencia de cambios que experimentan, la necesidad de actualizaciones rpidas y el tipo de actualizaciones. Clase 0 : Los datos no son modificados nunca, o bien con poca frecuencia. Clase 1 : Los datos son modificados con un simple reemplazamiento; si el nmero de ; reemplazamientos es mayor que uno los datos no sufren ningn tipo de dao. ningn tipo de dao.
20/01/1999 48
Sistemas distribuidos
Clase de Datos
Clase 2 : Los datos no deben ser actualizados ms de una vez con una transaccin , pero las actualizaciones se pueden realizar en cualquier orden. Clase 3 : Los datos deben ser actualizados en un orden predeterminado y en tiempo real. Clase 4 : Los datos son actualizados y las actualizaciones afectan otras bases de datos y/u ordenadores de la red. ordenadores de la red.
Sistemas distribuidos
20/01/1999 49
Clase de Datos
Las diferentes clases de datos dependen del tipo de sistema de gestin de base de datos que se emplee. Existe otra serie de factores importantes de cara a realizar la mejor eleccin.. Ejm. Si una base de datos de gran tamao es de clase 3 y presenta una relacin de alta de actualizaciones con respecto a recuperaciones , deberamos pensar mucho el crear diversas copias.
Sistemas distribuidos
20/01/1999 50
CARGA
El termino carga se hace referencia a las asignaciones de recursos a un punto del sistema distribuido. Los recursos pueden ser programas o equipos. En la mayor parte de los casos la carga no se realiza en tiempo real. Esta solucin puede simplificar el entorno distribuido considerablemente.
Sistemas distribuidos
20/01/1999 51
CARGA
La carga puede realizarse dentro las topologas vertical u horizontal de tres formas : Carga ascendendente Carga descendente Carga interna.
Sistemas distribuidos
20/01/1999 52
Carga Descendente.
Los recursos son transmitidos desde el centro primario o maestro hacia los centros secundarios o esclavos, La carga descendente se emplea, a menudo para transportar copias de programas desarrollados y probados en el centro maestro. Esta solucin evita tener que disponer de personal tcnico de programacin en los centro distribuidos.
Sistemas distribuidos
20/01/1999 53
Carga ascendente
Se emplea cuando un centro secundario requiere un ordenador de mayor capacidad para ejecutar una tarea. Dicho centro transmite su secuencia de trabajo hacia el centro maestro para que este lo ejecute.
Sistemas distribuidos
20/01/1999 54
Los componente de una red horizontal pueden llevar a cabo las mismas funciones vistas anteriormente. Al igual que en la carga ascendente y descendente, la carga interna se emplea frecuentemente para compartir recursos, dividir el trabajo y proporcionar servicio de recuperacin entre los elemento de una red horizontal. Ejemplo: Edicin . la edicin de datos se realiza localmente. Los criterios de edicin se pueden desarrollar en el centro maestro y realizar posteriormente una carga descendente hacia los distintos puntos del sistema. Proceso de errores. Cualquier condicin de error en los programas se transmite a los centros secundarios. Base de datos . Se asignan datos determinados a distintos puntos del sistema.
Carga Interna
Sistemas distribuidos
20/01/1999 55
Para generar los fragmentos correspondientes al sitio 2 y al sitio 3, primero se puede fragmentar horizontalmente Departamento por su clave (NmeroD). Despus se aplica fragmentacin derivada a las relaciones Empleado, Proyecto y Localizaciones_Dept segn la clave fornea (presente en todas ellas) que refiere a un nmero de departamento. Despus se pueden fragmentar verticalmente los fragmentos resultantes de Empleado para incluir slo los atributos: {Nombre, NSS, Salario, NSS_Superv, ND}. La figura muestra los fragmentos mixtos EMPD5 y EMPD4, que contienen las tuplas Empleado que satisfacen las condiciones ND=5 y ND=4, respectivamente. Los fragmentos horizontales de Proyecto, Departamento y Localizaciones_Dept se fragmentan de manera similar por nmero de departamento. Todos estos fragmentos, almacenados en los sitios 2 y 3, estn replicados porque tambin se almacenan en el sitio 1 que es la oficina central.