Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.-...

41
Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades adicionales de las BDD 5.- Fragmentación de los datos en BDD

Transcript of Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.-...

Page 1: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Bases de Datos Distribuidas

1.- Introducción

2.- Ventajas de las Bases de Datos Distribuidas

3.- Desventajas de las Bases de Datos Distribuidas

4.- Funcionalidades adicionales de las BDD

5.- Fragmentación de los datos en BDD

6.- Replicación y asignación de los datos

Page 2: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

7.- Tipos de sistemas de BDD

8.- Procesamiento de consultas en BDD

9.- Control de concurrencia y recuperación

10.- Recuperación distribuida

11.- Relación entre las BDD y la arquitectura cliente-servidor

12.- Oracle como BDD

Bases de Datos Distribuidas

Page 3: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Page 4: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Las BDD surgen de 2 tecnologías en auge: Bases de datos y redes de comunicaciones.

A finales de los `80 se empezó a tender hacia la Descentralización y autonomía de procesos.

Una BDD está construida sobre una red de comunicaciones, por lo que la información de la BD está repartido entre los diferentes sitios que forman la red.

Una BDD es un cjto. de BD interrelacionadas lógicamente, ydistribuidas a través de la red de computadoras.

Page 5: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

El SGBDD maneja todas las BDD haciendo que la distribución de los datos sea transparente para el usuario.

Tipos de arquitecturas multiprocesador:

Memoria compartida: múltiples procesadores que comparten la MP.

Disco compartido: múltiples procesadores que comparten almacenamiento secundario pero no la MP.

Page 6: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Las arquitecturas mencionadas anteriormente comparten datossin la necesidad de redes de comunicación.

Se les conoce como SGBD paralelas, en lugar de SGBDD.

Hay otro tipo de arquitectura: arquitectura con nadacompartido.

En esta arquitectura los procesadores no comparten MP, nialmacenamiento secundario y comparten la información pormedio de redes de alta velocidad.

En esta arquitectura tiene que haber simetría y homogeneidaden los nodos, por lo que no es una BDD.

Page 7: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Sistema de computación 1

CONMUTADOR

CPU

MEMORIA

BD

Sistema de computación 2

CPU

MEMORIA

BD

Sistema de computación n

CPU

MEMORIA

BD

Fig. 1. Arquitectura con nada compartido

Page 8: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Red de comunicaciones

Logroño

Barcelona

Zaragoza

San

Sebastián

Central(madrid)

BD2BD1

Fig. 2.Arquitectura con BD centralizada

Page 9: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Red de comunicaciones

LogroñoBD1

San Sebastián

BD2

Madrid

DB3Barcelona

DB4

Zaragoza

DB5

Fig. 3. Arquitectura verdadera de BDD

Page 10: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

Las BDD tienes que cumplir las 12 reglas siguientes:

a) Autonomía local.

b) No dependencia de un sitio central.

c) Operación continua.

d) Independencia con respecto a la localización.

e) Independencia con respecto a la fragmentación.

f) Independencia de réplica.

Page 11: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

IntroducciónIntroducción

g) Procesamiento distribuido de consultas.

h) Manejo distribuido de transacciones.

i) Independencia con respecto al equipo.

j) Independencia con respecto al SO.

k) Independencia con respecto a la red.

l) Independencia con respecto al SGBD.

Page 12: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Ventajas de las BDDVentajas de las BDD

Page 13: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Ventajas de las BDDVentajas de las BDD

a) Gestión de datos distribuidos con diferentes niveles de transparencia:

1.- Transparencia de red o de distribución.

2.- Transparencia de réplica.

3.- Transparencia de fragmentación.

b) Incremento de la fiabilidad y disponibilidad.

c) Mejora del rendimiento.

d) Expansión de la BD más sencilla.

Page 14: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Desventajas de las BDDDesventajas de las BDD

Page 15: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Desventajas de las BDDDesventajas de las BDD

Las desventajas frente a las BD monolíticas son:

a) Procesamiento de consultas.

b) Administración del catálogo.

c) Propagación de actualizaciones.

d) Recuperación.

e) Concurrencia

Page 16: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Funciones adicionales Funciones adicionales de las BDDde las BDD

Page 17: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Funciones adicionales de las BDDFunciones adicionales de las BDD

Un SGBDD además de las funciones de un SGBD tieneque realizar:

a) Mantenimiento de la pista de los datos.

b) Procesamiento de consultas distribuidas.

c) Gestión de transacciones distribuidas.

d) Gestión de datos replicados.

Page 18: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Funciones adicionales de las BDDFunciones adicionales de las BDD

e) Recuperación de las Bases de Datos Distribuidas.

f) Seguridad.

g) Gestión del catálogo distribuido.

Para la realización de las funcionalidades extra, hace falta un “buen” diseño ya que de él depende el rendimiento de nuestras transacciones y consultas.

Page 19: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Fragmentación de los Fragmentación de los datosdatos

Page 20: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Fragmentación de los datosFragmentación de los datos

Consiste en la división de la información de la BD en partes más pequeñas que se puedan repartir entre los nodos.

La decisión de dónde llevar las diferentes partes influiránotoriamente en el rendimiento global de nuestra BDD.

En un BD relacional por ej. se puede dividir por relaciones.

Existen diferentes formas de fragmentación:

a) Fragmentación horizontal: Subdivisión por tuplas de una relación. Con la fragmentación horizontal derivada se utilizan las claves extranjeras.

Page 21: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Fragmentación de los datosFragmentación de los datos

b) Fragmentación vertical: subdivisión de la relación por atributos de ésta. En esta fragmentación se conservan todas tuplas de la relación.

c) Fragmentación mixta: es una mezcla de los dos tipos anteriores. Se divide la relación en tuplas y se cogen sólo los atributos que nos interesen.

El esquema de fragmentación es la definición de un conjuntode fragmentos que incluye todos los atributos y tuplas de la BD

El esquema de asignación describe qué fragmentos van a quésitio de nuestra BDD.

Page 22: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Replicación y asignación Replicación y asignación de los datosde los datos

Page 23: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Replicación y asignación de los datosReplicación y asignación de los datosMétodo eficaz para mejorar la disponibilidad de la informaciónen nuestra BDD.

Replicación total: copia completa de la BD en cada sitio. Gran rendimiento en consultas, pero muy malo en actualización e inserción.

No replicación: no copias redundantes en ningún sitio de la BDD

Amplio abanico de posibilidades.

El esquema de replicación es la forma de cómo se van a replicarlos datos.

Distribución de los datos es el proceso de asignación de los fragmentos a cada nodo de nuestro sistema.

Page 24: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Tipos de sistemas de Tipos de sistemas de BDDBDD

Page 25: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Tipos de sistemas de BDDTipos de sistemas de BDD

Grado de homogeneidad: depende del hardware y software de cada nodo de nuestro sistema.

Autonomía local: si el sitio local puede trabajar como un sistema autónomo o no. Hay sistemas sin autonomía local (poseen un esquema conceptual) y hay sistemas federados.

Los sistemas federados son aquellos que pueden trabajar de forma autónoma. Tienen las siguientes características:

a) Diferencias en modelos de datos.

b) Diferencias en restricciones.

c) Diferencias en los lenguajes de consulta.

Page 26: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Tipos de sistemas de BDDTipos de sistemas de BDD

Puede darse heterogeneidad semántica cuando hay diferenciaentre en el significado, interpretación o uso de ciertos datos.

Para la autonomía de diseño se puede escoger libremente entre una serie de parámetros:

a) Universo de discurso desde el que se representan los datos.

b) Representación y nombres.

c) Entendimiento, significado e interpretación subjetiva de los datos.

Page 27: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Tipos de sistemas de BDDTipos de sistemas de BDD

d) Restricciones de política y transacción.

e) Derivación de transacciones.

La autonomía de comunicación se refiere a la habilidad de un sistema componente de decidir si quiere comunicarse con otro sistema componente o no.

La autonomía de ejecución consiste en poder ejecutaroperaciones sin la intromisión de operaciones de sistemasexternos, y también es la capacidad de decidir el orden de ejecución de las operaciones.

La autonomía de asociación es la capacidad de un nodo de decidir si quiere compartir su funcionalidad y recursos con otros sistemas.

Page 28: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Procesamiento de Procesamiento de consultas en BDDconsultas en BDD

Page 29: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Procesamiento de consultas en BDDProcesamiento de consultas en BDD

1.- Costos de la transferencia de datos en consultas distribuidas

Además de los métodos clásicos de optimización hayque tener en cuenta otros factores como la velocidad de la red, por lo que se disminuye el número de transferencias por esta.

La semireunión es una operación que da buen resultadopara consultas distribuidas.

2.- Consultas por semireunión

Consiste en reducir al máximo el número de tuplas de unarelación, antes de transferirla por la red.

Page 30: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Procesamiento de consultas en BDDProcesamiento de consultas en BDD

La idea es enviar solo el atributo de reunión, y recogerlo más tarde junto con los atributos que queramos de la otrarelación.

3.- Descomposición de actualizaciones y consultas.

Debe existir un módulo de descomposición de consultaspara poder enviar cada trozo de la consulta al sitio quele corresponda. Una vez recibida la información lafusiona formando el resultado total.

Page 31: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Control de concurrencia Control de concurrencia y recuperación de BDDy recuperación de BDD

Page 32: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Control de concurrencia y recuperación de BDDControl de concurrencia y recuperación de BDD

Surgen problemas añadidos:

a) Manejar múltiples copias de los elementos de datos.

b) Fallo de sitios individuales.

c) Fallo en enlaces de comunicación.

d) Confirmación distribuida.

e) Bloqueo mortal distribuido.

Page 33: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Control de concurrencia y recuperación de BDDControl de concurrencia y recuperación de BDD

Concurrencia basada en una copia distinguida.

Los bloqueos y desbloqueos se envían al sitio que contiene la copia.

Métodos que utilizan la copia distinguida:

a) Técnica de sitio primario.

b) Sitio primario con sitio de respaldo.

c) Técnica de copia primaria.

Si se produce una caída del sitio coordinador, elsistema tiene que ser capaz de escoger a otropara que realice la función.

Page 34: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Control de concurrencia y recuperación de BDDControl de concurrencia y recuperación de BDD

Control de concurrencia por votación.

No existe copia distinguida.

Cada solicitud se envía a todos los sitios de la BDD que incluyan una copia del elemento a bloquear.

Si la mayoría de los sitios otorgan el bloqueo a latransacción está informará de su estado al resto desitios.

Si no se otorga el bloqueo, se cancelará la solicitudde la transacción e informará de su estado al restode sitios.

Page 35: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Recuperación distribuidaRecuperación distribuida

Page 36: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Recuperación distribuidaRecuperación distribuida

Multitud de problemas, como por ej. saber si un sitio estácaído, ya que:

a) puede estar caído.

b) puede haber fallado la comunicación de subida

c) puede haber fallado la comunicación de bajada

Los problemas que surgen pueden generar mucho tráfico en la red.

La confirmación distribuida es otro problema:

Cuando una transacción está actualizando datos en varios sitios, no puede confirmarse hasta asegurarse de que el efecto de la transacción no se puede perder en ningún sitio.

Page 37: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Relación entre las BDD y la Relación entre las BDD y la arquitectura cliente-servidorarquitectura cliente-servidor

Page 38: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Relación entre las BDD y la arquitectura cliente-servidorRelación entre las BDD y la arquitectura cliente-servidor

El software se divide en 3 módulos:

a) El servidor: Gestiona los datos locales.

b) El cliente: Realiza las peticiones a más de un sitio y maneja los interfaces de usuario.

c) El software de comunicación: proporciona las primitivas de comunicación.

Page 39: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Oracle como BDDOracle como BDD

Page 40: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Oracle como BDDOracle como BDD

Se divide en cliente (front-end) y servidor (back-end).

El cliente ejecuta las peticiones y el servidor ejecuta las sentencias SQL y devuelve los resultados. La arquitectura cli-serv proporciona transparencia de localización.

Utiliza el mecanismo de confirmación en dos fases para el controlde las transacciones.

El proceso background RECO resuelve el resultado de las transacciones distribuidas que se interrumpen con un commit.

Para fallos de larga duración Oracle permite al ABD confirmar o deshacer manualmente cualquier transacción en duda.

Page 41: Bases de Datos Distribuidas 1.- Introducción 2.- Ventajas de las Bases de Datos Distribuidas 3.- Desventajas de las Bases de Datos Distribuidas 4.- Funcionalidades.

Oracle como BDDOracle como BDD

Cada nodo puede ser tanto un cliente, como un servidor,como ambas cosas a la vez.

Oracle utiliza el software de red Net8.

Las direcciones de red dentro de un sistema distribuidoson jerárquicas.

Ofrece dos métodos de replicación:a) Básica: Réplicas de sólo lectura.

b) Avanzada: Réplicas R/W.

Por medio de Oracle Open Gateways se permite el acceso a BD que no sean Oracle, formándose así redes heterogéneas.