Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Centralizadas BD en una sola mquina y una sola CPU todos los usuarios acceden a esa mquina Sistemas paralelos BD en una sola mquina y varias CPU y varios discos todos los usuarios acceden a esa mquina Sistemas cliente-servidor BD en una sola mquina (back-end) los usuarios acceden desde sistemas remotos (front-end) Sistemas distribuidos BD repartida entre varias mquinas los usuarios acceden a cualquiera de las mquinas del sistema
BD distribuidas 2
09 de Junio 1999
Es una coleccin de mltiples y lgicamente relacionadas bases de datos sobre una red de ordenadores. Un DBMS distribuido se define como el software que permite gestionarlo y hacer la distribucin transparente a los usuarios. Es una BD almacenada en varios ordenadores que se comunican mediante una red de comunicaciones. El usuario debe poder usarla como un sistema nico. Puede procesar todo tipo de peticiones complejas. La peticiones se pueden procesar en el sitio que hizo la peticin o en cualquier otro o parcialmente en varios. Necesita una gestin de transacciones especial. Debe proporcionar optimizacin de peticiones automticamente.
09 de Junio 1999
BD distribuidas
Ventajas
Autonoma local Mejora de rendimiento Mejora de la seguridad y la disponibilidad Economa Capacidad de expansin Capacidad de comparticin
09 de Junio 1999
BD distribuidas
Desventajas
Falta de experiencia Complejidad Coste Control de distribucin Seguridad Dificultades para cambiar
09 de Junio 1999
BD distribuidas
Transparencia de red
Capacidad del sistema para abstraer a los usuarios los detalles de donde y como estn almacenados los datos en el sistema distribuido. Aspectos a considerar:
rplica y fragmentacin
09 de Junio 1999
BD distribuidas
Rplica
se mantienen tantas copias de los datos como sitios para facilitar la recuperacin y la tolerancia a fallos. la relacin se divide en varios fragmentos almacenando uno en cada sitio.
Fragmentacin
Rplica y fragmentacin
la relacin se parte en varios fragmentos manteniendo el sistema una copia en cada sitio.
09 de Junio 1999
BD distribuidas
Rplica de datos
Consiste en mantener una copia exacta de de una relacin o parte de ella en mas de un sitio. La rplica completa se produce cuando se copia la relacin en todos los sitios. Una BD completamente redundante es aquella en la que cada sitio contiene una rplica completa de la BD.
09 de Junio 1999
BD distribuidas
Caractersticas
Ventajas de la rplica
Disponibilidad
frente a fallos de la red. las peticiones se pueden procesar en varios nodos en paralelo.
Paralelismo
Inconvenientes
09 de Junio 1999
Fragmentacin
Consiste en dividir una relacin en varios trozos que contengan suficiente informacin para poder reconstruir la relacin cuando sea necesario
Horizontal
Vertical
el esquema de la relacin se divide en varios todos los esquemas resultantes contienen una clave candidato comn (o superclave) se aade un atributo especial que acta como clave candidata.
BD distribuidas 11
09 de Junio 1999
Ejemplo
type cuenta = record nombre: char(22); maquina: char(8); login: char(8); end
09 de Junio 1999
01 02 03 04 05 06 07 08 09 10 11 12
pedro luis maria ana pedro elena carlos sofia elena elena elisa elena
jupiter venus jupiter venus sol marte jupiter venus jupiter venus pluton neptuno
plp lls mrm ana ppp cmr crc sofi elsb els eli elsc
BD distribuidas
12
Fragmentacin horizontal
Sitio A
01 02 03 04 05 06 07 08 09 10 11 12 pedro luis maria ana pedro elena carlos sofia elena elena elisa elena jupiter venus jupiter venus sol marte jupiter venus jupiter venus pluton neptuno plp lls mrm ana ppp cmr crc sofi elsb els eli elsc 01 02 03 04 05 06 07 08 09 10 11 12
BD distribuidas
jupiter venus jupiter venus sol marte jupiter venus jupiter venus pluton neptuno
plp lls mrm ana ppp cmr crc sofi elsb els eli elsc
13
Sitio B
elena carlos sofia elena elena elisa elena
09 de Junio 1999
Fragmentacin vertical
01 02 03 04 05 06 07 08 09 10 11 12
Sitio A
pedro luis maria ana pedro elena carlos sofia elena elena elisa elena
jupiter venus jupiter venus sol marte jupiter venus jupiter venus pluton neptuno
01 02 03 04 05 06 07 08 09 10 11 12
BD distribuidas
01 02 03 04 05 06 07 08 09 10 11 12
Sitio B
plp lls mrm ana ppp cmr crc sofi elsb els eli elsc
01 02 03 04 05 06 07 08 09 10 11 12
14
09 de Junio 1999
Ventajas de la fragmentacin
Horizontal permite el procesamiento paralelo de una relacin permite que una tabla global pueda estar donde se utiliza mas frecuentemente Vertical permite que una tabla pueda ser distribuida en funcin del uso de sus atributos. permite descomposiciones adicionales que se pueden conseguir con normalizacin. el atributo especial facilita la mezcla de fragmentos verticales permite el procesamiento paralelo de una relacin
09 de Junio 1999
BD distribuidas
15
Esquema centralizado
Estructura
un servidor asigna todos los nombres cada sitio mantiene un registro de todos los datos locales los sitios piden al servidor la localizacin de los datos remotos
Ventajas
Inconvenientes
09 de Junio 1999
BD distribuidas
17
Uso de alias
Maneja un identificador nico y elimina los problemas del servidor central, pero no consigue transparencia de red.
La solucin es asignar alias a los datos y almacenar la relacin en cada sitio no hace falta conocer la localizacin del dato no afecta si los datos cambian de sitio
BD distribuidas 18
09 de Junio 1999
Nombres nicos
Cada rplica de cada fragmento de un dato tiene un nombre nico Se utilizan sufijos para indicar de que rplica y de que fragmento es cada dato sitio17.datoXXX.frag005.replica56 El nombre real de un dato se obtiene del alias localizando primero la rplica luego el fragmento
09 de Junio 1999
BD distribuidas
19
El subsistema de procesamiento de peticiones busca el nombre en la tabla de alias local Si es una rplica se consulta la tabla de rplicas Si la rplica es fragmentada se examina la tabla de fragmentacin para saber como reconstruir la relacin Aunque solo se suelen consultar una o dos tablas, el algoritmo maneja cualquier combinacin de rplicas y fragmentos.
BD distribuidas 20
09 de Junio 1999
Transparencia y actualizacin
Debe asegurar que todas las rplicas y todos los fragmentos de los datos afectados se actualizan. Fragmentacin horizontal aplicar un predicado para saber si el dato pertenece a un fragmento o no insertar el dato en todas las rplicas Fragmentacin vertical dividir el dato en fragmentos insertar cada fragmento en cada rplica Problema: pueden lanzarse dos actualizacin de fragmentos distintos del mismo dato en paralelo sobre rplicas distintas
BD distribuidas 21
09 de Junio 1999
Hay que considerar criterios de coste ms sofisticados que el sistemas centralizados: Nmero de accesos a disco Coste de la transmisin de datos sobre la red Capacidad de procesamiento paralelo Seleccin del sitio de procesamiento Es necesario considerar expresiones sobre fragmentos Construir una relacin desde sus fragmentos Sustituir una relacin por una expresin que la construye desde sus fragmentos.
BD distribuidas 22
09 de Junio 1999
Ejemplo
Con fragmentacin horizontal r = r 1 r2 r1 = atributo = valor1 (r) r2 = atributo = valor2 (r) La peticin atributo = valor1 (r) consiste en atributo = valor1 (r1 r2 ) La optimizacin consiste en hacer la seleccin antes que la unin de fragmentos atributo = valor1 (r1) atributo = valor1 (r2 ) Como r2 no tiene valor1, la seleccin es vaca y el resultado es la seleccin de r1
09 de Junio 1999
BD distribuidas
23
Considerando la expresin r1r2r3 Suponer que no hay rplicas ni fragmentaciones cada relacin est en un sitio distinto que el resultado hay que producirlo en el sitio de r1 Estrategia 1. copiar r1 de S1 a S2 y hacer la mezcla r1r2 2. copiar el resultado temporal en S3 y hacer la mezcla temporalr3 3. enviar el resultado a S1
09 de Junio 1999
BD distribuidas
24
cantidad de informacin que hay que transportar coste de la transmisin de bloques de datos entre sitios la velocidad relativa de procesamiento de cada sitio
09 de Junio 1999
BD distribuidas
25
Sea r1 una relacin con esquema R1 almacenada en S1 Sea r2 una relacin con esquema R2 almacenada en S2 Se trata de evaluar la expresin r1r2 y almacenar el resultado en R1 calcular temp1 = R1 R2(r1) en S1 enviar temp1 a S2 calcular temp2 = r1temp1 en S2 enviar temp2 a S1 calcular r1temp2 en S1
09 de Junio 1999
BD distribuidas
26
Definicin formal
La mezcla parcial de r1 y r2 = r1< r2 Se define como R1(r1r2) Selecciona los elementos de r1 que contribuyen a la mezcla r1r2 El procedimiento puede extenderse a cualquier nmero de relaciones realizando varios pasos de mezcla parcial.
09 de Junio 1999
BD distribuidas
27
Considerar r1r2r3r4 donde cada relacin se guarda en un sitio diferente y el resultado se debe dejar en S1 Estrategia paralela Se manda r1 a S2 y se calcula r1r2 Se manda r3 a S4 y se calcula r3r4 Se envan los resultados a S1 segn se van produciendo Segn van llegando los resultados a S1 se procesa la mezcla final (r1r2)(r3r4)
09 de Junio 1999
BD distribuidas
28
Soportar el proceso de transacciones locales: en un solo sitio globales: en varios sitios Cada sitio debe disponer de un Gestor de Transacciones Local mantiene el registro de actividades participa en la coordinacin de la ejecucin de transacciones globales. Hace falta un Coordinador de Transacciones en cada sitio: arranca la ejecucin de transacciones en ese sitio distribuye operaciones de la transaccin a otros sitios coordina la terminacin de las transacciones originadas en ese sitio
09 de Junio 1999
BD distribuidas
29
Control de transacciones
Es el subsistema encargado de controlar la atomicidad de la ejecucin de transacciones: parte local parte distribuida Para la parte distribuida hace falta un protocolo: protocolo de acuerdo en dos fases (2PC) protocolo de acuerdo en tres fases (3PC) Hace falta un protocolo de seleccin de coordinador en caso de fallo Hace falta un algoritmo de control de concurrencia a nivel global protocolos de bloqueo marcas de tiempo
09 de Junio 1999
BD distribuidas
30
Protocolo 2PC
Sirve para certificar que una transaccin que se ha ejecutado de forma distribuida ha terminado bien. El Coordinador de la transaccin ejecuta el protocolo cuando se ejecuta el ltimo paso de la transaccin. El protocolo tiene en cuenta todos los sitios que han intervenido en la transaccin. Si Si es el sitio que inici la transaccin T, acta como coordinador Ci y es el que inicia el protocolo.
BD distribuidas 31
09 de Junio 1999
protocolo
registro Si (Ci)
<T prepare>
protocolo
prepare T ready T de S1 no T de Sj
.
Fase 1
ready T de Sn
Fase 2
<T commit>
<T abort>
abort T
Fallo en un participante
La recuperacin depende de la informacin del registro si contiene un <T commit>, ejecuta un <T redo> si contiene un <T abort>, ejecuta un <T undo> si contiene un <T ready>, debe consultar a Ci para decidir que hacer si <T commit>, ejecuta un <T redo> si <T abort>, ejecuta un <T undo> Si no hay entradas de T en el registro, es que fallo antes de recibir el <T prepare>, se debe ejecutar un <T undo>
BD distribuidas 33
09 de Junio 1999
Los dems sitios deben decidir que hacer con T, en funcin del contenido del registro si contiene un <T commit>, se da a T por entregada si contiene un <T abort>, T debe abortar si algunos sitios contienen <T ready>, hay que abortar si todos los sitios contienen <T ready>, hay que esperar a que el coordinador vuelva a funcionar esto puede provocar un bloqueo al obligar a esperar a los sitios activos. el Protocolo 3PC puede resolver este problema
BD distribuidas 34
09 de Junio 1999
<T prepare>
<T prepare>
<T precommit>
<T abort>
abort T
<T commit>
09 de Junio 1999
Sobre los sistemas de gestin local es preciso aadir sistemas de gestin global del entorno distribuido. De igual forma se aade una interfaz al ms alto nivel para manipular informacin en sistemas heterogneos. Son sistemas con limitaciones pues los modelos de datos pueden ser diferentes los protocolos locales de gestin de transacciones pueden ser incompatibles. El control de concurrencia puede utilizar tcnicas diferentes.
BD distribuidas 37
09 de Junio 1999
Ventajas
Se mantiene la inversin existente hardware software de sistema aplicaciones Autonoma y control administrativo local Permite el uso de DBMS de propsito especial Es una primera aproximacin hacia un sistema de gestin de bases de datos unificado.
09 de Junio 1999
BD distribuidas
38
Gestin de transacciones
Las transacciones locales no se comunican al resto del sistema. La autonoma local implica que no se comunica directamente con el gestor de transacciones global y estas transacciones no estn bajo control. control de concurrencia local hay que protegerse contra bloqueos locales hacen falta mecanismos para asegurar la seriabilidad global.
09 de Junio 1999
BD distribuidas
40
Aparecen nuevas causas de fallo fallo de un sitio prdida de mensajes fallo en los enlaces de la red particin de la red La forma de responder a los fallos es ofrecer el mayor grado de robustez posible detectar el fallo reconfigurar el sistema recuperarse del error
BD distribuidas 41
09 de Junio 1999
Si se produce un fallo en el sitio S y Si hay datos replicados en S, eliminar a S de la lista de actualizaciones. Si haba transacciones corriendo S cuando se produce el fallo, pasan a estado abort. es importante hacerlo pronto, pues puede haber datos bloqueados para sitios que estn activos. Si S es un servidor central de algn subsistema, se debe elegir un nuevo servidor servidor de nombres, coordinador de concurrencia, detector de bloqueos globales.
BD distribuidas 42
09 de Junio 1999
La reconfiguracin debe soportar particiones de la red, evitando, la eleccin de dos o mas servidores centrales en cada particin. actualizacin de datos replicados por mas de una particin. La reconfiguracin se puede representar como una serie de transacciones subsistema de control de concurrencia subsistema de gestin de transacciones
BD distribuidas 43
09 de Junio 1999