Sei sulla pagina 1di 116

Tema 5:

Sistemas de Almacenamiento Distribuido


Sistemas Distribuidos
Marcos Lpez Sanz
[Curso 2012-2013]

Sistemas distribuidos Curso 2011-2012 www.kybele.es
ndice
Introduccin
Distribucin de ficheros
Arquitectura de servicios de ficheros
NFS
Distribucin de datos
Principios de BBDD distribuidas
Arquitectura de BBDD Distribuidas
Diseo de BBDD Distribuidas
Consultas distribuidas: descomposicin y localizacin
Otros sistemas de almacenamiento de datos
Data Warehouse
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Introduccin
Objetivo
Compartir informacin almacenada en localizaciones
distribuidas

Enfoques de almacenamiento:
No persistente:
Almacenamiento en memoria compartida
Almacenamiento de objetos: CORBA, EJB, etc.
Persistente:
Datos no estructurados (ficheros):
NFS, xFSgNutella, Peer-to-Peer
Datos estructurados:
BBDD distribuidas/federadas/paralelas, Datawarehousing
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Caracterizacin
Sistema o servicio de ficheros: software cuyo propsito es emular
la funcionalidad de un sistema de ficheros no distribuido
Objetivo: permitir a programas clientes acceder a los ficheros
como si estuvieran en su nodo local

Conceptos implicados
Ficheros: elementos almacenados formados por datos
(secuencias de bits) y atributos (longitud, tipo, timestamp,
propietario, ACL, etc.)
Directorios: ficheros especiales que contienen nombres (id) de
ficheros dependientes de l
Metadatos: informacin usada para la gestin del sistema de
ficheros
Operaciones: crear, abrir, cerrar, leer, escribir, posicionar,
eliminar, renombrar, asignar atributos

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Requisitos de los sistemas de ficheros distribuidos
Transparencia: equilibrio entre flexibilidad y
escalabilidad de la transparencia frente a complejidad y
rendimiento del SW
De acceso: los clientes no deben ser conscientes de la
distribucin de los ficheros conjunto nico de operaciones
De localizacin: los clientes deben ver un nico espacio de
nombres de ficheros uniforme transferencia de ficheros sin
que cambie el pathname
De movilidad: informacin en los clientes acerca de los
ficheros no debe variar cuando se migra un fichero
De rendimiento: los clientes deben seguir con su rendimiento
aun cuando la carga del servicio de ficheros distribuidos
aumenta
De escalabilidad: el sistema de ficheros debe ser capaz de
escalar sin que mermen sus capacidades
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Requisitos de los sistemas de ficheros distribuidos
Actualizaciones concurrentes de ficheros: los cambios
hechos a un fichero por parte de un cliente no deben afectar
al acceso a ese fichero por parte de otros clientes

Replicacin de ficheros: un mismo nombre de fichero puede
referirse a varios ficheros replicados
Ventaja: reparto de carga y tolerancia a fallos
Desventaja: actualizaciones y mantenimiento de copias
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Requisitos de los sistemas de ficheros distribuidos
Tolerancia a fallos: recuperacin ante fallos del cliente
o del servidor

Consistencia: debido a la existencia de replicacin,
todas las copias de un fichero deben ser iguales
propagacin de cambios

Seguridad: mecanismos de control de acceso a los
ficheros

Eficiencia: un sistema de ficheros distribuidos debe
ofrecer, al menos, la misma eficiencia que uno local
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Ejemplos de sistemas de ficheros distribuidos
Arquitectura de servicio de ficheros:
Modelo arquitectnico genrico sobre el que se asientan NFS o AFS
Basado en la divisin de responsabilidades entre el cliente y el
servidor

NFS: Network File System
Idea de Sun Microsystems (1985)
Protocolo NFS: RFC 1813 (1995)
Relacin simtrica entre clientes y servidores (multiplataforma)

AFS: Andrew File System
Entorno de computacin distribuido de la CMU (1986)
Basado en la transferencia de grandes bloques de ficheros y el uso
de cachs
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Arquitectura de servicio de ficheros
Extrado de Coulouris et al. Distributed Systems: Concepts and Design. 2012
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Arquitectura de servicio de ficheros. Componentes
Servicio de ficheros planos:
Implementa las operaciones en los contenidos de los ficheros
para su acceso
Crea UFIDs (Unique File Identifiers) para representar cada
fichero fsico
Servicio de directorio:
Mapea nombres (texto) a UFIDs
Gestiona ficheros y directorios
Mdulo cliente:
Integra y extiende las operaciones del servicio de ficheros
planos y del servicio de directorio
Crea una interfaz comn de acceso para aplicaciones cliente

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Arquitectura de servicio de ficheros. Interfaces
Interfaz del servicio de ficheros planos
Conjunto de operaciones usadas por un cliente
Basado en RPC (usado por el cliente) en las que se indica
un UFID (global al sistema de ficheros distribuido pero
resuelto por un servidor concreto)

Interfaz del servicio de directorio
Propsito: ofrecer una forma de trasladar nombres de
ficheros planos a UFIDs.
Ofrece tambin operaciones sobre directorios
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
Arquitectura de servicio de ficheros
Control de acceso
Se realiza cada vez que se resuelve (en el cliente) un
nombre de fichero (texto plano) a UFID, o bien,
Se enva la identidad del usuario al servidor para su
comprobacin antes de cada operacin de fichero

Otras caractersticas
Sistema jerrquico de ficheros: pathnames
Grupos de ficheros: conjunto de ficheros almacenados en
un servidor (independientemente de los directorios)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
NFS (Network File System)
Extrado de Coulouris et al. Distributed Systems: Concepts and Design. 2012
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
NFS. Conceptos bsicos
Protocolo NFS: conjunto de llamadas a procedimiento remoto que
ofrecen las capacidades necesarias para que los clientes puedan
realizar operaciones sobre un almacenamiento de ficheros remoto

Protocolo de nivel de aplicacin en la pila OSI

Clientes y servidores NFS:
Un servidor y varios clientes
Se comunican por RPCs siguiendo el protocolo NFS
Comunicacin con operaciones sncronas
Con TCP o UDP por debajo

nicas restricciones de uso: que la peticin est bien formulada y
que el usuario tenga las credenciales adecuadas
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
NFS. Componentes
Sistema de ficheros virtuales
Mdulo que implementa la transparencia de acceso
Conoce si debe transmitir una peticin de acceso a fichero al
sistema local de ficheros o al cliente NFS para acceso remoto
(remote filesystem)

Mdulo cliente NFS: Integracin con el cliente
Ofrece una interfaz adecuada para ser utilizada por
aplicaciones cliente
En UNIX suele estar integrado en el kernel
Acceso a ficheros con llamadas al sistema (sin recompilar) no como
librera
Un nico mdulo atiende a varias aplicaciones cliente
Se comunica y coordina con el sistema de ficheros virtuales
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
NFS. Componentes
Control de acceso y autenticacin
El servidor NFS no guarda el estado de apertura de un fichero
(stateless) chequeo de permisos ante cada peticin cliente
Problema: cualquiera podra enviar una peticin RPC con la ID de
otro usuario encapsulada en la peticin
Solucin parcial: Kerberos + Sun NFS

Interfaz del servidor NFS
Read, Write, getattr, setattr, lookup, create, mkdir, etc.

