La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

09 de Junio 1999BD distribuidas2 Arquitecturas de bases de datos n Centralizadas – BD en una sola máquina y una sola CPU – todos los usuarios acceden.

Presentaciones similares


Presentación del tema: "09 de Junio 1999BD distribuidas2 Arquitecturas de bases de datos n Centralizadas – BD en una sola máquina y una sola CPU – todos los usuarios acceden."— Transcripción de la presentación:

1

2 09 de Junio 1999BD distribuidas2 Arquitecturas de bases de datos n Centralizadas – BD en una sola máquina y una sola CPU – todos los usuarios acceden a esa máquina n Sistemas paralelos – BD en una sola máquina y varias CPU y varios discos – todos los usuarios acceden a esa máquina n Sistemas cliente-servidor – BD en una sola máquina (back-end) – los usuarios acceden desde sistemas remotos (front-end) n Sistemas distribuidos – BD repartida entre varias máquinas – los usuarios acceden a cualquiera de las máquinas del sistema

3 09 de Junio 1999BD distribuidas3 Base de datos distribuida n Es una colección de múltiples y lógicamente relacionadas bases de datos sobre una red de ordenadores. n Un DBMS distribuido se define como el software que permite gestionarlo y hacer la distribución transparente a los usuarios. n Es una BD almacenada en varios ordenadores que se comunican mediante una red de comunicaciones. n El usuario debe poder usarla como un sistema único. n Puede procesar todo tipo de peticiones complejas. n La peticiones se pueden procesar en el sitio que hizo la petición o en cualquier otro o parcialmente en varios. n Necesita una gestión de transacciones especial. n Debe proporcionar optimización de peticiones automáticamente.

4 09 de Junio 1999BD distribuidas4 Ventajas n Autonomía local n Mejora de rendimiento n Mejora de la seguridad y la disponibilidad n Economía n Capacidad de expansión n Capacidad de compartición

5 09 de Junio 1999BD distribuidas5 Desventajas n Falta de experiencia n Complejidad n Coste n Control de distribución n Seguridad n Dificultades para cambiar

6 09 de Junio 1999BD distribuidas6 Aspectos a tener en cuenta n Transparencia de datos en red n Proceso de peticiones distribuido n Modelo de transacciones distribuido n Control de concurrencia n Manejo de bloqueos n Sistemas distribuidos con múltiples bases de datos

7 09 de Junio 1999BD distribuidas7 Transparencia de red n Capacidad del sistema para abstraer a los usuarios los detalles de donde y como están almacenados los datos en el sistema distribuido. n Aspectos a considerar: – Formas de distribuir los datos: n réplica y n fragmentación – Denominación de los datos – Localización de fragmentos y réplicas

8 09 de Junio 1999BD distribuidas8 Distribución de los datos n Réplica – se mantienen tantas copias de los datos como sitios para facilitar la recuperación y la tolerancia a fallos. n Fragmentación – la relación se divide en varios fragmentos almacenando uno en cada sitio. n Réplica y fragmentación – la relación se parte en varios fragmentos manteniendo el sistema una copia en cada sitio.

9 09 de Junio 1999BD distribuidas9 Réplica de datos n Consiste en mantener una copia exacta de de una relación o parte de ella en mas de un sitio. n La réplica completa se produce cuando se copia la relación en todos los sitios. n Una BD completamente redundante es aquella en la que cada sitio contiene una réplica completa de la BD.

10 09 de Junio 1999BD distribuidas10 Características n Ventajas de la réplica – Disponibilidad n frente a fallos de la red. – Paralelismo n las peticiones se pueden procesar en varios nodos en paralelo. – Transferencia de datos reducida n Inconvenientes – Se eleva el coste de la actualizaciones – Se complica el control de la concurrencia

11 09 de Junio 1999BD distribuidas11 Fragmentación n Consiste en dividir una relación en varios trozos que contengan suficiente información para poder reconstruir la relación cuando sea necesario – Horizontal n se asignan las tuplas a fragmentos – Vertical n el esquema de la relación se divide en varios n todos los esquemas resultantes contienen una clave candidato común (o superclave) n se añade un atributo especial que actúa como clave candidata. n Ambos tipos de fragmentación se pueden mezclar

12 09 de Junio 1999BD distribuidas12 Ejemplo type cuenta = record nombre: char(22); maquina: char(8); login: char(8); end pedro jupiterplp 01 luis venuslls 02 maria jupitermrm 03 ana venusana 04 pedro solppp 05 elena martecmr 06 carlos jupitercrc 07 sofia venussofi 08 elena jupiterelsb 09 elena venusels 10 elisa plutoneli 11 elena neptunoelsc 12

