Sie sind auf Seite 1von 52

Base de Datos Distribuidas

Lic. Hugo D. Ramn


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

Definicin

La tecnologa de base de datos tiene como objetivo la integracin no la centralizacin

Definicin

Distributed Database System (BDD) es una coleccin de mltiples bases de datos


lgicamente relacionadas sobre una red (WAN o LAN).

Definicin

DDBMS es el software que permite la administracin BDD y hace la distribucin


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

Junn

WAN
CA Proyecto, CA Usuarios, CA Presupuestos
MA Proyecto, MA Usuarios, MA Presupuestos

Capital

19/09/06

Madrid

Conceptos de BDD

Conceptos
Promesas

Administracin Transparente

Independencia 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

Conceptos
Promesas

Transparencia de Red

Qu necesitamos disponible ?

Esconder detalles

Distribucin
Locacin
Naming

Transparencia de Replicacin

Performance

Seguridad

Disponibilidad

Actualizacin

19/09/06

Conceptos de BDD

Conceptos
Promesas

Transparencia de Fragmentacin

Veremos como dividir mas adelante

Son relaciones

Justificacion
Performance
Disponibilidad
Confiabilidad

Aspectos negativos de la replicacin

Querys

19/09/06

Conceptos de BDD

Conceptos
Promesas

Confiabilidad en las transacciones

Problemas con fallas

Two-phase commit (2PC)

Protocolos de recuperacin distribuida

19/09/06

Conceptos de BDD

Conceptos
Promesas

Mejora en la performance

Localizacin de los datos


Maneja solo parte de la base
Minimiza delay

Paralelismo de los sistemas distribuidos

19/09/06

Conceptos de BDD

Conceptos
Promesas

Expansin del sistema

Mejora cuando incrementa el tamao

Agregar
Procesadores
Storage

19/09/06

Conceptos de BDD

Conceptos
Problemtica

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
Problemtica

Distributed Query Processing

Diseo 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
Problemtica

Distributed Directory Managment

Ubicacin de los items de datos de base

19/09/06

El directorio puede ser global al DDBMS


Local en cada sitio
Centralizado
Distribuido en varios sitios

Conceptos de BDD

Conceptos
Problemtica

Distributed Concurrency Control

Sincronizacin 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
Problemtica

Distributed Deadlock Managment

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

19/09/06

Conceptos de BDD

Conceptos
Problemtica

Reliability of DDBMS

Debemos mejorar la confiabilidad y disponibilidad


Asegurar la consistencia
Detectar fallas
Recuperacin
Si fallan los sitios puede quedar inaccesible
Particin de la red

19/09/06

Conceptos de BDD

Conceptos
Problemtica

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
Fbricas

Datos con esa estructura (Islas de Informacin)


Conexin de Islas
Adquiciones Coorporativas
Fusionar empresas (poder en la informacin)
Rol fundamental para la distribucin de datos
Managers deben incorporar la nueva base en la federativa
Problemas de integracin

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.
2.
3.
4.
5.
6.
7.
8.
9.

10.
11.
12.

Autonoma local
No depender de un sitio central
Operatoria continua
Independencia de la localidad
Independencia de la fragmentacin
Independencia de la replicacin
Procesamiento de consultas distribuidas
Transacciones distribuidas
Independencia del hardware
Independencia del SO
Independencia de la red
Independencia de la base de datos

19/09/06

Conceptos de BDD

Requerimientos
Autonoma local

Un sitio atiende sus requerimientos locales


No depende de ningn otro sitio
La administracin de los datos es local

No depender de un sitio central

Todos los sitios son iguales


No hay un sitio maestro

19/09/06

Cuello de botella
Caida del servicio

Conceptos de BDD

Requerimientos
Operatoria continua

Sistema Distribuido debe dar

mayor confiabilidad
Mayor disponibilidad

Operatoria 7x24
Hot backup
Incorporacin de nuevos sitio o
Act. De la base de datos

Independencia de la localidad

El usuario final no conoce la localidad fsica


Deben parecer datos locales
No hay diferencias de lugares especficos