Mount service
Permite agregar enlaces simblicos a rboles de directorios/ficheros
en local haciendo referencia a subrboles remotos
UNIX: /etc/exports nombres de los filesystems locales que pueden
ser montados en clientes NFS
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de ficheros
NFS. Optimizaciones
Automounter: mantiene una tabla de puntos de montado
(pathnames). Cuando un cliente hace un lookup(), el
automounter pregunta a todos los servidores NFS por el
fichero solicitado y monta el filesystem localmente (enlace
simblico) para acceder a ese fichero

Server caching y client caching: demonios que permiten
hacer read-ahead y write-delay para mejorar el
rendimiento en la gestin de ficheros accedidos por un
cliente

Securizacin con Kerberos: uso de un protocolo de
autenticacin en redes inseguras (criptografa de clave
segura y existencia de un servidor de confianza)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Principios de Bases de Datos Distribuidas
Objetivos de las BD: integracin frente a centralizacin
Base de Datos Distribuida (DDBS):
a collection of multiple, logically interrelated databases distributed over a
computer network
Sistema gestor de BBDD distribuidas (Distributed DBMS):
the software system that permits the management of the distributed database
and makes the distribution transparent to the users

Discretizacin: es DDBS si
Los datos estn lgicamente relacionados
Existe una estructura lgica que los relaciona
(ms all de una jerarqua de organizacin)
Los datos estn fsicamente distribuidos
(no residen slo en un nodo)
Se utiliza una red de comunicaciones para su acceso
(no sobre una estrategia de memoria o disco compartido)
El acceso debe hacerse a travs de una interfaz comn

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Alternativas de distribucin de datos
Criterios
Modos de entrega de datos
Pull-only. Iniciado por una peticin del cliente (tradicional)
Push-only. Iniciado por los servidores
Hybrid. Query continua: primero pull x1 y despus push xN

Frecuencia
Periodic. Peticiones acordadas (acciones bancarias diarias)
Conditional. Envo en funcin de condicin (aviso por umbral)
Ad-hoc o irregular. Entornos hbridos o pull-only (tradicional)

Mtodos de comunicacin
Unicast. Comunicacin uno-a-uno cliente-servidor
One-to-many. Envo de un servidor a varios clientes (multicast o
broadcast)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Ventajas de los DDBS:
Gestin transparente de datos distribuidos y
replicados
Acceso fiable a datos a travs de transacciones
distribuidas
Mejora del rendimiento
Expansin sencilla del sistema (escalabilidad)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Gestin transparente de datos distribuidos y replicados
Objetivo: que el usuario cree consultas que no tengan en cuenta la
fragmentacin, localizacin o replicacin de los datos
Formas de abordar la transparencia en DDBS
Independencia de datos. Inmunidad de los usuarios frente a la organizacin de
datos o en la definicin de los mismos:
Definicin a nivel lgico: Definicin del esquema de la BD inmunidad frente a cambios en
la estructura lgica de la BD (esquema)
Definicin a nivel fsico: Definicin de los datos fsicos ocultacin de las estrategias de
almacenamiento fsico de los datos
Transparencia de red. No debe haber diferencia entre el acceso a
almacenamiento local o distribuido
Forma uniforme de acceder a los datos
Evitar que el usuario especifique la localizacin de los datos
Transparencia de replicacin. Gestin de la existencia de rplicas (no su
localizacin) por parte del sistema
Transparencia de fragmentacin. Tratamiento de un conjunto de fragmentos
(para mejora de rendimiento, fiabilidad y disponibilidad) como si no existieran
Fragmentacin vertical: una relacin se divide en varias de acuerdo a las tuplas (filas )
Fragmentacin horizontal: una relacin se divide en varias de acuerdo a los atributos
(columnas)


Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Fiabilidad mediante transacciones distribuidas
Transaccin: unidad bsica y coherente de computacin que
consta de una serie de sentencias para la BD que se ejecutan
como si fuera una sola

Objetivo: hacer que la BD se mantenga en un estado
coherente antes y despus de la ejecucin de la transaccin

Consecuencia: mantiene la integridad de la BD en
ejecuciones concurrentes de transacciones

Requisitos: implementar control de concurrencia y fiabilidad
distribuida (2PC y protocolos de recuperacin distribuida)

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Mejora del rendimiento
Basado en la existencia de fragmentos
Almacenamiento cercano al lugar donde se van a utilizar los
datos
Contencin del uso de CPU y E/S en el acceso a los datos
La localizacin (cercana) reduce el tiempo y latencia de red
La distribucin, a pesar de las mejoras HW, sigue existiendo
(comunicaciones con satlite o entre organizaciones)

Basado en la paralelizacin de las consultas
Intra-query: divisin de una consulta en varias
Inter-query: ejecucin de mltiples consultas a la vez
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Expansin sencilla del sistema (escalabilidad)
Expansin basada en aadir componentes de
computacin y almacenamiento

Aumento de las prestaciones en entornos
distribuidos ms sencillo que incremento de
potencia en monopuestos (mainframes)

Las estrategias de gestin distribuida son aplicables
a un nmero variable de recursos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Factores de complejidad de las BBDD distribuidas
Replicacin de los datos: el DDBMS es responsable de
Encontrar y seleccionar las copias almacenadas de los datos replicados a la hora
de recuperar la informacin
Asegurarse de la propagacin de los cambios a todas las instancias de los datos
modificados

Fallo de los nodos: el DDBMS es responsable de
Si una sentencia se est ejecutando, debe asegurarse de que los cambios se
realizan sobre el nodo cado (o no accesible) cuando se produce la recuperacin

Sincronizacin de transacciones:
Es compleja debido a la imposibilidad de conocer al momento inmediato qu
ocurre en el resto de nodos

Otros:
Coste de replicar recursos, gestin de la distribucin, gestin de acuerdos entre
nodos, etc.


Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Aspectos de diseo
Diseo de la BD distribuida:
Datos particionados (no replicados)?
Datos replicados?
Totalmente replicados?
Parcialmente replicados?
Aspectos involucrados:
Fragmentacin. Separacin de la BD en particiones (fragmentos)
Distribucin. Asignacin ptima de fragmentos a nodos

Gestin del directorio distribuido
Directorio global o local a cada nodo?
Directorio centralizado o distribuido?
Copia nica o replicada?
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Aspectos de diseo
Procesamiento distribuido de consultas
Se centra en disear algoritmos que analizan consultas y las convierten
en operaciones de manipulacin de datos
Factores a considerar:
Distribucin de los datos
Coste de la comunicacin
Limitaciones de la informacin local disponible
Control de concurrencia distribuido
Sincronizacin de accesos al DDBS
Integridad de una BD local + consistencia de mltiples copias
Soluciones:
Pesimistas. Sincronizacin de la ejecucin de las peticiones del cliente antes de
que ocurran
Optimistas. Ejecucin y posterior comprobacin de la consistencia de la BD tras
la ejecucin
Primitivas utilizadas:
Bloqueos (locks)
Timestamps
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Aspectos de diseo
Gestin de los interbloqueos distribuidos
Competicin entre usuarios por el acceso a un recurso
Alternativas: prevencin, avoidance, deteccin/recuperacin

Fiabilidad de los DDBS
Cada de nodos el DDBS tiene que ser consistente aun con nodos
cados o inaccesibles
Recuperacin de nodos el DDBS debe actualizar los nodos al
estado actual

Replicacin
Ante rplicas se debe establecer una poltica de actualizacin
Proactiva (eager). Forzar que las actualizaciones se produzcan en todos los
nodos antes de terminar la transaccin
Pasiva (lazy). Esperar a que termine la transaccin para actualizar el resto
de nodos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Aspectos de diseo