13 09 de Junio 1999BD distribuidas13 Fragmentación horizontal pedro jupiterplp 01 luis venuslls 02 maria jupitermrm 03 ana venusana 04 pedro solppp 05 elena martecmr 06 carlos jupitercrc 07 sofia venussofi 08 elena jupiterelsb 09 elena venusels 10 elisa plutoneli 11 elena neptunoelsc 12 pedro jupiterplp 01 luis venuslls 02 maria jupitermrm 03 ana venusana 04 pedro solppp 05 elena martecmr 06 carlos jupitercrc 07 sofia venussofi 08 elena jupiterelsb 09 elena venusels 10 elisa plutoneli 11 elena neptunoelsc 12 Sitio A Sitio B

14 09 de Junio 1999BD distribuidas14 Fragmentación vertical pedro jupiter01 luis venus02 maria jupiter03 ana venus04 pedro sol05 elena marte06 carlos jupiter07 sofia venus08 elena jupiter09 elena venus10 elisa pluton11 elena neptuno12 01plp 01 02lls 02 03mrm 03 04ana 04 05ppp 05 06cmr 06 07crc 07 08sofi 08 09elsb 09 10els 10 11eli 11 12elsc 12 Sitio ASitio B

15 09 de Junio 1999BD distribuidas15 Ventajas de la fragmentación n Horizontal – permite el procesamiento paralelo de una relación – permite que una tabla global pueda estar donde se utiliza mas frecuentemente n Vertical – permite que una tabla pueda ser distribuida en función del uso de sus atributos. – permite descomposiciones adicionales que se pueden conseguir con normalización. – el atributo especial facilita la mezcla de fragmentos verticales – permite el procesamiento paralelo de una relación

16 09 de Junio 1999BD distribuidas16 Criterios de denominación de datos 1. Cada dato debe tener un nombre único en el sistema 2. Debe ser posible encontrar la localización de los datos de forma eficiente. 3. Debe ser posible cambiar la localización de los datos de forma transparente. 4. Cada sitio debe poder crear nuevos datos autónomamente.

17 09 de Junio 1999BD distribuidas17 Esquema centralizado n Estructura – un servidor asigna todos los nombres – cada sitio mantiene un registro de todos los datos locales – los sitios piden al servidor la localización de los datos remotos n Ventajas – Cumple los tres primeros criterios de denominación de datos n Inconvenientes – no satisface el último criterio – el servidor puede saturarse – el servidor es un elemento crítico

18 09 de Junio 1999BD distribuidas18 Uso de alias n Cada sitio añade su identificador a cada nombre que genera. – sitio17.datoXXX n Maneja un identificador único y elimina los problemas del servidor central, pero no consigue transparencia de red. n La solución es asignar alias a los datos y almacenar la relación en cada sitio – no hace falta conocer la localización del dato – no afecta si los datos cambian de sitio

19 09 de Junio 1999BD distribuidas19 Nombres únicos n Cada réplica de cada fragmento de un dato tiene un nombre único n Se utilizan sufijos para indicar de que réplica y de que fragmento es cada dato – sitio17.datoXXX.frag005.replica56 n El nombre real de un dato se obtiene del alias localizando – primero la réplica – luego el fragmento

20 09 de Junio 1999BD distribuidas20 Para encontrar un dato n El subsistema de procesamiento de peticiones busca el nombre en la tabla de alias local n Si es una réplica se consulta la tabla de réplicas n Si la réplica es fragmentada se examina la tabla de fragmentación para saber como reconstruir la relación n Aunque solo se suelen consultar una o dos tablas, el algoritmo maneja cualquier combinación de réplicas y fragmentos.

21 09 de Junio 1999BD distribuidas21 Transparencia y actualización n Debe asegurar que todas las réplicas y todos los fragmentos de los datos afectados se actualizan. n Fragmentación horizontal – aplicar un predicado para saber si el dato pertenece a un fragmento o no – insertar el dato en todas las réplicas n Fragmentación vertical – dividir el dato en fragmentos – insertar cada fragmento en cada réplica – Problema: pueden lanzarse dos actualización de fragmentos distintos del mismo dato en paralelo sobre réplicas distintas

22 09 de Junio 1999BD distribuidas22 Proceso de peticiones distribuido n Hay que considerar criterios de coste más sofisticados que el sistemas centralizados: – Número de accesos a disco – Coste de la transmisión de datos sobre la red – Capacidad de procesamiento paralelo – Selección del sitio de procesamiento n Es necesario considerar expresiones sobre fragmentos – Construir una relación desde sus fragmentos – Sustituir una relación por una expresión que la construye desde sus fragmentos.

