base de datos distribuidas - weblidi.info.unlp.edu.arweblidi.info.unlp.edu.ar/catedras/bdd/clase 2 -...

Download Base de Datos Distribuidas - weblidi.info.unlp.edu.arweblidi.info.unlp.edu.ar/catedras/bdd/Clase 2 - Conceptos de BDD.pdf · 19/09/06 Conceptos de BDD Conceptos Definiciones Definición

If you can't read please download the document

Upload: duonghanh

Post on 06-Feb-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

  • 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.