Bases de datos distribuidas
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

Bases de datos distribuidas PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Bases de datos distribuidas. Arquitecturas de bases de datos. Centralizadas BD en una sola máquina y una sola CPU todos los usuarios acceden a esa máquina Sistemas paralelos BD en una sola máquina y varias CPU y varios discos todos los usuarios acceden a esa máquina

Download Presentation

Bases de datos distribuidas

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Bases de datos distribuidas

Bases de datos distribuidas


Arquitecturas de bases de datos

Arquitecturas de bases de datos

Centralizadas

BD en una sola máquina y una sola CPU

todos los usuarios acceden a esa máquina

Sistemas paralelos

BD en una sola máquina y varias CPU y varios discos

todos los usuarios acceden a esa máquina

Sistemas cliente-servidor

BD en una sola máquina (back-end)

los usuarios acceden desde sistemas remotos (front-end)

Sistemas distribuidos

BD repartida entre varias máquinas

los usuarios acceden a cualquiera de las máquinas del sistema

BD distribuidas


Base de datos distribuida

Base de datos distribuida

  • Es una colección de múltiples y lógicamente relacionadas bases de datos sobre una red de ordenadores.

  • Un DBMS distribuido se define como el software que permite gestionarlo y hacer la distribución 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 petición o en cualquier otro o parcialmente en varios.

  • Necesita una gestión de transacciones especial.

  • Debe proporcionar optimización de peticiones automáticamente.

BD distribuidas


Ventajas

Ventajas

  • Autonomía local

  • Mejora de rendimiento

  • Mejora de la seguridad y la disponibilidad

  • Economía

  • Capacidad de expansión

  • Capacidad de compartición

BD distribuidas


Desventajas

Desventajas

  • Falta de experiencia

  • Complejidad

  • Coste

  • Control de distribución

  • Seguridad

  • Dificultades para cambiar

BD distribuidas


Aspectos a tener en cuenta

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 múltiples bases de datos

BD distribuidas


Transparencia de red

Transparencia de red

  • Capacidad del sistema para abstraer a los usuarios los detalles de donde y como están almacenados los datos en el sistema distribuido.

  • Aspectos a considerar:

    • Formas de distribuir los datos:

      • réplica y

      • fragmentación

    • Denominación de los datos

    • Localización de fragmentos y réplicas

BD distribuidas


Distribuci n de los datos

Distribución de los datos

  • Réplica

    • se mantienen tantas copias de los datos como sitios para facilitar la recuperación y la tolerancia a fallos.

  • Fragmentación

    • la relación se divide en varios fragmentos almacenando uno en cada sitio.

  • Réplica y fragmentación

    • la relación se parte en varios fragmentos manteniendo el sistema una copia en cada sitio.

BD distribuidas


R plica de datos

Réplica de datos

  • Consiste en mantener una copia exacta de de una relación o parte de ella en mas de un sitio.

  • La réplica completa se produce cuando se copia la relación en todos los sitios.

  • Una BD completamente redundante es aquella en la que cada sitio contiene una réplica completa de la BD.

BD distribuidas


Caracter sticas

Características

  • Ventajas de la réplica

    • Disponibilidad

      • frente a fallos de la red.

    • Paralelismo

      • las peticiones se pueden procesar en varios nodos en paralelo.

    • Transferencia de datos reducida

  • Inconvenientes

    • Se eleva el coste de la actualizaciones

    • Se complica el control de la concurrencia

BD distribuidas


Fragmentaci n

Fragmentació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

      • se asignan las tuplas a fragmentos

    • Vertical

      • el esquema de la relación se divide en varios

      • todos los esquemas resultantes contienen una clave candidato común (o superclave)

      • se añade un atributo especial que actúa como clave candidata.

  • Ambos tipos de fragmentación se pueden mezclar

BD distribuidas


Ejemplo

venus

neptuno

venus

jupiter

jupiter

jupiter

venus

marte

jupiter

pluton

sol

venus

mrm

plp

ana

lls

eli

elsb

ppp

crc

sofi

elsc

els

cmr

carlos

elisa

ana

elena

maria

luis

elena

pedro

elena

elena

pedro

sofia

09

01

02

03

04

05

07

08

12

11

10

06

Ejemplo

type cuenta =

record

nombre: char(22);

maquina: char(8);

login: char(8);

end

BD distribuidas


Fragmentaci n horizontal

pluton

jupiter

marte

venus

venus

jupiter

venus

neptuno

sol

jupiter

venus

jupiter

jupiter

sol

jupiter

jupiter

marte

neptuno

jupiter

pluton

venus

venus

venus

venus

eli

sofi

mrm

plp

els