23 09 de Junio 1999BD distribuidas23 Ejemplo n Con fragmentación horizontal – r = r 1 r 2 – r 1 = atributo = valor1 (r) – r 2 = atributo = valor2 (r) n La petición atributo = valor1 (r) consiste en – atributo = valor1 (r 1 r 2 ) n La optimización consiste en hacer la selección antes que la unión de fragmentos – atributo = valor1 (r 1 ) atributo = valor1 (r 2 ) n Como r 2 no tiene valor 1, la selección es vacía y el resultado es la selección de r 1

24 09 de Junio 1999BD distribuidas24 Proceso de mezcla simple n Considerando la expresión r 1 r 2 r 3 n Suponer que – no hay réplicas ni fragmentaciones – cada relación está en un sitio distinto – que el resultado hay que producirlo en el sitio de r 1 n Estrategia 1. copiar r 1 de S 1 a S 2 y hacer la mezcla r 1 r 2 2. copiar el resultado temporal en S 3 y hacer la mezcla temporal r 3 3. enviar el resultado a S 1

25 09 de Junio 1999BD distribuidas25 Planes de evaluación alternativos n Se pueden diseñar diferentes estrategias cambiando los roles de los tres sitios n Se deben considerar los siguientes factores: – cantidad de información que hay que transportar – coste de la transmisión de bloques de datos entre sitios – la velocidad relativa de procesamiento de cada sitio

26 09 de Junio 1999BD distribuidas26 Proceso de mezcla parcial n Sea r 1 una relación con esquema R 1 almacenada en S 1 n Sea r 2 una relación con esquema R 2 almacenada en S 2 n Se trata de evaluar la expresión r 1 r 2 y almacenar el resultado en R 1 – calcular temp1 = R1 R2 (r 1 ) en S 1 – enviar temp1 a S 2 – calcular temp2 = r 1 temp1 en S 2 – enviar temp2 a S 1 – calcular r 1 temp2 en S 1

27 09 de Junio 1999BD distribuidas27 Definición formal n La mezcla parcial de r 1 y r 2 = r 1 < r 2 n Se define como R1 (r 1 r 2 ) n Selecciona los elementos de r 1 que contribuyen a la mezcla r 1 r 2 n El procedimiento puede extenderse a cualquier número de relaciones realizando varios pasos de mezcla parcial.

28 09 de Junio 1999BD distribuidas28 Estrategias para explotar el paralelismo n Considerar r 1 r 2 r 3 r 4 n donde cada relación se guarda en un sitio diferente y n el resultado se debe dejar en S 1 n Estrategia paralela – Se manda r 1 a S 2 y se calcula r 1 r 2 – Se manda r 3 a S 4 y se calcula r 3 r 4 – Se envían los resultados a S 1 según se van produciendo – Según van llegando los resultados a S 1 se procesa la mezcla final (r 1 r 2 ) (r 3 r 4 )

29 09 de Junio 1999BD distribuidas29 Modelo de transacciones distribuido n Soportar el proceso de transacciones – locales: en un solo sitio – globales: en varios sitios n Cada sitio debe disponer de un Gestor de Transacciones Local – mantiene el registro de actividades – participa en la coordinación de la ejecución de transacciones globales. n Hace falta un Coordinador de Transacciones en cada sitio: – arranca la ejecución de transacciones en ese sitio – distribuye operaciones de la transacción a otros sitios – coordina la terminación de las transacciones originadas en ese sitio

30 09 de Junio 1999BD distribuidas30 Control de transacciones n Es el subsistema encargado de controlar la atomicidad de la ejecución de transacciones: – parte local – parte distribuida n Para la parte distribuida hace falta un protocolo: – protocolo de acuerdo en dos fases (2PC) – protocolo de acuerdo en tres fases (3PC) n Hace falta un protocolo de selección de coordinador en caso de fallo n Hace falta un algoritmo de control de concurrencia a nivel global – protocolos de bloqueo – marcas de tiempo

31 09 de Junio 1999BD distribuidas31 Protocolo 2PC n Sirve para certificar que una transacción que se ha ejecutado de forma distribuida ha terminado bien. n El Coordinador de la transacción ejecuta el protocolo cuando se ejecuta el último paso de la transacción. n El protocolo tiene en cuenta todos los sitios que han intervenido en la transacción. n Si S i es el sitio que inició la transacción T, actúa como coordinador C i y es el que inicia el protocolo.

32 09 de Junio 1999BD distribuidas32 Protocolo de acuerdo 2PC registro S i (C i ) protocolo prepare T ready T de S 1 ready T de S 2. ready T de S n commit T ack T de S 1 ack T de S 2. ack T de S n registro S i (C i ) protocolo prepare T ready T de S 1 no T de S j. abort T Fase 1 Fase 2