Extrado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitecturas de DDBS
Arquitectura ANSI/SPARC
Arquitectura centralizada
Arquitecturas distribuidas
DDBS en entornos cliente-servidor
DDBS puros (Peer-to-Peer)
Sistemas de multibases de datos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura ANSI/SPARC
Extrado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura ANSI/SPARC
Vista interna: la del sistema o nodo
Definicin fsica y organizacin de los datos
Localizacin de los dispositivos de almacenamiento
Definicin de los mecanismos de acceso y manipulacin de datos (SQL)

Vista conceptual: la de la empresa/organizacin
Definicin abstracta de la BD
Representacin de los datos y sus relaciones independientemente de la
tecnologa (lgebra relacional)
Separacin conceptual-interna: independencia fsica

Vista externa: la del usuario
Concepcin de la BD por parte del usuario
Comprende el conjunto de relaciones visibles y accesibles por el usuario
Separacin externa-conceptual: independencia lgica
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura de una BD centralizada
Extrado de M.T. zsu and P. Valduriez, Principles of
Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitecturas de BBDD distribuidas
Criterios
Autonoma
Distribucin
Heterogeneidad
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Criterios de clasificacin de DDBS. Autonoma
Grado en que los componentes de un DDBS pueden operar
independientemente. Afecta al control de cada nodo de BD.
Requisitos:
Las operaciones ejecutadas localmente no dependen de su participacin en el
DDBS
La optimizacin de operaciones tampoco
La consistencia de la BD local no se ve afectada cuando deja de pertenecer al
DDBS
Valores:
Autonoma de diseo. Independencia en tcnicas de gestin de transacciones y
modelos de datos
Autonoma de comunicacin. Independencia a la hora de ofrecer la informacin
a otros nodos o al SW que controla la ejecucin global
Autonoma de ejecucin. Independencia para ejecutar una transaccin de la
manera que se quiera.
Tipos de DDBS segn su autonoma:
Fuertemente integrados. Misma imagen en cada nodo. Control centralizado.
Semiautnomos. Parte de la BD local se dedica a ser compartida. BD federadas.
Aislamiento total. BBDD totalmente independientes (no distribuidas).

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Criterios de clasificacin de DDBS. Distribucin
Grado en que los datos se distribuyen fsicamente en
diferentes localizaciones

Tipos de DDBS segn su distribucin:
Cliente/servidor. Reparto de funcionalidades sobre los datos
Los servidores se encargan de las tareas de gestin de datos
Los clientes ofrecen el entorno de aplicacin incluyendo la interfaz
de usuario

Peer-to-Peer (puras). Distribucin total de funcionalidades
de gestin de datos
Cada nodo tiene todas las funcionalidades propias de un SGBD
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Criterios de clasificacin de DDBS. Heterogeneidad
Grado en que el DDBS se construye utilizando modelos de
datos, lenguajes de consulta o protocolos de gestin de
transacciones diferentes

Heterogeneidad en DDBS:
De modelos de datos.
En funcin de la expresividad de cada modelo de datos, las capacidades
de representar los datos varan

De lenguaje de consultas
A pesar de que SQL es el lenguaje estndar de acceso a BD, cada
vendedor tiene sus particularidades de implementacin

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitecturas de BBDD distribuidas
Extrado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura de DDBS cliente/servidor

Extrado de M.T. zsu and P. Valduriez,
Principles of Distributed Database Systems:
Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura de DDBS cliente/servidor


Extrado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura de DDBS Peer-to-Peer (DDBS puro)
Peer-to-Peer: hace referencia a que no hay diferencia en las
funcionalidades implementadas por los nodos del sistema
Diferencia con sistemas P2P actuales:
Envergadura: actualmente P2P se refiere a miles de nodos
interconectados
Objetivo de los P2P: compartir ficheros

Esquemas en DDBS
Local Internal Schema (LIS): organizacin fsica de los datos en cada
nodo
Global Conceptual Schema (GCS): describe la estructura lgica de todos
los nodos como un todo (vista externa y empresarial)
Local Conceptual Schema (LCS): descripcin conceptual de cada LIS en
cada nodo. Sirve para gestionar la replicacin y la fragmentacin de los
datos
External Schemas (ES): vista del DDBS que percibe el usuario final (por
encima del GCS)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura de DDBS Peer-to-Peer (DDBS puro)


Extrado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Componentes de un
DBMS distribuido


Extrado de M.T. zsu and P. Valduriez,
Principles of Distributed Database Systems:
Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Componentes de un DBMS distribuido
Procesador de usuario. Gestiona la interaccin con el
usuario final
Manejador del interfaz de usuario
Interpreta los comandos de usuario
Controlador de datos semnticos
Gestiona las autorizaciones y la restricciones de integridad de
acuerdo al GCS para saber si se puede ejecutar la peticin del
usuario.
Optimizador de consultas globales y descomponedor
Determina la estrategia de ejecucin minimizando los costes.
Transforma las consultas globales a consultas locales utilizando el
GCS y el LCS (as como el directorio global donde est la direccin
de cada nodo)
Monitor/Gestor de ejecucin distribuida
Coordina la ejecucin distribuida de la peticin de usuario
Diferentes nodos se comunican entre s a travs de este mdulo

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Componentes de un DBMS distribuido
Procesador de datos. Gestiona el acceso a los datos
locales
Optimizador de consultas locales
Selecciona la mejor ruta de acceso a los datos locales
Gestor de recuperacin local
Encargado de mantener la consistencia local aun en presencia
de fallos
Procesador de soporte en tiempo real
Accede fsicamente a los datos locales de acuerdo a los
comandos fsicos enviados por el optimizador de consultas
locales
Acta de interfaz con el sistema operativo
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Distribucin de Datos
Arquitectura de una multibase de datos

Extrado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Datos de ejemplo
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Premisas
Una copia del DDBMS existe en cada nodo
La distribucin de los programas se har dependiendo de
cmo se disee el DDBS

Estrategias de diseo
Top-Down
Desde el anlisis de los requisitos hasta el diseo fsico de la BD (LIS),
pasando por los GCS y ES
Objetivo: a partir del GCS disear los LCS
Pasos: fragmentacin y localizacin
Bottom-Up
Parte de BD locales existentes (LCS) para llegar a ES
Objetivo: derivar un GCS mediante integracin
Pasos: traduccin de esquemas e integracin de esquemas
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Diseo Top-Down:
Extrado de M.T. zsu and P. Valduriez,
Principles of Distributed Database Systems:
Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Diseo Bottom-Up:
Extrado de M.T. zsu and P. Valduriez,
Principles of Distributed Database Systems:
Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Aspectos de diseo de distribucin de datos
Razones de fragmentacin (granularidad)
Subconjuntos de relaciones como unidad porque as es como
acceden las aplicaciones
Relacin como unidad?
Problemas de transferencia de informacin (completa)
Problemas de replicacin y propagacin de actualizaciones
Fragmentos
Permiten ejecutar consultas concurrentemente

