View
215
Download
0
Category
Preview:
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 nacimiento.PEPE@MADRID.PIEZAS@ALICANTESinnimos:CREATE SYNONYM ALI-PIEZAS FOR;PEPE@MADRID.PIEZAS@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.
Recommended