33 09 de Junio 1999BD distribuidas33 Fallo en un participante n La recuperación depende de la información del registro – si contiene un, ejecuta un – si contiene un, debe consultar a C i para decidir que hacer n si, ejecuta un n Si no hay entradas de T en el registro, es que fallo antes de recibir el, – se debe ejecutar un

34 09 de Junio 1999BD distribuidas34 Fallo del coordinador n Los demás sitios deben decidir que hacer con T, en función del contenido del registro – si contiene un, se da a T por entregada – si contiene un, T debe abortar – si algunos sitios contienen, hay que abortar – si todos los sitios contienen, hay que esperar a que el coordinador vuelva a funcionar n esto puede provocar un bloqueo al obligar a esperar a los sitios activos. n el Protocolo 3PC puede resolver este problema

35 09 de Junio 1999BD distribuidas35 Protocolo de acuerdo 3PC registro S i (C i ) protocolo prepare T ready T de S k k sitios. precommit T ack T de S k k sitios commit T registro S i (C i ) protocolo prepare T ready T de S 1 no T de S j. abort T Fase 1 Fase 2 Fase 3

36 09 de Junio 1999BD distribuidas36 Protocolo de fallo del coordinador 1. Los sitios activos eligen un nuevo coordinador C new. 2. C new pide el estado de T a cada participante. – Commit: si el registro contiene un commit – Abort: si el registro contiene un abort – Ready: si el registro contiene ready y no contiene abort o precommit. – Precommit: si contiene un precommit y no contiene un abort o un commit – Not ready: si no contiene ni ready ni abort 3. Cada participante manda su estado a C new para que este decida. 4. C new decide en función de todos los participantes – si un sitio envía un commit commit – si un sitio envía abort abort – si un sitio envía precommit y nadie envía commit o abort aplicar el protocolo desde la segunda fase – en cualquier otro estado abort

37 09 de Junio 1999BD distribuidas37 Sistemas con múltiples bases de datos n Sobre los sistemas de gestión local es preciso añadir sistemas de gestión global del entorno distribuido. n De igual forma se añade una interfaz al más alto nivel para manipular información en sistemas heterogéneos. n Son sistemas con limitaciones pues – los modelos de datos pueden ser diferentes – los protocolos locales de gestión de transacciones pueden ser incompatibles. – El control de concurrencia puede utilizar técnicas diferentes.

38 09 de Junio 1999BD distribuidas38 Ventajas n Se mantiene la inversión existente – hardware – software de sistema – aplicaciones n Autonomía y control administrativo local n Permite el uso de DBMS de propósito especial n Es una primera aproximación hacia un sistema de gestión de bases de datos unificado.

39 09 de Junio 1999BD distribuidas39 Unificación de la visión de datos n Acuerdo en un modelo de datos común n Acuerdo en un esquema conceptual común n Acuerdo en una representación de datos compartidos única. n Acurerdo en las unidades de medida. n Preparación para aceptar transacciones globales

40 09 de Junio 1999BD distribuidas40 Gestión de transacciones n Las transacciones locales no se comunican al resto del sistema. n La autonomía local implica que no se comunica directamente con el gestor de transacciones global y estas transacciones no están bajo control. – control de concurrencia local – hay que protegerse contra bloqueos locales – hacen falta mecanismos para asegurar la seriabilidad global.

41 09 de Junio 1999BD distribuidas41 Sistema de gestión de fallos n Aparecen nuevas causas de fallo – fallo de un sitio – pérdida de mensajes – fallo en los enlaces de la red – partición de la red n La forma de responder a los fallos es ofrecer el mayor grado de robustez posible – detectar el fallo – reconfigurar el sistema – recuperarse del error

42 09 de Junio 1999BD distribuidas42 Reconfiguración del sistema n Si se produce un fallo en el sitio S y n Si hay datos replicados en S, eliminar a S de la lista de actualizaciones. n Si había transacciones corriendo S cuando se produce el fallo, pasan a estado abort. – es importante hacerlo pronto, pues puede haber datos bloqueados para sitios que están activos. n Si S es un servidor central de algún subsistema, se debe elegir un nuevo servidor – servidor de nombres, coordinador de concurrencia, detector de bloqueos globales.

43 09 de Junio 1999BD distribuidas43 Reconfiguración del sistema n La reconfiguración debe soportar particiones de la red, evitando, – la elección de dos o mas servidores centrales en cada partición. – actualización de datos replicados por mas de una partición. n La reconfiguración se puede representar como una serie de transacciones – subsistema de control de concurrencia – subsistema de gestión de transacciones


Descargar ppt "09 de Junio 1999BD distribuidas2 Arquitecturas de bases de datos n Centralizadas – BD en una sola máquina y una sola CPU – todos los usuarios acceden."

Presentaciones similares


Anuncios Google