Vous êtes sur la page 1sur 52

Base de Datos Distribuidas

Lic. Hugo D. Ramón

Conceptos de Bases de Datos Distribuidas


Agenda
„ Conceptos
„ Definiciones
„ Promesas BDD
„ Problematica
„ Justificacion de BDD
„ Requerimientos de Date
„ Arquitectura de un DBMS distribuido (DDBMS)

19/09/06 Conceptos de BDD


Conceptos
Definiciones

„ Definición
La tecnología de base de datos tiene como objetivo la integración no la centralización

„ Definición
Distributed Database System (BDD) es una colección de múltiples bases de datos
lógicamente relacionadas sobre una red (WAN o LAN).

„ Definición
DDBMS es el software que permite la administración BDD y hace la distribución
transparente al usuario.

19/09/06 Conceptos de BDD


Conceptos
Definiciones
Computadora Computadora

CPU CPU

Memoria Memoria

BUS O SWITCH

Computadora Computadora

CPU CPU

Memoria Memoria

19/09/06 Conceptos de BDD


Conceptos
Definiciones
LP Proyecto, LP Usuarios, LP Presupuestos
JU Proyecto, JU.Usuarios, JU Presupuestos

La Plata
Junín

WAN

CA Proyecto, CA Usuarios, CA Presupuestos


MA Proyecto, MA Usuarios, MA Presupuestos

Capital
Madrid

19/09/06 Conceptos de BDD


Conceptos
Promesas

„ Administración Transparente
„ Independencia de Datos
• Importante también centralizada
• Inmunidad a los cambios en la definición y organización de los
datos
• Dos niveles:
• Lógico: nivel de esquema
• Físico: nivel de estructura

19/09/06 Conceptos de BDD


Conceptos
Promesas

„ Transparencia de Red
„ Qué necesitamos disponible ?
„ Esconder detalles
„ Distribución
• Locación
• Naming
„ Transparencia de Replicación
„ Performance
„ Seguridad
„ Disponibilidad
„ Actualización

19/09/06 Conceptos de BDD


Conceptos
Promesas

„ Transparencia de Fragmentación
„ Veremos como dividir mas adelante
„ Son relaciones
„ Justificacion
• Performance
• Disponibilidad
• Confiabilidad
„ Aspectos negativos de la replicación
„ Querys

19/09/06 Conceptos de BDD


Conceptos
Promesas

„ Confiabilidad en las transacciones


„ Problemas con fallas
„ Two-phase commit (2PC)
„ Protocolos de recuperación distribuida

19/09/06 Conceptos de BDD


Conceptos
Promesas

„ Mejora en la performance
„ Localización de los datos
• Maneja solo parte de la base
• Minimiza delay
„ Paralelismo de los sistemas distribuidos

19/09/06 Conceptos de BDD


Conceptos
Promesas

„ Expansión del sistema


„ Mejora cuando incrementa el tamaño
„ Agregar
• Procesadores
• Storage

19/09/06 Conceptos de BDD


Conceptos
Problemática

„ Distributed Database Design


„ Como distribuidos en los sitio
• Datos
• Aplicaciones
„ Dos tecnicas para datos
• Particionadas
• Replicada
„ Soluciones basadas en heuristica

19/09/06 Conceptos de BDD


Conceptos
Problemática

„ Distributed Query Processing


„ Diseño de algortimos que analizan queries
„ Generan series de expresiones
„ Definen una estrategia de bajo costo
„ Optimizar usando paralelismo
„ Soluciones basadas en heuristica

19/09/06 Conceptos de BDD


Conceptos
Problemática

„ Distributed Directory Managment


„ Ubicación 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


Conceptos
Problemática

„ Distributed Concurrency Control


„ Sincronización de acceso a la BDD (para qué)
• Consistencia de multiples copias
„ Dos formas
• Pesimista
• Optimista
„ Se utiliza
• Locking
• Timestamping

19/09/06 Conceptos de BDD


Conceptos
Problemática

„ Distributed Deadlock Managment


„ Similar al de SO
„ Competencia de acceso a recursos
„ Pasa si usamos locking

19/09/06 Conceptos de BDD


Conceptos
Problemática

„ Reliability of DDBMS
„ Debemos mejorar la confiabilidad y disponibilidad
„ Asegurar la consistencia
„ Detectar fallas
„ Recuperación
„ Si fallan los sitios puede quedar inaccesible
„ Partición de la red

19/09/06 Conceptos de BDD


Conceptos
Problemática

„ Heterogeneous Database
„ Distintas formas
• de estructurar logicamente los datos
• de acceso a los datos
„ Proveer mecanismos de interpretacion (gateway)
„ Multidatabase systems