lls

ppp

elsb

cmr

ana

crc

crc

elsc

ppp

lls

sofi

plp

ana

elsb

mrm

eli

els

cmr

elsc

elena

elisa

elena

pedro

elena

sofia

elena

carlos

elisa

luis

maria

pedro

maria

elena

ana

pedro

carlos

pedro

elena

sofia

elena

luis

ana

elena

06

08

10

11

09

02

03

04

07

12

01

06

02

04

03

01

05

12

08

09

11

10

07

05

Fragmentación horizontal

Sitio A

Sitio B

BD distribuidas


Fragmentaci n vertical

plp

venus

jupiter

neptuno

jupiter

venus

venus

jupiter

marte

venus

jupiter

pluton

sol

01

07

02

03

10

09

04

05

12

01

06

08

11

maria

ana

luis

pedro

elena

pedro

carlos

sofia

elena

elena

elena

elisa

09

07

06

08

05

04

03

10

11

02

01

12

01

lls

02

02

mrm

03

03

ana

04

04

ppp

05

05

cmr

06

06

crc

07

07

sofi

08

08

elsb

09

09

els

10

10

eli

11

11

elsc

12

12

Fragmentación vertical

Sitio A

Sitio B

BD distribuidas


Ventajas de la fragmentaci n

Ventajas de la fragmentación

  • Horizontal

    • permite el procesamiento paralelo de una relación

    • permite que una tabla global pueda estar donde se utiliza mas frecuentemente

  • 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

BD distribuidas


Criterios de denominaci n de datos

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.

BD distribuidas


Esquema centralizado

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 localización de los datos remotos

  • Ventajas

    • Cumple los tres primeros criterios de denominación de datos

  • Inconvenientes

    • no satisface el último criterio

    • el servidor puede saturarse

    • el servidor es un elemento crítico

BD distribuidas


Uso de alias

Uso de alias

  • Cada sitio añade 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 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

BD distribuidas


Nombres nicos

Nombres únicos

  • Cada réplica de cada fragmento de un dato tiene un nombre único

  • Se utilizan sufijos para indicar de que réplica y de que fragmento es cada dato

    • sitio17.datoXXX.frag005.replica56

  • El nombre real de un dato se obtiene del alias localizando

    • primero la réplica

    • luego el fragmento

BD distribuidas


Para encontrar un dato

Para encontrar un dato

  • El subsistema de procesamiento de peticiones busca el nombre en la tabla de alias local

  • Si es una réplica se consulta la tabla de réplicas

  • Si la réplica es fragmentada se examina la tabla de fragmentación para saber como reconstruir la relación

  • Aunque solo se suelen consultar una o dos tablas, el algoritmo maneja cualquier combinación de réplicas y fragmentos.

BD distribuidas


Transparencia y actualizaci n

Transparencia y actualización

  • Debe asegurar que todas las réplicas y todos los fragmentos de los datos afectados se actualizan.

  • 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

  • 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

BD distribuidas


Proceso de peticiones distribuido

Proceso de peticiones distribuido

  • 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

  • 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.

BD distribuidas


Ejemplo1

Ejemplo

  • Con fragmentación horizontal

    • r = r1 r2

    • r1 = atributo = valor1 (r)

    • r2 = atributo = valor2 (r)

  • La petición atributo = valor1 (r) consiste en

    • atributo = valor1 (r1 r2 )

  • La optimización consiste en hacer la selección antes que la unión de fragmentos

    • atributo = valor1 (r1)  atributo = valor1 (r2 )

  • Como r2 no tiene valor1, la selección es vacía y el resultado es la selección de r1

BD distribuidas


Proceso de mezcla simple

Proceso de mezcla simple

  • Considerando la expresión r1r2r3

  • 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 r1

  • Estrategia

    1. copiar r1 de S1 a S2 y hacer la mezclar1r2

    2. copiar el resultado temporal en S3 y hacer la mezclatemporalr3

    3. enviar el resultado a S1

BD distribuidas


Planes de evaluaci n alternativos

Planes de evaluación alternativos

  • Se pueden diseñar diferentes estrategias cambiando los roles de los tres sitios

  • 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

BD distribuidas


Proceso de mezcla parcial

Proceso de mezcla parcial

  • Sea r1 una relación con esquema R1 almacenada en S1

  • Sea r2 una relación con esquema R2 almacenada en S2

  • Se trata de evaluar la expresión r1r2 y almacenar el resultado en R1

    • calcular temp1 = R1  R2(r1) en S1

    • enviar temp1 a S2

    • calcular temp2 = r1temp1 en S2

    • enviar temp2 a S1

    • calcular r1temp2 en S1

