bases de datos distribuidas 1. 2 arquitecturas de bases de datos centralizadas ◦ bd en una sola...

33
Bases de Datos Bases de Datos Distribuidas Distribuidas 1

Upload: macario-fortun

Post on 11-Apr-2015

114 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Bases de Datos Bases de Datos DistribuidasDistribuidas

1

Page 2: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

2

Arquitecturas de bases de Arquitecturas de bases de datosdatos

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

Page 3: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Base de Datos DistribuidaBase de Datos Distribuida

3

BD local

BDDSistema de sitios

DB por sí misma

Convienen en trabajar juntos

Usuarios locales

SGBD local

Programascontrol

transacciones

Administr.Comunicac.Sitio

BDD

Page 4: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

4

Base de datos distribuidaBase de datos distribuida

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

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.

Page 5: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Sistema Gestor de Base de Sistema Gestor de Base de Datos DistribuidaDatos Distribuida

= Todos ejecutan una copia del mismo SGBD

5

SGBDD (DDBMS) = SGBD (DBMS) + componente social

Sistema HOMOGÉNEOHOMOGÉNEO

Page 6: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Características de las BDDCaracterísticas de las BDD

6

Ventajas BDD

Eficacia

Accesibilidad

Próximo a la estructura de empresa

Desventajas BDD

Sistema

Usuarioscomplejidad

Page 7: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Productos desarrolladosProductos desarrollados

Prototipos:◦ SDD-1 de Computer Corporation of America (finales ‘70s).◦ R*, versión distribuida de System R de IBM (ppio ‘80s).◦ INGRES distribuido, versión distribuida del prototipo

desarrollado por la Universidad de Berkeley, California (ppio 80’s).

Productos comerciales:◦ INGRES/STAR de The ASK GROUP INC’S INGRES DIVISION.◦ ORACLE 7: de Oracle.◦ DB2 de IBM.◦ INFORMIX, SQL SERVER, MySQL...

7

Page 8: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Sistema relacionalSistema relacionalLa tecnología relacional es un

requisito para la tecnología distribuida:◦Relacional = Tablas = Estructura

Simple.◦Red, ◦Jerárquicos ◦Listas invertidas

(índice sec + prim)

◦Etc ... 8

Estructuras Complejas

Page 9: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (I)(I)::

Las Doce Reglas definen una serie de condiciones que debe cumplir todo Sistema de Bases de Datos Distribuido:

Regla 0: Principio fundamental. Desde el punto de vista del usuario, un

sistema distribuido debe ser idéntico a un sistema no distribuido.

9

Page 10: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (II)(II)::

Regla 1: Autonomía local. Cada lugar debe contener:

◦ Propietario local.◦ Administración local.◦ Responsabilidad local.◦ Integración local.◦ Representación local.

(Hasta donde sea posible llevarlo a cabo).

10

Page 11: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (III)(III)::

Regla 2: No dependencia de un sitio central. No debe existir un único sitio, ya que implicaría:

◦ Cuello de botella.◦ Vulnerabilidad.

Regla 3: Operación continua.◦ Adición de elementos.◦ Actualización de versiones.

11

NO APAGAR

Page 12: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (IV)(IV)::

Regla 4: Transparencia de localización. El usuario desconoce dónde están físicamente los datos.

Regla 5: Transparencia de fragmentación.◦ División de una relación en partes para

su almacenamiento.◦ Funcionalidad: cada lugar tiene los datos

que usa con mayor frecuencia.◦ Ejemplo:

12

Page 13: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (V)(V)::

13

Percepción del usuario:

ALUMNO CARRERA NOTAS21.466.552 I.T. Informática x x x x x x21.467.539 I.T. Obras Públicas x x x x x x21.467.640 L. Derecho x x x x x x21.468.201 L. Filología Inglesa x x x x x x********* ******************* * * * * * ********** ******************* * * * * * *

Fragmento Escuela Politécnica:

ALUMNO CARRERA NOTAS21.466.552 I.T. Informática x x x x x x21.467.539 I.T. Obras Públicas x x x x x x

Fragmento Facultad de Derecho:

ALUMNO CARRERA NOTAS21.467.640 L. Derecho x x x x x x

Fragmento Facultad de Filosofía y Letras

ALUMNO CARRERA NOTAS21.468.201 L. Filología Inglesa x x x x x x

Page 14: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (VI)(VI)::

14

Sitio A

Sitio B

Sitio C

Sitio A

Sitio B

Sitio C

Fragmentación Horizontal:Oper. Relac. de RESTRICCIÓN

Fragmentación Vertical:Oper. Relac. de PROYECCIÓN

Extracción de tuplas que cumplen condición

Extracción de atributos de una relación (conservando su clave primaria)

Page 15: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce Reglas Las Doce Reglas (VII)(VII)::

La recomposición se hace con operaciones relacionales:

◦Reunión (Join): Vertical.