19/09/06 Conceptos de BDD


Conceptos
„ Factores para crearlas
„ Estructura de las empresas
• Divisiones
• Departamentos
• Fábricas
„ Datos con esa estructura (Islas de Información)
„ Conexión de Islas
„ Adquiciones Coorporativas
„ Fusionar empresas (poder en la información)
„ Rol fundamental para la distribución de datos
„ Managers deben incorporar la nueva base en la federativa
„ Problemas de integración

19/09/06 Conceptos de BDD


Requerimientos
„ Principio Fundamental
Ante el usuario, un sistema distribuido debe lucir exactamente igual que un
sistema que no es distribuido
„ Date definió 12 requerimientos ideales
1. Autonomía local
2. No depender de un sitio central
3. Operatoria continua
4. Independencia de la localidad
5. Independencia de la fragmentación
6. Independencia de la replicación
7. Procesamiento de consultas distribuidas
8. Transacciones distribuidas
9. Independencia del hardware
10. Independencia del SO
11. Independencia de la red
12. Independencia de la base de datos

19/09/06 Conceptos de BDD


Requerimientos
„ Autonomía local
„ Un sitio atiende sus requerimientos locales
„ No depende de ningún otro sitio
„ La administración de los datos es local

„ No depender de un sitio central


„ Todos los sitios son iguales
„ No hay un sitio maestro
• Cuello de botella
• Caida del servicio

19/09/06 Conceptos de BDD


Requerimientos
„ Operatoria continua
„ Sistema Distribuido debe dar
• mayor confiabilidad
• Mayor disponibilidad
„ Operatoria 7x24
„ Hot backup
„ Incorporación de nuevos sitio o
„ Act. De la base de datos

„ Independencia de la localidad
„ El usuario final no conoce la localidad física
„ Deben parecer datos locales
„ No hay diferencias de lugares específicos

19/09/06 Conceptos de BDD


Requerimientos
„ Independencia de la fragmentación
„ Para almacenar la información
„ Por razones de rendimiento
„ Hay 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 fragmentación
„ Permite migracion de datos si invalidar aplicaciones

19/09/06 Conceptos de BDD


Requerimientos
„ Independencia de replicación
„ Un fragmento puede estar en diferentes sitios (replicas)
„ Habilidad de crear copias del master en sitios remotos
„ Llamados snapshots pueden contener TODO
„ Pueden replicarse como read-only y refresh definido
„ Problemas de actualización de réplicas
„ Redundancia controlada

„ Procesamiento de consultas distribuidas


„ Es más que ejecutar query sobre más de una base
• Optimización
• Trafico
„ Se particiona en subquerys
SELECT CL.NAME, CL.DIRECCION, ORD.ORDER,ORD.FECHA
FORM CLIENTES@LP CL, ORDENES@BA ORD
WHERE CL.ID=ORD.ID_CLIENTE

19/09/06 Conceptos de BDD


Requerimientos
„ Transacciones Distribuídas
„ Control de la recuperación
„ Control de la concurrencia
„ En muchos sitios
• Ejecución de código
• Actualización 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 transacción
„ Técnicas que permiter commit parciales

19/09/06 Conceptos de BDD


Requerimientos
„ Independencia del Hardware
„ Hago un query y saco información de un
• ORIGIN o
• IBM o
• PC

„ Independencia del SO
„ Hago un query y saco información de un
• WIN o
• UNX o
• MVS

19/09/06 Conceptos de BDD


Requerimientos
„ Independencia de la red
„ Los diferentes protocolos no tienen efecto sobre la BDD
„ Soportan multiprocolos
• Mundos sincronícos (mainframes IBM)
• Mundos asincronicos (UNX)