BD distribuidas


Definici n formal

Definición formal

  • La mezcla parcial de r1 yr2 = r1< r2

  • Se define como R1(r1r2)

  • Selecciona los elementos de r1 que contribuyen a la mezcla r1r2

  • El procedimiento puede extenderse a cualquier número de relaciones realizando varios pasos de mezcla parcial.

BD distribuidas


Estrategias para explotar el paralelismo

Estrategias para explotar el paralelismo

  • Considerar r1r2r3r4

  • donde cada relación se guarda en un sitio diferente y

  • el resultado se debe dejar en S1

  • Estrategia paralela

    • Se manda r1 a S2 y se calcula r1r2

    • Se manda r3 a S4 y se calcula r3r4

    • Se envían los resultados a S1 según se van produciendo

    • Según van llegando los resultados a S1 se procesa la mezcla final (r1r2)(r3r4)

BD distribuidas


Modelo de transacciones distribuido

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 coordinación de la ejecución de transacciones globales.

  • 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

BD distribuidas


Control de transacciones

Control de transacciones

  • Es el subsistema encargado de controlar la atomicidad de la ejecución 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 selección de coordinador en caso de fallo

  • Hace falta un algoritmo de control de concurrencia a nivel global

    • protocolos de bloqueo

    • marcas de tiempo

BD distribuidas


Protocolo 2pc

Protocolo 2PC

  • Sirve para certificar que una transacción que se ha ejecutado de forma distribuida ha terminado bien.

  • El Coordinador de la transacción ejecuta el protocolo cuando se ejecuta el último paso de la transacción.

  • El protocolo tiene en cuenta todos los sitios que han intervenido en la transacción.

  • Si Si es el sitio que inició la transacción T, actúa como coordinador Ci y es el que inicia el protocolo.

BD distribuidas


Protocolo de acuerdo 2pc

registro

Si (Ci)

protocolo

registro

Si (Ci)

protocolo

<T prepare>

<T commit>

<T complete>

prepare T 

 ready T de S1

 ready T de S2

.

 ready T de Sn

commit T 

 ack T de S1

 ack T de S2

.

 ack T de Sn

<T prepare>

<T abort>

prepare T 

 ready T de S1

 no T de Sj

.

abort T 

Fase 1

Fase 2

Protocolo de acuerdo 2PC

BD distribuidas


Fallo en un participante

Fallo en un participante

  • La recuperación depende de la información 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


Fallo del coordinador

Fallo del coordinador

  • Los demás sitios deben decidir que hacer con T, en función 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


Protocolo de acuerdo 3pc

registro

Si (Ci)

protocolo

registro

Si (Ci)

protocolo

<T prepare>

<T precommit>

<T commit>

prepare T 

 ready T de Sk

k sitios

.

precommit T 

 ack T de Sk

k sitios

commit T 

<T prepare>

<T abort>

prepare T 

 ready T de S1

 no T de Sj

.

abort T 

Fase 1

Fase 2

Fase 3

Protocolo de acuerdo 3PC

BD distribuidas


Protocolo de fallo del coordinador

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 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

BD distribuidas


Sistemas con m ltiples bases de datos

Sistemas con múltiples bases de datos

  • Sobre los sistemas de gestión local es preciso añadir sistemas de gestión global del entorno distribuido.

  • De igual forma se añade una interfaz al más alto nivel para manipular información en sistemas heterogéneos.

  • 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.

BD distribuidas


Ventajas1

Ventajas

  • Se mantiene la inversión existente

    • hardware

    • software de sistema

    • aplicaciones

  • Autonomía y control administrativo local

  • Permite el uso de DBMS de propósito especial

  • Es una primera aproximación hacia un sistema de gestión de bases de datos unificado.

BD distribuidas


Unificaci n de la visi n de datos

Unificación de la visión de datos

  • Acuerdo en un modelo de datos común

  • Acuerdo en un esquema conceptual común

  • Acuerdo en una representación de datos compartidos única.

  • Acurerdo en las unidades de medida.

  • Preparación para aceptar transacciones globales

BD distribuidas


Gesti n de transacciones

Gestión de transacciones

  • Las transacciones locales no se comunican al resto del sistema.

  • 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.

BD distribuidas


Sistema de gesti n de fallos

Sistema de gestión de fallos

  • 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

  • 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


Reconfiguraci n del sistema

Reconfiguración 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 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.

  • 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.

BD distribuidas


Reconfiguraci n del sistema1

Reconfiguración del sistema

  • 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.

  • La reconfiguración se puede representar como una serie de transacciones

    • subsistema de control de concurrencia

    • subsistema de gestión de transacciones

BD distribuidas


  • Login