◦Unión: Horizontal.Las operaciones relacionales apoyan la

fragmentación (y como consecuencia la distribución).

El usuario no debe notar la fragmentación.

15

Page 16: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce reglas Las Doce reglas (VIII)(VIII)::Regla 6: Transparencia de réplica.La réplica proporciona:

◦ VENTAJAS: Mayor Prestación: los datos son locales. Mayor disponibilidad: los datos son accesibles

siempre.

◦ DESVENTAJAS Hay que propagar las actualizaciones.

La creación y destrucción de réplicas debe hacerse transparente al usuario.

16

Page 17: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce reglas Las Doce reglas (IX)(IX)::

Regla 7: Proceso Distribuido de Consultas. Sistema relacional Herramientas de consulta OK Ejemplo: “Obtener los alumnos matriculados en

derecho” Consulta desde la BUAP Datos en derecho. N filas cumplen

17

RELACIONAL 2 mensajes = 1 petición + 1 resultado

NO RELACIONAL

2*N mensajes = N peticiones + N resultados

Page 18: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce reglas Las Doce reglas (X)(X)::

Proceso de optimización:

18

Rx Ry

Rx U Ry <decisión>

Lugar X Lugar Y

Rx viaja a Y

Ry viaja a X

Rx, Ry viajan a Z

Page 19: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce reglas Las Doce reglas (XI)(XI)::

Regla 8: Manejo distribuido de transacciones.Transacción distribuida: varios agentes de la

transacción en varios lugares.Control de recuperación: Transacción atómica.

Todos los agentes avanzan o retroceden juntos.Control de concurrencia: Bloqueos mediante

paso de mensajes.

Regla 9: Transparencia de equipo.El DBMS se ejecutará igual sea cual sea el

equipo.

19

Page 20: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Las Doce reglas Las Doce reglas (XII)(XII)::

Regla 10: Transparencia del Sistema Operativo.El DBMS debe ser multioperativo sin afectar al

usuario.

Regla 11: Transparencia de red.El DBMS debe soportar múltiples redes sin afectar

al usuario.

Regla 12: Transparencia de DBMS.Se pueden manejar distintas copias de DBMS si

manejan la misma norma estándar de SQL: Oracle, SQL Server, MYSQL, Informix, Multibase, etc.

20

Page 21: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Problemas de las BDDProblemas de las BDD

Lentitud de las WAN (Wide Area Network )respecto a un disco local.

Formas de solucionarlo:◦ Minimizar el uso de la red:

Número de mensajes. Volumen de mensajes.

◦ Optimizar: Proceso de consultas. Administración del catálogo. Propagación de actualizaciones. Control de recuperación. Control de concurrencia.

21

Page 22: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Optimización consultasOptimización consultasFase 1 - Optimización global:

Toma de decisiones de desplazamiento de tablas por consultas previas.◦ Ejemplo: Un sitio X hace la consulta Q = Ry U Rz.

Paso1: Por consulta previa se sabe que:Ry = 100 tuplas en YRz = 100000 tuplas en Z

Paso 2: Toma de decisiones:mover Ry a Z 100 mensajes OKmover Rz a Y 1.000.000 mensajes NOKmover Ry-Rz a X 1.100.000 mensajes NOK

Fase 2 - Optimización local: Se optimiza la operación de la unión tomando las relaciones más convenientes para minimizar su tiempo.

22

Page 23: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Optimización consultas Optimización consultas (II)(II)Problema:

23

Proveedores(10.000)

Piezas(100.000)(10 rojas)

Suministros(1.000.000)

(100.000 por proveedores de Londres)

LUGAR A

LUGAR B

Datos conocidos:

1 tupla = 200 bits.

Veloc. Transm. = 50000 bits/seg.

Tiempo Acceso = 0.1 seg.

Se pide: “Proveedores de Londres que suministran piezas rojas”

Page 24: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Optimización consultas Optimización consultas (III)(III)Estrategias: 1º) Piezas en B A :

T(1) = 0,1+(100.000*200) / 50.000 = 400 s. = 6,67 minutos.

2º) Proveedores y suministros en A B : T(2) = (0,1+0,1) + ( (10.000+1.000.000)*200/50.000 = 4040 s. = 1,12

horas

3º) Consultar suministros de Londres en A y comprobar pieza en B:

T(3) = 0,1 * ( 2 * 100.000 ) = 20.000 s. = 5,56 horas

4º) Consultar piezas rojas en B y comprobar suministros en A:T(4) = 0,1 * (2*10) = 2 s.

5º) Obtener suministros Londres en A B : T(5) = 0,1 + (100.000*200)/50.000 = 400 s. = 6,67 min.

6º) Obtener piezas rojas en B A :T(6) = 0,1 + (10*200) / 50.000 = 0,1 s.

24

Page 25: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Administración del Administración del catálogocatálogo

Información del catálogo:◦ Información habitual:

Relaciones Índices Usuarios

