Base de Datos Distribuidas

Anuncio
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
19/09/06
Madrid
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
•
•
•
•
19/09/06
El directorio puede ser global al DDBMS
Local en cada sitio
Centralizado
Distribuido en varios sitios
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.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Autonomía local
No depender de un sitio central
Operatoria continua
Independencia de la localidad
Independencia de la fragmentación
Independencia de la replicación
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
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
•
•
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
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
•
•
•
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 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
•
•
•
•
•
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
• 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
•
•
•
•
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 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)
•
•
•
•
19/09/06
Federativa heterogenea
DBMS con datos estructurados
Otro con video o imágenes
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 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)
•
•
•
•
19/09/06
Similares en la problemática
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
• 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
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 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
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 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
•
•
•
•
•
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
1
2
3
19/09/06
GES
GES
GES
1
2
3
GCS
LESn
LESn
LESn
1
2
3
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 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
Descargar