31
1 Bases de Datos Distribuidas Tema VI

sid2001-t6

Embed Size (px)

DESCRIPTION

hola

Citation preview

  • Bases de Datos DistribuidasTema VI

  • IntroduccinBD localUsuarios localesSGBD localProgramascontroltransaccionesAdministr.Comunicac.Sitio BDD

  • Introduccin (II)= Todos ejecutan una copia del mismo SGBD

    SGBDD (DDBMS) = SGBD (DBMS) + componente socialSistema HOMOGNEOGATEWAYrelajacin

  • Caractersticas de las BDDVentajas BDDEficaciaAccesibilidadPrximo a la estructura de empresaDesventajas BDDSistemaUsuarioscomplejidad

  • Productos desarrolladosPrototipos:SDD-1 de Computer Corporation of America (finales 70s).R*, versin distribuida de System R de IBM (ppio 80s).INGRES distribuido, versin distribuida del prototipo desarrollado por la Universidad de Berkeley, California (ppio 80s).

    Productos comerciales:INGRES/STAR de The ASK GROUP INCS INGRES DIVISION.ORACLE 7: de Oracle.DB2 de IBM.INFORMIX, SQL SERVER, ...

  • Sistema relacionalLa tecnologa relacional es un requisito para la tecnologa distribuida:Relacional = Tablas = Estr. Simple.Red, Jerrquicos Listas invertidasEtc ...

    Estr. Complejas

  • Las Doce Reglas (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 idntico a un sistema no distribuido.

  • Las Doce Reglas (II):Regla 1: Autonoma local. Cada lugar debe contener:Propietario local.Administracin local.Responsabilidad local.Integracin local.Representacin local.(Hasta donde sea posible llevarlo a cabo).

  • Las Doce Reglas (III):Regla 2: No dependencia de un sitio central. No debe existir un nico sitio, ya que implicara:Cuello de botella.Vulnerabilidad.

    Regla 3: Operacin continua.Adicin de elementos.Actualizacin de versiones.NOAPAGAR

  • Las Doce Reglas (IV):Regla 4: Transparencia de localizacin. El usuario desconoce dnde estn fsicamente los datos.

    Regla 5: Transparencia de fragmentacin.Divisin de una relacin en partes para su almacenamiento.Funcionalidad: cada lugar tiene los datos que usa con mayor frecuencia.Ejemplo:

  • Las Doce Reglas (V):

    Percepcin del usuario:

    ALUMNO

    CARRERA

    NOTAS

    21.466.552

    I.T. Informtica

    x x x x x x

    21.467.539

    I.T. Obras Pblicas

    x x x x x x

    21.467.640

    L. Derecho

    x x x x x x

    21.468.201

    L. Filologa Inglesa

    x x x x x x

    *********

    *******************

    * * * * * *

    *********

    *******************

    * * * * * *

    Fragmento Escuela Politcnica:

    ALUMNO

    CARRERA

    NOTAS

    21.466.552

    I.T. Informtica

    x x x x x x

    21.467.539

    I.T. Obras Pblicas

    x x x x x x

    Fragmento Facultad de Derecho:

    ALUMNO

    CARRERA

    NOTAS

    21.467.640

    L. Derecho

    x x x x x x

    Fragmento Facultad de Filosofa y Letras

    ALUMNO

    CARRERA

    NOTAS

    21.468.201

    L. Filologa Inglesa

    x x x x x x

  • Las Doce Reglas (VI):Fragmentacin Horizontal:Oper. Relac. de RESTRICCINFragmentacin Vertical:Oper. Relac. de PROYECCINExtraccin de tuplas que cumplen condicinExtraccin de atributos de una relacin (conservando su clave primaria)

  • Las Doce Reglas (VII):La recomposicin se hace con operaciones relacionales:Reunin: Vertical.Unin: Horizontal.Las operaciones relacionales apoyan la fragmentacin (y como consecuencia la distribucin).El usuario no debe notar la fragmentacin.

  • Las Doce reglas (VIII):Regla 6: Transparencia de rplica.La rplica proporciona:VENTAJAS: Mayor Prestacin: los datos son locales.Mayor disponibilidad: los datos son accesibles siempre.DESVENTAJASHay que propagar las actualizaciones.La creacin y destruccin de rplicas debe hacerse transparente al usuario.

  • Las Doce reglas (IX):Regla 7: Proceso Distribuido de Consultas.Sistema relacional Herramientas de consulta OKEjemplo: Obtener los alumnos matriculados en derechoConsulta desde la EPSA.Datos en derecho.N filas cumplenRELACIONAL 2 mensajes = 1 peticin + 1 resultadoNO RELACIONAL 2*N mensajes = N peticiones + N resultados

  • Las Doce reglas (X):Proceso de optimizacin:RxRyRx U Ry Lugar X

    Lugar Y

    Rx viaja a YRy viaja a XRx, Ry viajan a Z

  • Las Doce reglas (XI):Regla 8: Manejo distribuido de transacciones.Transaccin distribuida: varios agentes de la transaccin en varios lugares.Control de recuperacin: 1 transaccin atmica. 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.

  • Las Doce reglas (XII):Regla 10: Transparencia del s.o.El DBMS debe ser multioperativo sin afectar al usuario.

    Regla 11: Transparencia de red.El DBMS debe soportar mltiples redes sin afectar al usuario.

    Regla 12: Transparencia de DBMS.Se pueden manejar distintas copias de DBMS si manejan la misma norma estndar de SQL: Oracle, Informix, Multibase, etc.

  • Problemas de las BDDLentitud de las WAN respecto a un disco local.Formas de solucionarlo:Minimizar el uso de la red:Nmero de mensajes.Volumen de mensajes.Optimizar:Proceso de consultas.Administracin del catlogo.Propagacin de actualizaciones.Control de recuperacin.Control de concurrencia.

  • Optimizacin consultasFase 1 - Optimizacin 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 ZPaso 2: Toma de decisiones:mover Ry a Z 100 mensajes OKmover Rz a Y 1.000.000 mensajesNOKmover Ry-Rz a X 1.100.000 mensajesNOKFase 2 - Optimizacin local: Se optimiza la operacin de la unin tomando las relaciones ms convenientes para minimizar su tiempo.

  • Optimizacin consultas (II)Problema:Proveedores(10.000)Piezas(100.000)(10 rojas)

    Suministros(1.000.000)(100.000 por proveedores de Londres)LUGAR ALUGAR BDatos conocidos:1 tupla = 200 bits.Vel. Transm. = 50000 bits/seg.Tpo. Acceso = 0.1 seg.Se pide: Proveedores de Londres que suministran piezas rojas

  • Optimizacin consultas (III)Estrategias:1) Piezas A : T(1) = 01+(100.000*200) / 50.000 = 400 s. = 667 minutos.2) Proveedores y suministros B : T(2) = (0'1+0'1) + ( (10.000+1.000.000)*200/50.000 = 4040 s. = 1'12 horas3) Consultar suministros de Londres en A y comprobar pieza en B: T(3) = 0'1 * ( 2 * 100.000 ) = 20.000 s. = 5'56 horas4) Consultar piezas rojas en B y comprobar suministros en A:T(4) = 01 * (2*10) = 2 s.5) Obtener suministros Londres en A B : T(5) = 01 + (100.000*200)/50.000 = 400 s. = 667 min.6) Obtener piezas rojas en B A :T(6) = 01 + (10*200) / 50.000 = 01 s.

  • Administracin del catlogoInformacin del catlogo:Informacin habitual:RelacionesndicesUsuariosInformacin de control:transparencia de localizacintransparencia de fragmentacintransparencia de rplicaAlmacenamiento del catlogo:Centralizado. Viola regla 2: no dependencia de un sitio central.Rplicas en cada lugar: Viola regla : autonoma.Catlogo dividido entre todos lugares: Ops. remotas costosas.Catlogo dividido y una copia global en un sitio: Viola 2.Conclusin: todos los mtodos anteriores tienen problemas.

  • Administracin del catlogo (II)Ejemplo real: Nominacin de objetos en R*:Nombre de impresin: 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]@ALICANTESinnimos:CREATE SYNONYM ALI-PIEZAS FOR;[email protected]@ALICANTECada sitio mantiene:Copia total de la tabla de sinnimos.Localizacin actual de un objeto nacido aqu.Relacin de objetos actualmete aqu.

  • Administracin del catlogo (III)Proceso de consultas en R*:Consulta local del objeto en la tabla de sinnimos.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 migracin en R*:Borrar objeto del lugar de origen.Insertar objeto en lugar de destino.Actualizar en lugar de nacimiento.

  • Propagacin de actualizacionesMtodo: Propagar toda actualizacin a todas las copias.Problema: Lugares inaccesibles fracasoMtodo de la copia primaria: 1 copia primaria y n copias secundarias.Las copias primarias se reparten (no centralizacin).El proceso de actualizacin finaliza al actualizar la primaria.La copia primaria se encarga de actualizar las dems (cuando puede).

  • Control de recuperacinProtocolo de compromiso en dos fases: commit-rollbackEvitar medias operaciones: todo o nada.El coordinador ordena:Fase 1:Pedir OK o NOK a cada gestor local.Cada gestor guarda una bitcora de las ops efectuadas. Fase 2:Si todos OK COMMIT.Si algn NOK ROLLBACK.El resultado se enva a cada gestor local para que confirmen o deshagan.Un fallo de interrupcin se recupera de la bitcora.Consideraciones:No dependencia de un sitio central (si vara el coordinador).Comunicacin coordinada participacin costo extra.Prdida de autonoma local.

  • Control de concurrenciaMediante bloqueos.Costo adicional: Una transaccin sobre un objeto con N copias:N solicitudes de bloqueo.N concesiones de bloqueo.N mensajes de actualizacin.N verificaciones.N solicitudes de liberacin.TOTAL = 5*N mensajes.Estrategias anti-interbloqueos: estados parciales - estados globales.

  • GATEWAYS (pasarelas)Funciones:Realizar protocolos de intercambio de mensajes en cuanto a formato.Ejecucin de llamadas remotas.Resolver problemas de tipos de datos.Compaginar SQLs.Compaginar informacin de retorno.Compaginar catlogos.Hacer participar a todos del protocolo de compromiso en 2 fases.Asegurar los interbloqueos.Problema: costoso y no 100% funcional.

  • Cliente/servidor en DB distribuidasNuevos estndares para cliente/servidor.P.ej. SQL incorpora:connect.disconnect.Otros estndares:RDA (Remote Data Access) para SQL define formatos para paso de mensajes en forma de requerimientos SQL, informacin y paso de resultados. Mismo SQL en cliente y servidor.DRDA (Distributed Relational Database Architecture) permite diversos dialectos de SQL en cliente y servidor.

  • Cliente/servidor en DB distribuidas(II)Procedimientos almacenados:Ventajas:Reducen el nmero de mensajes.Mayor independencia.Comparte con varios clientes.Optimiza en tiempo de compilacin.Mayor seguridad en el acceso a los datos.Desventajas:Falta de estndares.