◦ Información de control: transparencia de localización transparencia de fragmentación transparencia de réplica

Almacenamiento del catálogo:◦ Centralizado. Viola regla 2: “no dependencia de un sitio

central”.◦ Réplicas en cada lugar: Viola regla : “autonomía”.◦ Catálogo dividido entre todos lugares: Ops. remotas

costosas.◦ Catálogo dividido y una copia global en un sitio: Viola

2.Conclusión: todos los métodos anteriores tienen problemas.

25

Page 26: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Administración del Administración del catálogo catálogo (II)(II)Ejemplo real: Nominación de objetos en R*:◦ Nombre de impresión: Lo usan los usuarios.◦ Nombre de sistema: Identificador único interno.

Id. del creador. Id. del sitio del creador. Nombre local del objeto. Id. del lugar de [email protected]@ALICANTE

◦ Sinónimos:CREATE SYNONYM ALI-PIEZAS FOR;[email protected]@ALICANTE

◦ Cada sitio mantiene: Copia total de la tabla de sinónimos. Localización actual de un objeto nacido aquí. Relación de objetos actualmente aquí.

26

Page 27: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Administración del Administración del catálogo catálogo (III)(III)

Proceso de consultas en R*:◦ Consulta local del objeto en la tabla de sinónimos.◦ Consulta remota a lugar nacimiento para conocer lugar

actual del objeto.◦ Consulta remota a lugar actual para obtener el objeto.

(TOTAL = 3 mensajes, 2 de ellos remotos)Proceso de migración en R*:

◦ Borrar objeto del lugar de origen.◦ Insertar objeto en lugar de destino.◦ Actualizar en lugar de nacimiento.

27

Page 28: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Propagación de Propagación de actualizacionesactualizaciones

Método: Propagar toda actualización a todas las copias.

Problema: Lugares inaccesibles fracasoMétodo de la “copia primaria”:

◦ 1 copia primaria y n copias secundarias.◦ Las copias primarias se reparten (no centralización).◦ El proceso de actualización finaliza al actualizar la

primaria.◦ La copia primaria se encarga de actualizar las demás

(cuando puede).

28

Page 29: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Control de recuperaciónControl de recuperación Protocolo de compromiso en dos fases: commit-

rollback Evitar medias operaciones: todo o nada. El coordinador ordena:

◦ Fase 1: Pedir OK o NOK a cada gestor local. Cada gestor guarda una bitácora de las op’s efectuadas.

◦ Fase 2: Si todos OK COMMIT. Si algún NOK ROLLBACK. El resultado se envía a cada gestor local para que

confirmen o deshagan. Un fallo de interrupción se recupera de la bitácora. Consideraciones:

◦ No dependencia de un sitio central (si varía el coordinador).

◦ Comunicación coordinada participación costo extra.◦ Pérdida de autonomía local.

29

Page 30: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Control de concurrenciaControl de concurrenciaMediante bloqueos.Costo adicional: Una transacción sobre un

objeto con N copias:◦ N solicitudes de bloqueo.◦ N concesiones de bloqueo.◦ N mensajes de actualización.◦ N verificaciones.◦ N solicitudes de liberación.◦ TOTAL = 5*N mensajes.

Estrategias anti-interbloqueos: ◦ estados parciales - estados globales.

30

Page 31: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

GATEWAYS (pasarelas)GATEWAYS (pasarelas)Funciones:

◦ Realizar protocolos de intercambio de mensajes en cuanto a formato.

◦ Ejecución de llamadas remotas.◦ Resolver problemas de tipos de datos.◦ Compaginar SQLs.◦ Compaginar información de retorno.◦ Compaginar catálogos.◦ Hacer participar a todos del protocolo de compromiso

en 2 fases.◦ Asegurar los interbloqueos.

Problema: costoso y no 100% funcional.

31

Page 32: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Cliente/servidor en DB Cliente/servidor en DB distribuidasdistribuidas

Nuevos estándares para cliente/servidor.P.ej. SQL incorpora:

◦ connect.

◦ disconnect.

Otros estándares:◦ RDA (Remote Data Access) para SQL define formatos

para paso de mensajes en forma de requerimientos SQL, información y paso de resultados. Mismo SQL en cliente y servidor.

◦ DRDA (Distributed Relational Database Architecture) permite diversos dialectos de SQL en cliente y servidor.

32

Page 33: Bases de Datos Distribuidas 1. 2 Arquitecturas de bases de datos Centralizadas ◦ BD en una sola máquina y una sola CPU ◦ todos los usuarios acceden a

Cliente/servidor en DB Cliente/servidor en DB distribuidas(II)distribuidas(II)

Procedimientos almacenados:

◦ Ventajas: Reducen el número de mensajes. Mayor independencia. Comparte con varios clientes. Optimiza en tiempo de compilación. Mayor seguridad en el acceso a los datos.

◦ Desventajas: Falta de estándares.

33