19/09/06

Conceptos de BDD

Requerimientos
Independencia de la fragmentacin

Para almacenar la informacin


Por razones de rendimiento
Hay dos tipos:

Horizontal

Vertical

Diferentes filas de la misma tabla se almacenan en diferentes sitios


Organizaciones con ramificaciones y las mismas tablas
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 fragmentacin
Permite migracion de datos si invalidar aplicaciones

19/09/06

Conceptos de BDD

Requerimientos

Independencia de replicacin

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 actualizacin de rplicas
Redundancia controlada

Procesamiento de consultas distribuidas

Es ms que ejecutar query sobre ms de una base


Optimizacin
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 Distribudas

Control de la recuperacin
Control de la concurrencia
En 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

Requerimientos

Independencia del Hardware

Hago un query y saco informacin de un


ORIGIN o
IBM o
PC

Independencia del SO

Hago un query y saco informacin 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 sincroncos (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

19/09/06

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

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

19/09/06

Modelos de datos
Lenguajes de queries
Protocolos de transacciones
SQL y QUEL

Conceptos de BDD

Arquitectura DDBMS

Alternativas 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 DDBMS

Alternativas 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)

19/09/06

Federativa heterogenea
DBMS con datos estructurados
Otro con video o imgenes
Para dar una vista integrada debemos ocultar A y H

Conceptos de BDD

Arquitectura DDBMS

Alternativas 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)

19/09/06

Similares en la problemtica
Distributed Multidatabes Systems
Arquitecturas de 3 capas (middleware)
Peer-to-peer
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
Funcin Servidor
Funcin 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 aplicacin
DBMS client

19/09/06

Conceptos de BDD

Arquitectura DDBMS
Sistema Operativo

User
Interface

Application

...

Client DBMS
Communication Software

Resultados

Queries

Communication Software
Sistema Operativo

BD

Semantic Data Controller


Query Optimizer
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 organizacin de los datos


Esto 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 DDBMS
Referencia

ES1

ES2

ES3

GCS

19/09/06

LCS1

LCSn

LIS1

LISn

Conceptos de BDD

Arquitectura DDBMS
Functional Integrated DDBMS
Enterp.
ADMIN

G_DBA

GCS

GD
/D

Internal
Schema
Proc_1

Transf.
Almacen

19/09/06

External
Schema

Local Data Management

Local Data Management


L_DBA

App

Esqm.
Concep.
Proc_1

LD/
D

Int.
Concept.
Transf.

L_DBA
Interna
Schema
Proc_n

Transf.
Almacen

Conceptos de BDD

Esqm.
Concep.
Procn

LD/
D

Int.
Concept.
Transf.

Arquitectura DDBMS
Componentes DDBMS
Usuario
Respuestas

User
Processor

User Interface
Handler

Semantic Data
Controller

Global Query
Optimizer

Requerimientos
Data
Processor
Local
Concept
ual
Schema

Externa
l
Schem
a
Global
Externa
l
Schem
a

System
Log

Local
Internal
Schema

G
D/
D

Global
Execution
Monitor

19/09/06

Conceptos de BDD

Local Query
Processor

Local Recovery
Manager

Runtime
Supprt
Processor

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 coleccin (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

19/09/06

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

Conceptos de BDD

Arquitectura DDBMS
con GCS

LES1

LES1

LES1

19/09/06

GES

GES

GES

GCS

LESn

LESn

LESn

LCS1

LCSn

LIS1

LISn

Conceptos de BDD

Arquitectura DDBMS

Multi-DBMS (MDBMS)

Modelos sin GCS

19/09/06

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

Conceptos de BDD

Arquitectura DDBMS
sin GCS

ES1

ES2

ES3

MultipleDatabase
Layer

Local System
Layer

19/09/06

LCS1

LCS2

LCS3

LIS1

LIS2

LIS3

Conceptos de BDD

Conclusiones

Dos alternitivas de diseo

DDBMS
MDBMS

Aspectos de implementacin
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

Das könnte Ihnen auch gefallen