Desventajas de fragmentacin
Degradacin de rendimiento en aplicaciones que trabajan con
fragmentos
Control de integridad requiere accesos a datos de mltiples
fragmentos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Aspectos de diseo de distribucin de datos
Alternativas de fragmentacin
Particin horizontal
Se realiza repartiendo las tuplas de una relacin de acuerdo al
valor que toma uno de los atributos (columnas) de la relacin
Particin vertical
Se realiza separando los atributos (columnas) en diferentes
fragmentos
La clave primaria se incluye en todos los fragmentos (causa:
1FN)
Particin hbrida
Anidamiento de las particiones horizontales y verticales

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Aspectos de diseo de distribucin de datos
Grado de fragmentacin
Extremos: no fragmentar nada vs. fragmentar a nivel de tupla o de
atributos individuales
Solucin: compromiso dependiente de las aplicaciones que usan el DDBS

Reglas de correccin de la fragmentacin
Objetivo: que la BD no sufra cambios semnticos durante la
fragmentacin

Regla 1: Completitud Si una relacin R se divide en fragmentos R
1
,
R
2
,,R
n
, cada dato de R se puede encontrar en uno o ms R
i
Regla 2: Reconstruccin Si una relacin R se divide en fragmentos R
1
,
R
2
,,R
n
, existe un operador aplicable a R
i
que da como resultado R.
Regla 3: Desunin (disjointness)
F. Vertical: Salvo la clave primaria, un atributo nicamente se encuentra en un
fragmento
F. Horizontal: Los datos (tuplas) nicamente se encuentran en un fragmento
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Aspectos de diseo de distribucin de datos
Alternativas de localizacin
Premisa: la BD est fragmentada correctamente
Opciones: datos replicados o nicos
Razones: fiabilidad y eficiencia
Aspecto clave: ratio consultas de lectura vs. actualizacin
Tipos de DDBS segn localizacin
Particionada: fragmentos localizados en varios nodos pero sin
replicacin
Totalmente replicada: toda la BD existe en cualquiera de los
nodos
Parcialmente replicada: existen fragmentos replicados en varios
nodos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Aspectos de diseo de distribucin de datos
Totalmente
replicada
Parcialmente
replicada
Particionada
Procesamiento de consultas Fcil Dificultad similar
Gestin del directorio Fcil o inexistente Dificultad similar
Control de concurrencia Moderado Difcil Fcil
Fiabilidad Muy alto Alto Bajo
Realismo Posible aplicacin Realista Posible aplicacin
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Horizontal
Tipos de particin horizontal
Primaria: la fragmentacin se realiza nicamente con la informacin
de una relacin (seleccin en la propia tabla)
Derivada: la fragmentacin se realiza usando informacin
procedente de una consulta de seleccin previa sobre otra tabla
relacionada

Requisitos de informacin para fragmentacin horizontal
Informacin de la BD:
Relaciones entre tablas del GCS (joins)
Informacin de la aplicacin:
Detectar cules son los criterios de filtrado ms habituales
Regla 80/20 entre datos recuperados/consultas ms utilizadas
Establecer sus complementarios para cumplir con el criterio de completitud
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Horizontal Primaria
Se define con una operacin de seleccin sobre una de
las relaciones existentes (w) en un esquema de la BD

Dada una relacin R, sus fragmentos se definen como:
R
i
=
Fi
(R), 1 i w
Resultado:
Cada fragmento contendr el conjunto de tuplas que cumplen
el criterio de seleccin
Habr tantos fragmentos como predicados de seleccin sean
diseados
Existen algoritmos para comprobar que los predicados de
seleccin cumplen con las propiedades de completitud y
mnima cardinalidad
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Horizontal Primaria
Ejemplo
Dos nodos
Objetivo: almacenar aquellos empleados con un salario
superior a 30.000 y en otro lugar los que cobren menos
Predicados iniciales (simples): Pr = { P1, P2 }
P1: SAL 30000
P2: SAL < 30000
Comprobacin de que los predicados son mnimos y
completos algoritmo COM_MIN: Pr es mnimo y
completo
Obtencin de fragmentos algoritmo PHORIZONTAL
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Horizontal Primaria
Algoritmo PHORIZONTAL

Predicados de seleccin (minterm predicates) (todas las posibles
combinaciones de los predicados simples):
m1: (SAL 30000) (SAL > 30000)
m2: (SAL 30000) (SAL > 30000)
m3: (SAL 30000) (SAL > 30000)
m4: (SAL 30000) (SAL > 30000)
Implicaciones (relaciones entre predicados):
i1: (SAL 30000) (SAL > 30000)
i2: (SAL 30000) (SAL > 30000)
i3: (SAL > 30000) (SAL 30000)
i4: (SAL > 30000) (SAL 30000)
Simplificacin
m1 es contradictorio (de acuerdo a i1); m4 es contradictorio (debido a i2)
M={m2, m3}= {P1, P2}
Fragmentacin
Fs = {S1, S2} de acuerdo a M


TITLE SAL
Elect. Eng. 40000
Syst. Anal. 34000
Mech. Eng. 27000
Programmer 24000
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Horizontal Derivada
Se define con una operacin de seleccin sobre una relacin
que est relacionada con alguna de las relaciones existentes
(w) en un esquema de la BD sobre la que se har la
fragmentacin
Dada una relacin R, sus fragmentos se definen como:
R
i
= R < S
i
, 1 i w particin derivada de R en semijoin con S
S
i
=
Fi
(S) particin primaria de S
Elementos necesarios:
Conjunto de fragmentos de la relacin con particin primaria
Relacin que se desea fragmentar
Atributo de unin entre las relaciones
Problemas
Encontrar cul es el atributo por el que hacer el (semi-)join
Aqul que tiene mejores caractersticas de unin (menor n de fragmentos)
Aqul que deriva en fragmentos ms utilizados por aplicaciones
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Horizontal.
Anlisis de criterios de correccin
Completitud: depende de los predicados de seleccin
En una fragmentacin primaria se cumplir si el predicado se
ejecuta correctamente
En una fragmentacin derivada se cumplir si se cumple la
integridad referencial (las tuplas de un fragmento estn tambin en
la relacin con la que se hace el join)
Reconstruccin: la relacin original se forma mediante la unin
de los fragmentos
Disjointness:
En una fragmentacin primaria se cumplir si el predicado definido
conlleva la creacin de fragmentos mutuamente excluyentes
En una fragmentacin derivada depende de los datos (se debe
estudiar en detalle)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Vertical.
Produce fragmentos R
1
, R
2
,,R
n
cada uno de los cuales contiene un
subconjunto de los atributos (columnas) de R as como la clave
primaria de R

Fragmentacin ptima: aquella que produce un esquema de
fragmentacin tal que reduce el tiempo de ejecucin de las
aplicaciones sobre estos fragmentos

Complejidad:
Dados m atributos candidatos a clave primaria
N de posibles fragmentos m
m
Aproximaciones heursticas
Agrupamiento: dividir completamente los atributos e ir uniendo hasta
satisfacer un criterio (1985)
Desdoblamiento: ir dividiendo quitando atributos hasta que se deja de
cumplir el criterio (1984)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Vertical.
Requisitos de informacin para fragmentacin vertical
Depende del uso que las aplicaciones hagan de los atributos
frecuencia de acceso a los atributos
Pretende encontrar los atributos que ms veces se acceden juntos
afinidad de atributos

