View
226
Download
1
Category
Preview:
Citation preview
Base de Datos Distribuidas
Lic. Hugo D. Ramn
Conceptos de Bases de Datos Distribuidas
19/09/06 Conceptos de BDD
AgendaConceptos
DefinicionesPromesas BDDProblematica
Justificacion de BDDRequerimientos de DateArquitectura de un DBMS distribuido (DDBMS)
19/09/06 Conceptos de BDD
ConceptosDefiniciones
DefinicinLa tecnologa de base de datos tiene como objetivo la integracin no la centralizacin
DefinicinDistributed Database System (BDD) es una coleccin de mltiples bases de datos
lgicamente relacionadas sobre una red (WAN o LAN).
DefinicinDDBMS es el software que permite la administracin BDD y hace la distribucin
transparente al usuario.
19/09/06 Conceptos de BDD
Conceptos Definiciones
CPU
Computadora
Memoria
CPU
Computadora
Memoria
CPU
Computadora
Memoria
CPU
Computadora
Memoria
BUS O SWITCH
19/09/06 Conceptos de BDD
ConceptosDefiniciones
WAN
La Plata
LP Proyecto, LP Usuarios, LP Presupuestos
Capital
CA Proyecto, CA Usuarios, CA Presupuestos
Junn
JU Proyecto, JU.Usuarios, JU Presupuestos
Madrid
MA Proyecto, MA Usuarios, MA Presupuestos
19/09/06 Conceptos de BDD
ConceptosPromesas
Administracin TransparenteIndependencia de Datos
Importante tambin centralizada Inmunidad a los cambios en la definicin y organizacin de los
datos Dos niveles:
Lgico: nivel de esquema Fsico: nivel de estructura
19/09/06 Conceptos de BDD
ConceptosPromesas
Transparencia de RedQu necesitamos disponible ?Esconder detallesDistribucin
Locacin Naming
Transparencia de ReplicacinPerformanceSeguridadDisponibilidadActualizacin
19/09/06 Conceptos de BDD
ConceptosPromesas
Transparencia de FragmentacinVeremos como dividir mas adelanteSon relacionesJustificacion
Performance Disponibilidad Confiabilidad
Aspectos negativos de la replicacinQuerys
19/09/06 Conceptos de BDD
ConceptosPromesas
Confiabilidad en las transaccionesProblemas con fallasTwo-phase commit (2PC)Protocolos de recuperacin distribuida
19/09/06 Conceptos de BDD
ConceptosPromesas
Mejora en la performanceLocalizacin de los datos
Maneja solo parte de la base Minimiza delay
Paralelismo de los sistemas distribuidos
19/09/06 Conceptos de BDD
ConceptosPromesas
Expansin del sistemaMejora cuando incrementa el tamaoAgregar
Procesadores Storage
19/09/06 Conceptos de BDD
ConceptosProblemtica
Distributed Database DesignComo distribuidos en los sitio
Datos Aplicaciones
Dos tecnicas para datos Particionadas Replicada
Soluciones basadas en heuristica
19/09/06 Conceptos de BDD
ConceptosProblemtica
Distributed Query ProcessingDiseo de algortimos que analizan queriesGeneran series de expresionesDefinen una estrategia de bajo costoOptimizar usando paralelismoSoluciones basadas en heuristica
19/09/06 Conceptos de BDD
ConceptosProblemtica
Distributed Directory ManagmentUbicacin de los items de datos de base
El directorio puede ser global al DDBMS Local en cada sitio Centralizado Distribuido en varios sitios
19/09/06 Conceptos de BDD
ConceptosProblemtica
Distributed Concurrency ControlSincronizacin de acceso a la BDD (para qu)
Consistencia de multiples copiasDos formas
Pesimista Optimista
Se utiliza Locking Timestamping
19/09/06 Conceptos de BDD
ConceptosProblemtica
Distributed Deadlock ManagmentSimilar al de SOCompetencia de acceso a recursosPasa si usamos locking
19/09/06 Conceptos de BDD
ConceptosProblemtica
Reliability of DDBMSDebemos mejorar la confiabilidad y disponibilidadAsegurar la consistenciaDetectar fallasRecuperacinSi fallan los sitios puede quedar inaccesibleParticin de la red
19/09/06 Conceptos de BDD
ConceptosProblemtica
Heterogeneous DatabaseDistintas formas
de estructurar logicamente los datos de acceso a los datos
Proveer mecanismos de interpretacion (gateway)Multidatabase systems
19/09/06 Conceptos de BDD
ConceptosFactores para crearlas
Estructura de las empresas Divisiones Departamentos Fbricas
Datos con esa estructura (Islas de Informacin)Conexin de IslasAdquiciones CoorporativasFusionar empresas (poder en la informacin)Rol fundamental para la distribucin de datosManagers deben incorporar la nueva base en la federativaProblemas de integracin
19/09/06 Conceptos de BDD
RequerimientosPrincipio Fundamental
Ante el usuario, un sistema distribuido debe lucir exactamente igual que un sistema que no es distribuido
Date defini 12 requerimientos ideales1. Autonoma local2. No depender de un sitio central3. Operatoria continua4. Independencia de la localidad5. Independencia de la fragmentacin6. Independencia de la replicacin7. Procesamiento de consultas distribuidas8. Transacciones distribuidas9. Independencia del hardware10. Independencia del SO11. Independencia de la red12. Independencia de la base de datos
19/09/06 Conceptos de BDD
RequerimientosAutonoma local
Un sitio atiende sus requerimientos localesNo depende de ningn otro sitioLa administracin de los datos es local
No depender de un sitio centralTodos los sitios son igualesNo hay un sitio maestro
Cuello de botella Caida del servicio
19/09/06 Conceptos de BDD
RequerimientosOperatoria continua
Sistema Distribuido debe dar mayor confiabilidad Mayor disponibilidadOperatoria 7x24Hot backup Incorporacin de nuevos sitio o Act. De la base de datos
Independencia de la localidadEl usuario final no conoce la localidad fsicaDeben parecer datos localesNo hay diferencias de lugares especficos
19/09/06 Conceptos de BDD
RequerimientosIndependencia de la fragmentacin
Para almacenar la informacinPor razones de rendimientoHay dos tipos:
Horizontal Diferentes filas de la misma tabla se almacenan en diferentes sitios Organizaciones con ramificaciones y las mismas tablas
Vertical Las columnas de la misma tabla se encuetran en sitios diferentes
Problemas de disponibilidad (o dependencia) si se cae el nodo. Los usuario deben percibir que no hay fragmentacinPermite migracion de datos si invalidar aplicaciones
19/09/06 Conceptos de BDD
RequerimientosIndependencia de replicacin
Un fragmento puede estar en diferentes sitios (replicas)Habilidad de crear copias del master en sitios remotosLlamados snapshots pueden contener TODOPueden replicarse como read-only y refresh definidoProblemas de actualizacin de rplicasRedundancia controlada
Procesamiento de consultas distribuidasEs ms que ejecutar query sobre ms de una base
Optimizacin Trafico
Se particiona en subquerys SELECT CL.NAME, CL.DIRECCION, ORD.ORDER,ORD.FECHAFORM CLIENTES@LP CL, ORDENES@BA ORDWHERE CL.ID=ORD.ID_CLIENTE
19/09/06 Conceptos de BDD
RequerimientosTransacciones Distribudas
Control de la recuperacinControl de la concurrenciaEn muchos sitios
Ejecucin de cdigo Actualizacin de datos
Se implementa con algoritmo two-phase commit Asegura que todas las bases tienen xito en los
subupdates antes del commit definitivo Un fallo en una, hace fallar toda la transaccin
Tcnicas que permiter commit parciales
19/09/06 Conceptos de BDD
RequerimientosIndependencia del Hardware
Hago un query y saco informacin de un ORIGIN o IBM o PC
Independencia del SOHago un query y saco informacin de un
WIN o UNX o MVS
19/09/06 Conceptos de BDD
RequerimientosIndependencia de la red
Los diferentes protocolos no tienen efecto sobre la BDDSoportan multiprocolos
Mundos sincroncos (mainframes IBM) Mundos asincronicos (UNX)
Independencia de la baseRecuperar y almacenar de muchas bases y arquitecturasSistemas heterogeneos
19/09/06 Conceptos de BDD
Arquitectura DDBMSDefine la estructura del sistemaSe definen
ComponentesFuncion de cada componenteInterrelacion de componentes
Referencias de Arquitecturas de DDBMSCliente/ServidorPeer-to-peer databaseMultidatabase systems
19/09/06 Conceptos de BDD
Arquitectura DDBMSEstandares para DBMS
Basado en componentes DBMS consiste de componentes con funcionalidades En forma ordenada e interacciones bien definidas CCA/NBS
Basado en funciones Se identifican las diferentes clases de usuarios Se definen las funciones para esas clases Esquemas en capas con interfaces bien definidas Claridad con los objetivos ISO/OSI
19/09/06 Conceptos de BDD
Arquitectura DDBMSEstandares para DBMS
Basado en datos Se identifican diferentes clases de datos (esquemas) Los datos son lo importante (datalogical) Es el preferido ANSI/SPARC architecture
External Schema Se describe utilizando SQL Por ejemplo dos vistas (saldo y reporte)
Conceptual Schema Describe las relaciones con respecto a los atributos y claves
Internal Schema Se describen aspectos de almacenamiento Aparecen flags
19/09/06 Conceptos de BDD
Arquitectura DDBMSModelos de arquitecturas
Formas de trabajar cooperativamenteOrganizamos el sistema caracterizando
Autonomia Distribucion Heterogeneidad
19/09/06 Conceptos de BDD
Arquitectura DDBMSModelos de arquitecturas
Autonomia Distribucin del control Grado de operacin independiente Requerimientos
Operaciones locales no afectadas por la participacion Como el DBMS procesa queries y las optimiza no debe ser
afectado por queries globales Consistencia y operacin no se compromete por el join o
leave de DBMS
19/09/06 Conceptos de BDD
Arquitectura DDBMSDistribucion
De los datos en forma fisica Hay dos formas
Nada Cliente servidor Peer-to-peer (Full)
19/09/06 Conceptos de BDD
Arquitectura DDBMSHeterogeneidad
Hardware Protocolos Data managers
Para nosotros Modelos de datos Lenguajes de queries Protocolos de transacciones SQL y QUEL
19/09/06 Conceptos de BDD
Arquitectura DDBMSAlternativas Arquitecturales
(A0,D0,H0) Logicamente integrados No son heterogeneos ni hay distribucin Conjunto de DBMS integrados logicamente
(A0,D0,H1) Hay un manager distinto a los otros Provee vision integrada al usuario
(A0,D1,H0) Hay distribucin Vision integrada Sistemas clientes/servidor
19/09/06 Conceptos de BDD
Arquitectura DDBMSAlternativas Arquitecturales
(A0,D2,H0) Transparecia al usuario Distribucin completa No hay distincin entre cliente y servidores (peer-to-peer) Cada sitio provee la misma funcionalidad Trataremos este caso
(A1,D0,H1) Federativa heterogenea DBMS con datos estructurados Otro con video o imgenes Para dar una vista integrada debemos ocultar A y H
19/09/06 Conceptos de BDD
Arquitectura DDBMSAlternativas Arquitecturales
(A2,D0,H0) Autonomia full No hay conceptos de cooperacin No es una alternativa vlida
(A2,D0,H1) Aplicaciones que acceden datos desde mutliples sistemas
con diferentes carcteristicas Idem (A1,D0,H1)
(A2,D1,H1) y (A2,D2,H1) Similares en la problemtica Distributed Multidatabes Systems Arquitecturas de 3 capas (middleware) Peer-to-peer
19/09/06 Conceptos de BDD
Arquitectura DDBMSVeremos tres de todas las anteriores
Client-Server (Ax,D1,Hx)Distributed databases (A0,D2,H0) Multidatabase (A2,Dx,Hy)
19/09/06 Conceptos de BDD
Arquitectura DDBMSCliente/servidor
Impacto en los DBMS y el desarrolloDividimos una necesidad (funcionalidad) en dos
Funcin Servidor Funcin Cliente
Arquitectura de dos nivelesNos centramos en que corre en cada maquinaEn el server
Data management (query, store & transactions)En el cliente
Interface y aplicacin DBMS client
19/09/06 Conceptos de BDD
Arquitectura DDBMS
Sistem
a Operativo
UserInterface Application ...
Client DBMS
Communication Software
Sistem
a Operativo
Query Optimizer
Transaction Manager
Communication Software
Semantic Data Controller
Recovery Manager
Runtime Support Processor
BD
ResultadosQueries
19/09/06 Conceptos de BDD
Arquitectura DDBMSDiferentes tipos
1 servidor, N clientes N servidores, M clientes
Heavy client Light client
Los datos se ven iguales
19/09/06 Conceptos de BDD
Arquitectura DDBMSPeer-to-peer
Foco en la organizacin de los datosEsto implica diferencias en la organizacin en las maquinas
Local Internal Schema (LIS) Definicin interna en un sitio
Global Conceptual Schema (GCS) Estructura lgica de los datos en todos los sitios
Local Conceptual Schema (LCS) fragmentacin Replicacin
External Schemas (ES) Las aplicaciones Los usuarios
19/09/06 Conceptos de BDD
Arquitectura DDBMSReferencia
ES1 ES2
GCS
ES3
LCS1 LCSn
LIS1 LISn
19/09/06 Conceptos de BDD
Arquitectura DDBMSFunctional Integrated DDBMS
GCS
Internal Schema Proc_1
Transf.Almacen
L_DBA
Enterp.ADMIN
G_DBA App
External SchemaGD
/D
Esqm.Concep. Proc_1
LD/D
Int.Concept.Transf.
Local Data Management
Interna Schema Proc_n
Transf.Almacen
L_DBAEsqm.
Concep.Procn
LD/D
Int.Concept.Transf.
Local Data Management
19/09/06 Conceptos de BDD
Arquitectura DDBMSComponentes DDBMS
Usuario
User InterfaceHandler
Global ExecutionMonitor
Global QueryOptimizer
Semantic DataController
Local Query Processor
RuntimeSupprt
Processor
Local RecoveryManager
External
Schema
GlobalExterna
lSchem
a
GD/D
Local Concept
ualSchema
LocalInternalSchema
SystemLog
Respuestas Requerimientos
UserProcessor
DataProcessor
19/09/06 Conceptos de BDD
Arquitectura DDBMSMulti-DBMS (MDBMS)
La Diferencias entre MDBMS y DDBMS es la arquitectura GCS
DDBMS Integradas Vista conceptual de toda la BDD Base global es la union de las BDD locales
MDBMS Solo la coleccin (DBMS quieren compartir) Base global es la union de un subconjunto de BDD locales
19/09/06 Conceptos de BDD
Arquitectura DDBMSMulti-DBMS (MDBMS)
Modelos con GCS Integra los LES y parte de LCS App del LCS no modifican aplicaciones Difiere de DDBMS en como mapea los LCS al GCS GES y GCS no necesitan ser del mismo data model y lenguaje Esto define lo heterogeneo
19/09/06 Conceptos de BDD
Arquitectura DDBMScon GCS
GES1
GES2
GCS
GES3
LES11
LES12
LES13
LESn1
LESn2
LESn3
LCS1 LCSn
LIS1 LISn
19/09/06 Conceptos de BDD
Arquitectura DDBMSMulti-DBMS (MDBMS)
Modelos sin GCS No tener GCS es una ventaje de MDBMS sobre DDBMS Presenta la parte local que quieren compartir Puede ser del esquema LCS o LES Si tenemos DBMS distintos LCS pueden ser de distintos modelos
19/09/06 Conceptos de BDD
Arquitectura DDBMSsin GCS
ES1 ES2 ES3
LCS1 LCS3
LIS1 LIS3
LCS2
LIS2
MultipleDatabaseLayer
Local SystemLayer
19/09/06 Conceptos de BDD
ConclusionesDos alternitivas de diseo
DDBMSMDBMS
Aspectos de implementacinArquitecturas abstractasNos centraremos en DDBMS logicamente integradas
19/09/06 Conceptos de BDD
BibliografiaDistributed Database Systems. Bell, D; Grimson J. Addison Wesley, 1992.Principles of Distributed Database Systems. Ozsu, T; Valduriez, P. Prentice Hall, 1991.Managing Distributed Databases. Burleson, D. Wiley, 1994.Distributed and Multidatabase Systems. A. Bobak, Artech House Publichers, 1995.
Recommended