Sunteți pe pagina 1din 43

Arquitecturas de bases de datos

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

Base de datos distribuida


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

Aspectos a tener en cuenta


Transparencia de datos en red Proceso de peticiones distribuido Modelo de transacciones distribuido Control de concurrencia Manejo de bloqueos Sistemas distribuidos con mltiples bases de datos

09 de Junio 1999 BD distribuidas 6

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:

Formas de distribuir los datos:


rplica y fragmentacin

Denominacin de los datos Localizacin de fragmentos y rplicas

09 de Junio 1999

BD distribuidas

Distribucin de los datos

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

Transferencia de datos reducida Se eleva el coste de la actualizaciones Se complica el control de la concurrencia


BD distribuidas 10

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

se asignan las tuplas a fragmentos

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

Ambos tipos de fragmentacin se pueden mezclar

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

pedro luis maria ana pedro

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

Criterios de denominacin de datos


1. Cada dato debe tener un nombre nico en el sistema 2. Debe ser posible encontrar la localizacin de los datos de forma eficiente. 3. Debe ser posible cambiar la localizacin de los datos de forma transparente. 4. Cada sitio debe poder crear nuevos datos autnomamente.
09 de Junio 1999 BD distribuidas 16

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

Cumple los tres primeros criterios de denominacin de datos

Inconvenientes

no satisface el ltimo criterio el servidor puede saturarse el servidor es un elemento crtico

09 de Junio 1999

BD distribuidas

17

Uso de alias

Cada sitio aade su identificador a cada nombre que genera. sitio17.datoXXX

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

Para encontrar un dato


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

Proceso de peticiones distribuido

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

Proceso de mezcla simple


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

Planes de evaluacin alternativos


Se pueden disear diferentes estrategias cambiando los roles de los tres sitios Se deben considerar los siguientes factores:

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

Proceso de mezcla parcial


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

Estrategias para explotar el paralelismo


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

Modelo de transacciones distribuido

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 de acuerdo 2PC


registro Si (Ci)
<T prepare>

protocolo

registro Si (Ci)
<T prepare>

protocolo

prepare T ready T de S1 ready T de S2


.

prepare T ready T de S1 no T de Sj
.

Fase 1

ready T de Sn

Fase 2

<T commit>

<T abort>

commit T ack T de S1 ack T de S2


.

abort T

ack T de Sn <T complete>


09 de Junio 1999 BD distribuidas 32

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

Fallo del coordinador

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

Protocolo de acuerdo 3PC


registro protocolo Si (Ci)
prepare T ready T de Sk k sitios
.

Fase 3 Fase 2 Fase 1

<T prepare>

<T prepare>

registro protocolo Si (Ci)


prepare T ready T de S1 no T de Sj
.

<T precommit>

<T abort>

abort T

<T commit>
09 de Junio 1999

precommit T ack T de Sk k sitios


commit T
BD distribuidas 35

Protocolo de fallo del coordinador


1. Los sitios activos eligen un nuevo coordinador Cnew. 2. Cnew 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 Cnew para que este decida. 4. Cnew decide en funcin de todos los participantes si un sitio enva un commit commit si un sitio enva abort abort si un sitio enva precommit y nadie enva commit o abort aplicar el protocolo desde la segunda fase en cualquier otro estado abort
09 de Junio 1999 BD distribuidas 36

Sistemas con mltiples bases de datos


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

Unificacin de la visin de datos


Acuerdo en un modelo de datos comn Acuerdo en un esquema conceptual comn Acuerdo en una representacin de datos compartidos nica. Acurerdo en las unidades de medida. Preparacin para aceptar transacciones globales

09 de Junio 1999 BD distribuidas 39

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

Sistema de gestin de fallos

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

Reconfiguracin del sistema


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

Reconfiguracin del sistema

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

S-ar putea să vă placă și