Algoritmo de fragmentacin
A partir de un conjunto de consultas se crea una matriz de uso de
atributos
A partir de esa matriz y de la frecuencia de usos de cada consulta se
crea una matriz de afinidad
Se utiliza un algoritmo para ordenar los atributos de la matriz y
juntar los que ms afinidad tienen entre s (ms peso)
Finalmente se divide la matriz entre los atributos ms utilizados y
los menos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Vertical.
Comprobacin de la correccin de la fragmentacin
Completitud
Se garantiza porque cada atributo al menos est en una
particin
Reconstruccin
Se consigue mediante el join de todos los fragmentos
Disjointness
La clave primaria se repite en cada fragmento lo que permite
saber que las tuplas no se repiten
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Fragmentacin. Hbrida.
Se basa en la utilizacin de fragmentaciones
verticales y horizontales independientemente del
orden en que se ejecuten
Se produce un rbol estructurado de fragmentos
Comprobacin de la correccin
Completitud: se cumple si se cumple en las
fragmentaciones individuales
Reconstruccin: se empieza por las hojas y se va
subiendo en el rbol
Disjointness: se cumple si se cumple en las
fragmentaciones individuales
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Localizacin
Foco del problema: posicionar los datos en una red
de computadores ms que en el diseo en s de la
BD

Aspectos:
Definicin del problema de localizacin
Requisitos de informacin asociados a la localizacin
Modelo de localizacin
Mtodos de solucin a la localizacin
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Localizacin.Problema de localizacin
Premisa: existen una serie de fragmentos (F
i
) distribuibles en
una serie de nodos (S
i
) y que son accedidos por una serie de
aplicaciones (Q
i
)
Objetivo: distribucin ptima de F en S

Medidas de optimalidad:
Coste mnimo: funcin compuesta que indica el coste de
Almacenar cada Fi en cada Sj
Consultar cada Fi en cada Sj
Actualizar cada Fi en los nodos en los que est almacenado
Rendimiento:
Minimizar el tiempo de respuesta
Maximizar la tasa de transferencia en cada sitio
Problema: complejidad de los algoritmos de distribucin de
fragmentos en nodos (NP-completo)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Localizacin. Requisitos de informacin
Informacin de la BD
Nmero de tuplas de un fragmento Fj que son accedidas por una
aplicacin Qi
Tamao de las tuplas de un fragmento Fj

Informacin de la aplicacin
Nmero de accesos de lectura y de actualizacin que un programa Qi
hace a un fragmento Fj
Nodo que origina la consulta y su localizacin
Mximo tiempo de respuesta admisible por una aplicacin

Informacin de los nodos
Capacidad/Coste de almacenamiento y de procesamiento

Informacin de la red
Coste de comunicacin entre dos nodos Si y Sj
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de BD Distribuidas
Localizacin. Modelo de localizacin
Modelo matemtico que intenta minimizar el coste total de
procesamiento y almacenamiento de datos cumpliendo ciertas
restricciones de tiempo
NP-Completo
Define funciones para clculo de costes de procesamiento y
almacenamiento y de la influencia de las restricciones

Localizacin. Mtodos de solucin
Heursticos
Problema de la mochila
Tcnicas branch-and-bound
Algoritmos de flujo de red
Centrados en reducir la complejidad
Query processing optimization
Ignorar la replicacin
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
lgebra relacional (recordatorio)
Operadores primitivos
Proyeccin ( )
Seleccin ( )
Unin ( )
Diferencia(-)
Producto Cartesiano (x)

Operadores derivados:
Combinacin o Join ( )
Interseccin ( )
Divisin (:)
O. Unarios
O. Binarios
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Proyeccin ( ): La proyeccin de una relacin sobre un conjunto de sus atributos es otra relacin
definida sobre ellos, eliminando las tuplas duplicadas que hubieran podido resultar al seleccionar los
atributos indicados

nacionalidad
(Autor)

Seleccin ( ): La seleccin de una relacin mediante una expresin lgica (predicado de seleccin) da
como resultado una relacin formada por el conjunto de tuplas que satisfacen dicha expresin

nacionalidad=Espaola
(Autor)

Unin ( ): La unin de dos relaciones R1 y R2, compatibles en su esquema, es otra relacin definida
sobre el mismo esquema de relacin, cuya extensin estar constituida por el conjunto de tuplas que
pertenezcan a R1, a R2 o a ambas (sin duplicar)
Autor Editor

Diferencia(-): La diferencia de dos relaciones R1 y R2, compatibles en su esquema, es otra relacin
definida sobre el mismo esquema de relacin, cuya extensin estar constituida por el conjunto de
tuplas que pertenecen a R1 y no pertenecen a R2
Autor Editor

Producto Cartesiano (x): El producto cartesiano de dos relaciones R1 y R2 de cardinalidades m1 y m2
respectivamente, es una relacin definida sobre la unin de los atributos de ambas relaciones y cuya
extensin estar constituida por las m1 x m2 tuplas formadas concatenando cada tupla de la primera
relacin con cada una de las tuplas de la segunda relacin
LIBRO x EDITORIAL




Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Seleccin ( )
Proyeccin ( )
Producto (x)
Unin ( )
Diferencia ( - )
a
b
c
x
y
a
a
b
b
c
c
x
y
x
y
x
y
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Combinacin o Join ( , ). La combinacin de dos relaciones, R1 y R2,
respecto a una cierta condicin de combinacin, es otra relacin constituida
por todos los pares de tuplas t
i
y t
j
concatenadas, tales que, en cada par, las
correspondientes tuplas satisfacen la condicin especificada. Cuando el
operador es la igualdad, se denomina combinacin natural
LIBRO
LIBRO.nombre-e = EDITORIAL.nombre
EDITORIAL

Interseccin ( ): La interseccin de dos relaciones R1 y R2 compatibles en
su esquema es otra relacin definida sobre el mismo esquema de relacin y
cuya extensin estar constituida por las tuplas que pertenecen a ambas
relaciones
AUTOR EDITOR

Divisin (:) : La divisin de una relacin R1(dividendo) por otra relacin R2
(divisor) es una relacin R (cociente) tal que, al realizarse su combinacin
con el divisor, todas las tuplas resultantes se encuentran en el dividendo.
R1 : R2 =
C
(R1) -
C
(R2 x
C
(R1)-R1)
AUTOR_EDITORIAL : EDITORIAL

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Procesador de consultas
Transforma una consulta de alto nivel (en clculo
relacional, SQL-like) en un equivalente de bajo nivel
(lgebra relacional)

En DDBS no es suficiente con el lgebra relacional
necesita seleccionar dnde es mejor realizar la
consulta
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Ejemplo
Nodo 5
Nodo 1
Nodo 2 Nodo 3
Nodo 4
Adaptado de M.T. zsu and P. Valduriez, Principles of Distributed Database Systems: Third Edition, 2011 y
EMP
1
EMP
2
ASG
1
ASG
2
Query
EMP (ENO, ENAME, TITLE)
ASG (ENO, PNO, RESP, DUR)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Ejemplo
Consulta (clculo relacional):
SELECT ENAME
FROM EMP, ASG
WHERE EMP.ENO = ASG.ENO
AND RESP = Manager
Consulta (lgebra relacional):
Opcin 1:

ENAME
(
RESP=Manager EMP.ENO = ASG.ENO
(EMP x ASG))
Opcin 2: (intuitivamente consume menos recursos, evita
el producto cartesiano)