„ Independencia de la base
„ Recuperar y almacenar de muchas bases y
arquitecturas
„ Sistemas heterogeneos

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Define la estructura del sistema
„ Se definen
„ Componentes
„ Funcion de cada componente
„ Interrelacion de componentes
„ Referencias de Arquitecturas de DDBMS
„ Cliente/Servidor
„ Peer-to-peer database
„ Multidatabase systems

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Estandares 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 DDBMS
„ Estandares 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 DDBMS
„ Modelos de arquitecturas
„ Formas de trabajar cooperativamente
„ Organizamos el sistema caracterizando
• Autonomia
• Distribucion
• Heterogeneidad

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Modelos de arquitecturas
„ Autonomia
• Distribución del control
• Grado de operación 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 operación no se compromete por el join o
leave de DBMS

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Distribucion
• De los datos en forma fisica
• Hay dos formas
• Nada
• Cliente servidor
• Peer-to-peer (Full)

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Heterogeneidad
• 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 DDBMS
„ Alternativas Arquitecturales
„ (A0,D0,H0)
• Logicamente integrados
• No son heterogeneos ni hay distribución
• Conjunto de DBMS integrados logicamente
„ (A0,D0,H1)
• Hay un manager distinto a los otros
• Provee vision integrada al usuario
„ (A0,D1,H0)
• Hay distribución
• Vision integrada
• Sistemas clientes/servidor

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Alternativas Arquitecturales
„ (A0,D2,H0)
• Transparecia al usuario
• Distribución completa
• No hay distinción 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 imágenes
• Para dar una vista integrada debemos ocultar A y H

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Alternativas Arquitecturales
„ (A2,D0,H0)
• Autonomia full
• No hay conceptos de cooperación
• No es una alternativa válida
„ (A2,D0,H1)
• Aplicaciones que acceden datos desde mutliples sistemas
con diferentes carácteristicas
• Idem (A1,D0,H1)
„ (A2,D1,H1) y (A2,D2,H1)
• Similares en la problemática
• Distributed Multidatabes Systems
• Arquitecturas de 3 capas (middleware)
• Peer-to-peer

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Veremos 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 DDBMS
„ Cliente/servidor
„ Impacto en los DBMS y el desarrollo
„ Dividimos una necesidad (funcionalidad) en dos
• Función Servidor
• Función Cliente
„ Arquitectura de dos niveles
„ Nos centramos en que corre en cada maquina
„ En el server
• Data management (query, store & transactions)
„ En el cliente
• Interface y aplicación
• DBMS client

19/09/06 Conceptos de BDD


Arquitectura DDBMS

Sistema Operativo
User
Application ...
Interface

Client DBMS

Communication Software

Queries Resultados

Communication Software
Sistema Operativo

Semantic Data Controller

Query Optimizer
BD
Transaction Manager

Recovery Manager

Runtime Support Processor

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Diferentes 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 DDBMS
„ Peer-to-peer
„ Foco en la organización de los datos
„ Esto implica diferencias en la organización en las maquinas
• Local Internal Schema (LIS)
• Definición interna en un sitio
• Global Conceptual Schema (GCS)
• Estructura lógica de los datos en todos los sitios
• Local Conceptual Schema (LCS)
• fragmentación
• Replicación
• External Schemas (ES)
• Las aplicaciones
• Los usuarios

19/09/06 Conceptos de BDD


Arquitectura DDBMS
Referencia

ES1 ES2 ES3

GCS

LCS1 LCSn

LIS1 LISn

19/09/06 Conceptos de BDD


Arquitectura DDBMS
Functional Integrated DDBMS
Enterp.
ADMIN

G_DBA
GCS App

External
GD Schema
/D

Local Data Management


Local Data Management
Esqm.
Esqm.
L_DBA Concep.
L_DBA Concep.
Procn
Proc_1
Interna
Internal
Schema
Schema
Proc_n LD/
Proc_1 LD/
D
D

Int.
Int. Transf.
Transf. Concept.
Concept. Almacen
Almacen Transf.
Transf.

19/09/06 Conceptos de BDD


Arquitectura DDBMS
Componentes DDBMS

Usuario
Requerimientos
Respuestas

Data
User Processor
Processor User Interface Local
Handler Externa Concept Local Query
l ual Processor
Schem Schema
a
Semantic Data Global
System Local Recovery
Controller Externa
Log Manager
l
Schem
a
Local Runtime
Global Query Internal Supprt
Optimizer G Schema Processor
D/
D

Global
Execution
Monitor

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Multi-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 colección (DBMS quieren compartir)
• Base global es la union de un subconjunto de BDD locales

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Multi-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 DDBMS
con GCS

GES GES GES


1 2 3

LES1 LES1 LES1 GCS LESn LESn LESn


1 2 3 1 2 3

LCS1 LCSn

LIS1 LISn

19/09/06 Conceptos de BDD


Arquitectura DDBMS
„ Multi-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 DDBMS
sin GCS

ES1 ES2 ES3


MultipleDatabase
Layer

Local System
Layer LCS1 LCS2 LCS3

LIS1 LIS2 LIS3

19/09/06 Conceptos de BDD


Conclusiones
„ Dos alternitivas de diseño
„ DDBMS
„ MDBMS
„ Aspectos de implementación
„ Arquitecturas abstractas
„ Nos centraremos en DDBMS logicamente integradas

19/09/06 Conceptos de BDD


Bibliografia
„ Distributed 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.

19/09/06 Conceptos de BDD

Vous aimerez peut-être aussi