ENAME
(EMP
ENO
(
RESP=Manager
(ASG))


Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Ejemplo
Fragmentacin y distribucin en nodos:
Nodo 1: ASG
1
=
ENO

E3
(ASG)
Nodo 2: ASG
2
=
ENO

< E3
(ASG)
Nodo 3: EMP
1
=
ENO

E3
(EMP)
Nodo 4: EMP
2
=
ENO

< E3
(EMP)

Lanzamiento de la consulta:
Nodo 5

ENAME
(EMP
ENO
(
RESP=Manager
(ASG))
Sistemas distribuidos Curso 2011-2012 www.kybele.es
ENAME
(EMP
ENO
(
RESP=Manager
(ASG))
Diseo de Consultas Distribuidas
Ejemplo
Estrategia A: transferir todos los fragmentos al nodo 5
Enviar EMP
1
Enviar EMP
2
Enviar ASG
1
Enviar ASG
2
Nodo 3 Nodo 4
Nodo 1 Nodo 2
Nodo 5
ENAME
(
(
ENO, ENAME
(EMP
1
EMP
2
))

EMP.ENO= ASG.ENO
(
ENO
(
RESP=Manager
(ASG
1
ASG
2
))
)

Recibir EMP
1
Recibir EMP
2
Recibir ASG
1
Recibir ASG
2
Sistemas distribuidos Curso 2011-2012 www.kybele.es
ENAME
(EMP
ENO
(
RESP=Manager
(ASG))
Diseo de Consultas Distribuidas
Ejemplo
Estrategia B: enviar resultados intermedios
Enviar EMP
1

Enviar ASG
1


Nodo 3
Nodo 1 Nodo 5
ASG
1


=
RESP=Manager
(ASG
1
)
Enviar ASG
2


Nodo 1
ASG
2


=
RESP=Manager
(ASG
2
)
EMP
1


=EMP
1
ASG
1

Recibir ASG
1

Enviar EMP
2

Nodo 4
EMP
2


=EMP
2
ASG
2

Recibir ASG
2

Recibir EMP
1
Recibir EMP
2

ENAME
(EMP
1
EMP
2
)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Ejemplo
Costes:
Acceder a una tupla: 1 unidad
Transferir una tupla: 10 unidades
Cardinalidad de EMP: 400
Cardinalidad de ASG: 1000
20 asignaciones para Manager en ASG
Tuplas uniformemente distribuidas: nodos 1 y 2
devuelven 10 tuplas por filtro manager en cada ASG
i
Todos los nodos se pueden comunicar con todos
ENAME
(EMP
ENO
(
RESP=Manager
(ASG))
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Ejemplo
Costes de las estrategias:
Estrategia 1:
Transferir EMP
1
al nodo 5: 200 * 10 = 2000
Transferir EMP
2
al nodo 5: 200 * 10 = 2000
Transferir ASG
1
al nodo 5: 500 * 10 = 5000

Transferir ASG
2
al nodo 5: 500 * 10 = 5000

Filtrado por Manager: 1000 accesos (sin ndices) = ASG
Join entre la unin de EMP (400 tuplas) y ASG (20 tuplas) = 400 * 20 = 8000
Total = 2000 + 2000 + 5000 + 5000 + 1000 + 8000 = 23.000

Estrategia 2:
Producir ASG
1
en nodo 1: 10 (indizado)

Producir ASG
2
en nodo 1: 10 (indizado)

Trasferir ASG
1
a nodo 3: 10*10 = 100

Trasferir ASG
2
a nodo 4: 10*10 = 100

Producir EMP
1
en nodo 3 (join indizado por EMP): 1 * 10 = 10
Producir EMP
2
en nodo 4 (join indizado por EMP): 1 * 10 = 10
Transferir EMP
1
al nodo 5: 10 * 10 = 100
Transferir EMP
2
al nodo 5: 10 * 10 = 100
Lecturas para unin de EMP
1
y EMP
2
en nodo 5: 20
Total = 10*2 + 100*2 + 10*2 + 100*2 + 20 = 460

ENAME
(EMP
ENO
(
RESP=Manager
(ASG))
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Procesamiento de consultas distribuidas
Objetivo: transformar una consulta de alto nivel,
ejecutada por un usuario que percibe el DDBS como
nico, en una estrategia de ejecucin eficiente
expresado en un lenguaje de bajo nivel para cada BD
local

Medidas utilizadas:
Coste total (de la ejecucin de la consulta)
BD centralizadas: reducir coste de E/S (lecturas a disco) y CPU
(acceso a memoria)
BD distribuidas: reducir coste de comunicaciones (datos
transferidos)
Tiempo de respuesta (entre que se ejecuta la consulta y se
obtienen los resultados)

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Procesamiento de consultas distribuidas
Caracterizacin de consultas distribuidas
Lenguajes: clculo relacional (~SQL) y lgebra relacional
Tipos de optimizacin: exhaustivo vs. heurstico
Temporizacin de la optimizacin:
Estticamente: antes de ejecutar la consulta
Dinmicamente: durante la ejecucin
Uso de estadsticas para seleccin del orden de ejecucin de
pasos en una consulta
Toma de decisiones acerca de la estrategia de optimizacin:
centralizada vs. distribuida
Anlisis de la topologa de red (cercana)
Anlisis de los fragmentos
Uso de la operacin de semijoin como primitiva para reducir la
cantidad de datos enviada (seleccin de las columnas que se
utilizarn en pasos posteriores)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Etapas del procesamiento de consultas distribuidas
Diseo de Consultas Distribuidas
Extrado de Connolly & Begg,
Database Systems. Fourth Edition, 2005.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Etapas del procesamiento de consultas distribuidas (I)
Descomposicin de consultas
Transformacin de la consulta desde una notacin de clculo
relacional a una de tipo algebraico sobre el GCS
Pasos:
1. Reescritura de la consulta en forma normalizada (prioridad de
operadores)
2. Anlisis de la consulta normalizada: deteccin y eliminacin de
consultas con errores (uso de grafos semnticos)
3. Simplificacin de la consulta: eliminacin de predicados redundantes
4. Reestructuracin de la consulta: de clculo relacional a lgebra.
Transformacin para conseguir una versin mejorada (desde el
punto de vista del rendimiento). Se usan reglas simples de
transformacin
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Etapas del procesamiento de consultas distribuidas (I)
Descomposicin de consultas.
Paso 1. Normalizacin:
Reglas de equivalencia usadas para obtener una forma cannica de la
consulta (basada en AND o en OR)

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Etapas del procesamiento de consultas distribuidas (I)
Descomposicin de consultas.
Paso 2. Anlisis: comprobacin de la semntica de la consulta
grafos
Paso 3. Eliminacin de la redundancia
Reglas de eliminacin
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Etapas del procesamiento de consultas distribuidas (I)
Descomposicin de consultas.
Paso 4. Reescritura: transformacin a lgebra relacional
Paso 4.1. Traduccin directa
Paso 4.2. Simplificacin del rbol de operadores para mejora de rendimiento
Reglas de transformacin
1. Conmutatividad de los operadores binarios:
2. Asociatividad de los operadores binarios
3. Idempotencia de los operadores unarios
4. Conmutatividad de seleccin con proyeccin
5. Conmutatividad de seleccin con operadores binarios
6. Conmutatividad de projeccin con operadores binarios
Consejo para optimizacin:
Que los operadores unarios se ejecuten lo ms cerca posible de las
hojas (relaciones o fragmentos)

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Reglas de transformacin
1. Conmutatividad de los operadores binarios (slo prod. cartesiano, join y unin)

2. Asociatividad de los operadores binarios


3. Idempotencia de los operadores unarios

4. Conmutatividad de seleccin con proyeccin

5. Conmutatividad de seleccin con operadores binarios


Si R y T son unin compatible:
6. Conmutatividad de proyeccin con operadores binarios


Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Ejemplo:

Extrado de M.T. zsu and P. Valduriez,
Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Etapas del procesamiento de consultas distribuidas (y II)
Localizacin de datos
Entrada: consulta en forma algebraica
Objetivo: localizar los datos referenciados en la consulta teniendo en
cuenta fragmentos y rplicas
Transforma la consulta en una consulta fragmentada (distribuida)
reducida (eliminacin de consultas sobre fragmentos que producen
resultados vacos)
Reduccin para fragmentacin horizontal primaria
Regla 1. Con seleccin:
Regla 2. Con join:
Reduccin para fragmentacin vertical
Regla 3. no tiene sentido si R
i
no contiene atributos de D

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Etapas del procesamiento de consultas distribuidas (y II)
Optimizacin global de la consulta
Entrada: consulta fragmentada en forma algebraica
Objetivo: encontrar una estrategia de ejecucin ptima (heurstica)
Notacin: lgebra relacional + primitivas de envo/recepcin
Algoritmos.
Centrados en optimizar la ordenacin de joins/semijoins
Aplicacin de algoritmos centralizados a datos distribuidos
Dynamic*-QOA
Static*-QOA
Basados en semijoin
SQAllocation
Optimizacin local: optimizacin usando el LCS
Algoritmos centralizados
Algoritmos dinmicos: INGRES. Descomposicin en mini-consultas y
optimizacin individual
Algoritmos estticos: System R. Bsqueda exhaustiva del rbol de
soluciones de consultas posibles. Optimalidad.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Diseo de Consultas Distribuidas
Algoritmos de optimizacin
(centralizados):
Extrado de M.T. zsu and P. Valduriez,
Principles of Distributed Database Systems: Third Edition, 2011.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Contexto
Business Intelligence:
Capacidad para tomar decisiones de negocio rpidas y precisas
Relacin con los sistemas distribuidos: SSDD como fuente de la que extraer
informacin de negocio y generar conocimiento (BI)
Sistemas de soporte a la decisin (DSS):
Conjunto de herramientas utilizadas para ayudar en la toma de decisiones
Cmo?Combinacin de datos histricos de operacin con modelos de
negocio que representan las actividades de negocio
Componentes (Coronel et al.):
Sistema de almacenamiento
Datos de negocio. Resumen y reorganizacin de los datos operativos optimizados
para conseguir rapidez de consultas y anlisis de datos (externos y operativos).
Datos de modelos de negocio. Modelan el negocio para identificar y mejorar el
conocimiento que se tiene de las situaciones de negocio (anlisis y previsiones).
Componente de filtrado/extraccin de datos. Obtiene los datos de fuentes externas para su
almacenamiento
Herramienta de consulta de usuario. Permite a un usuario definir las consultas sobre el
sistema de almacenamiento.
Herramienta de presentacin de datos. Permite seleccionar la forma en que se mostrar la
informacin extrada.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Arquitectura genrica
de una solucin de BI:
dato + contexto
= informacin
informacin + acervo cientfico
= conocimiento


Obtenido de:
http://www.sinnexus.com/business_intelligence/arquitectura.aspx
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Data Warehouse
Definicin: El Data Warehouse es una coleccin de datos
integrados, orientados a un tema/propsito, no voltiles e
historiados, organizados para el apoyo de un proceso de ayuda a
la decisin
Integrados. BD que consolida e integra datos de una organizacin y de
mltiples fuentes con diversos formatos. Un DW debe tener una
representacin unificada de los datos.
Orientados a un tema. Los datos se organizan y optimizan para
responder a preguntas de diferentes partes de una empresa. La
organizacin de los datos debe estar supeditada a las necesidades de
estos departamentos (consulta frente a actualizacin). OLAP vs. OLTP
No voltiles. Una vez los datos entran en el DW, nunca salen. Los
datos crecen, pero no se borran
Historiados. Un DW debera representar una vista (snapshot) de los
datos de una compaa en un momento determinado.

Objetivo: ayuda a la toma de decisiones
Inmon. Bill & Chuck Kelley."The 12 Rules of Data Warehouse for a Client/Server World". Data Management Rev. 4(5). May, 1994
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Data Warehouse. 12 reglas:
1. El DW y los datos operativos estn separados
2. Los datos del DW estn integrados
3. El DW contiene datos histricos de largo recorrido
4. Los datos del DW se refieren a momentos concretos de los datos de una
empresa
5. Los datos del DW estn orientados a un tema
6. Los datos del DW son, bsicamente, datos de slo lectura con actualizaciones
peridicas en segundo plano. No se permiten las actualizaciones manuales (on-
line)
7. El proceso de desarrollo de un DW est dirigido por los datos, no por los
procesos que acceden a l
8. Existen diferentes niveles de detalle de los datos almacenados por un DW:
actuales, viejos, resmenes breves y resmenes extendidos
9. El entorno de un DW se caracteriza por transacciones de solo lectura sobre
grandes conjuntos de datos
10. El entorno de un DW contiene un sistema que permite hacer trazas de orgenes
de datos, transacciones y almacenamiento
11. Los metadatos del DW son un aspecto crtico
12. El DW cuenta con un mecanismo de optimizacin enfocado a priorizar las
consultas realizadas por usuarios finales
Inmon. Bill & Chuck Kelley."The 12 Rules
of Data Warehouse for a Client/Server
World". Data Management Rev. 4(5).
May, 1994
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
OLAP vs. OLTP
OLTP (On-line Transaction Processing)
Caracterizados por un nmero significativo de operaciones
transaccionales (INSERT, UPDATE, DELETE)
nfasis: procesamiento rpido de consultas, mantenimiento de la
integridad de los datos en entornos de accesos mltiples.
Eficiencia medida en transacciones por segundo
Datos y esquemas definidos segn un modelo relacional y normalizado

OLAP (On-line Analytical Processing)
Caracterizados por un volumen relativamente bajo de transacciones
Las consultas son complejas y suelen involucrar agregaciones de datos
Eficiencia medida en tiempo de respuesta
Tcnicas utilizadas: data mining, data analysis, decision making
Estrategias de almacenamiento basados en datos multidimensionales y
esquemas en estrella
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
OLTP
(Sistema operacional)
OLAP
(Data Warehouse)
Orgenes de los datos
Datos operacionales. OLTPs son la fuente
original de los datos
Datos consolidados. Diferentes fuentes OLTP
Propsito de los datos
Controlar y ejecutar tareas fundamentales del
negocio
Ayuda a la toma de decisiones, planificacin y
resolucin de problemas
Qu representan los
datos
El estado actual de la ejecucin de los
procesos de negocio
Vistas multidimensionales de varias
actividades de negocio
Inserts y Updates Pequeos y rpidos a peticin de los usuarios Trabajos en segundo plano peridicos
Consultas Consultas simples devolviendo pocos datos Consultas complejas
Velocidad de
procesamiento
Normalmente muy rpida
Depende de la cantidad de datos involucrados
(hasta horas y das)
Requisitos de espacio Relativamente pequeos Muy altos (agregacin de datos)
Diseo de la BD Altamente normalizados
Normalmente desnormalizados con pocas
tablas (esquemas en estrella o copo de nieve)
Backup y recuperacin
Backup necesario (los datos operacionales son
crticos para el negocio)
Backup por recarga de los orgenes OLTP
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Tipos de DW (segn tamao) (Elmasri et al., 2003)
DW de nivel empresarial (constelaciones de DW)
DW virtuales. Ofrecen vistas de BD operacionales materializadas para
acceso eficiente
Data-marts. Subconjuntos de DW enfocados a un departamento o
fraccin de la empresa
Poco volumen de datos
Mayor rapidez de consulta
Validacin directa de la informacin
Facilidad para el almacenamiento histrico de los datos
Ejemplos de soluciones comerciales para DW
IBM DB2 Warehouse 9.5
Microsoft SQL Server 2008
Oracle Database 11g
Teradata Enterprise Data Warehouse 12.0
Sybase IQ
Netezza Performance Server

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW.
Datos multidimensionales
Definidos en cubos de informacin que
relacionan los datos entre si
Operaciones:
Pivoting: operacin de cambio de orientacin
de la jerarqua
Roll-up display: operacin que permite
aumentar el grado de agrupamiento de los
datos (de meses a trimestres por ejemplo)
Drill-down display: operacin contraria
Slice & Dice: proyecciones sobre las
dimensiones
Sorting: ordenacin de los datos
Selection: filtrado de los datos

(Excel: tablas de referencias
cruzadas/tablas dinmicas)

Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de tablas
Tabla dimensin: Conjunto de formas en las que los
datos pueden ser agregados, vistos, ordenados o
entendidos (producto, tiempo, cliente, etc.)
jerarquas de datos

Tabla de hechos (facts): contiene una tupla por
cada elemento de inters almacenado y consisten
en conjuntos de valores de las medidas de negocio.
Cada medida se toma mediante la interseccin de
las dimensiones que la definen
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de tablas
Obtenido de Wikipedia. http://es.wikipedia.org/wiki/Tabla_de_hechos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de esquemas multidimensionales
Esquema en estrella
Una tabla de hechos
Varias tablas de dimensiones
Caractersticas:
Estructura simple Esquema fcil de entender
Alta eficiencia de consultas Pocas tablas que unir
Alto tiempo de carga de datos en las tablas de dimensiones
desnormalizacin, datos redundantes, gran tamao de la tabla
Estrategia ms utilizada en implementaciones de DW ampliamente
soportada por herramientas de BI
Esquema en copo de nieve
Una tabla de hechos
Varias tablas de dimensiones jerarquizadas y normalizadas
Esquema en constelacin de hechos
Varias tablas de hechos
Varias tablas de dimensiones compartidas
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de esquemas multidimensionales
Esquema en estrella
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de esquemas multidimensionales
Esquema en estrella (extrado de IronBridge SW Inc. 2006)
Regions
EAST
CTRL
East
Central
Beverages
1000
2000
Snap Soda
Crackle Pop
Weeks
2006W01
2006W02
2006W03
Week ending 7 Jan 2006
Week ending 14 Jan 2006
Week ending 21 Jan 2006
Weeks
2006W01
2006W01
2006W01
2006W01
2006W02
2006W02
2006W02
2006W02
2006W03
2006W03
2006W03
2006W03
Dollar Sales
10
12
14
9
12
16
10
15
15
10
15
20
Regions
EAST
EAST
CTRL
CTRL
EAST
EAST
CTRL
CTRL
EAST
EAST
CTRL
CTRL
Beverages
1000
2000
1000
2000
1000
2000
1000
2000
1000
2000
1000
2000
Unit sales
5
6
7
3
6
8
4
6
6
4
6
8
Price
2.00
2.00
2.00
3.00
2.00
2.00
2.50
2.50
2.50
2.50
2.50
2.50
IronBridge Software Inc.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de esquemas multidimensionales
Esquema en copo de nieve (snowflake)
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Diseo de DW. Tipos de esquemas multidimensionales
Esquema en constelacin de hechos
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Construccin de un DW
70% de la carga de procesamiento en un DW
Extraccin, Transformacin y Carga (proceso ETL)
Extraccin:
Orgenes: OLTP, SAP, ERP, sistemas operacionales, legacy
Los datos son extrados (ad-hoc querying) para su posterior integracin
Transformacin:
Mapeo de datos a un formato comn (renombrado de atributos y tipos de
datos)
Limpieza de los datos: validacin y anlisis de la calidad
Enriquecimiento de los datos: p.ej. geolocalizacin y otros metadatos
Conversin al modelo del DW
Carga:
Tareas de carga en segundo plano
Temporizacin y monitorizacin del proceso
Importancia de la distribucin de los datos:
DW federado. Confederacin de DW autnomos.
DW distribuido. Repositorio de metadatos replicado en cada DW.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Construccin de un DW
Herramientas ETL:
Microsoft Access / SSIS / SQL Server BCP
IBM DB2 Bulk /DataStage
Oracle Data Pump
Sybase BCP (Bulk Copies Data)
SAS ETL Studio
Jitterbit (opensource)
Pentaho Data Integrator (opensource)
Talen Open Studio (opensource)

http://infogoal.com/datawarehousing/etl_tool_selecti.htm
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Construccin de un DW
Extrado de Datawarehouse4u.info
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Construccin de un DW. Metadatos
Metadatos que describen tablas:
Nombre fsico
Nombre lgico
Tipo: hecho, dimensin, otros (puente)
Rol: OLTP, sistema heredado (legacy), intermedio
SGBD: DB2, Informix, SQL Server, Oracle, Sybase
Localizacin
Definicin
Observaciones
Metadatos que describen columnas de tablas
Nombre fsico
Nombre lgico
Orden en la tabla
Tipo de datos
Longitud
Posiciones decimales
Requerido/Admite null
Valor por defecto
Definicin
Observaciones
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Construccin de un DW. Metadatos
Metadatos:
Necesarios para simplificar y automatizar la obtencin de la informacin
desde los sistemas operacionales a los sistemas de toma de decisiones

Objetivos que deben cumplir los metadatos, segn el colectivo al
que va dirigido (www.sinnexus.com):
Dar soporte al usuario final:
Ayudndole a acceder al DW con su propio lenguaje de negocio
Indicando qu informacin hay y qu significado tiene
Ayudar a construir consultas, informes y anlisis, mediante herramientas de BI
Dar soporte a los responsables tcnicos del DW:
Aspectos de auditora
Gestin de la informacin histrica
Administracin del DW
Elaboracin de programas de extraccin de la informacin
Especificacin de las interfaces para la realimentacin a los sistemas
operacionales de los resultados obtenidos...
Etc.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Data Warehouse
Data mining Business Services?
Extrado de Connolly & Begg. Database Systems: A Practical Approach to Design, Implementation and Management . 6
th
Ed.
Sistemas distribuidos Curso 2011-2012 www.kybele.es
Ejercicios
Estudiar la taxonoma de sistemas distribuidos de almacenamiento descrita en:
http://www.cloudbus.org/reports/DistributedStorageTaxonomy.pdf

Encontrar y describir las operaciones permitidas del protocolo NFS (versin 4)

Estudiar cmo NFS cumple las caractersticas de transparencia, replicacin de
ficheros, heterogeneidad SW y de Sist. Op., tolerancia a fallos, consistencia,
seguridad y eficiencia

Buscar informacin acerca de las tcnicas de read-ahead y write-delay en entornos
distribuidos. Qu relacin tienen con la definicin de transacciones?

Buscar ejemplos de bases de datos distribuidas y estudiar la forma en que gestionan
los diferentes esquemas definidos en la arquitectura ANSI/SPARC

Por qu los algoritmos de optimizacin se centran en la ordenacin de
joins/semijoins?

Qu relacin hay entre un CPD y un Data Warehouse?