Base de Datos Distribuidas
Oaxaca
Red de comunicaciones
México
Guerrero
Chiapas
MonterreyDb2
MySql Postgres
SqlServer
Microsoft Access
Conceptos básicos
BDD Base de Datos Distribuidas
Es un conjunto de múltiples bases de datos lógicamenterelacionadas las cuales se encuentran distribuidas entre diferentessitios interconectados por una red de comunicaciones
SBDD Sistema de Base de Datos Distribuida
Es un sistema en el cual múltiples sitios de bases de datos estánligados por un sistema de comunicaciones, de tal forma que, unusuario en cualquier sitio puede accesar los datos en cualquierparte de la red exactamente como si los datos estuvieranalmacenados en su sitio propio
SMBDD Un sistema de manejo de bases de datosdistribuidas
Es aquel que se encarga del manejo de la BDD y proporcionaun mecanismo de acceso que hace que la distribución seatransparente a los usuarios. El término transparentesignifica que la aplicación trabajaría, desde un punto devista lógico, como si un solo SMBD ejecutado en una solamáquina, administrara esos datos.
SBDD Un sistema de base de datos distribuida
Es entonces el resultado de la integración de una base dedatos distribuida con un sistema para su manejo.
Continuación…
Autonomía local.Independencia de un sitio central.Operación continua.Transparencia de Localización.Transparencia de FragmentaciónTransparencia de repetición.Procesamiento distribuido de consultas.Procesamiento de transacciones distribuidas.Transparencia de "hardware".Transparencia de Sistema operativoTransparencia de red.Transparencia de SMBD
Objetivos de las BDD
Los ambientes en los que se encuentra con mayor frecuenciael uso de las bases de datos distribuidas son:
Cualquier organización que tiene una estructuradescentralizada.Casos típicos de lo anterior son: organismosgubernamentales y/o de servicio público.La industria de la manufactura, particularmente, aquellacon plantas múltiples. Por ejemplo, la industria automotriz.Aplicaciones de control y comando militar.Líneas de transportación aérea.Cadenas hoteleras.Servicios bancarios y financieros.
Disciplinas de estudio
Arquitectura de BDD
Arquitecturas de memoria compartida.
Consisten de diversos procesadores los cuales accesan unamisma memoria y un misma unidad de almacenamiento(uno o varios discos). Algunos ejemplos de este tipo son lascomputadoras Sequent Encore y los mainframes IBM4090 yBull DPS8 (Figura 1)
Pn ProcesadorMMemoria
P1 Pn MBD
Figura 1. Arquitectura de memoria compartida
……
Continuación…
Arquitecturas de disco compartido
Consiste de diversos procesadores cada uno de ellos con sumemoria local pero compartiendo una misma unidad dealmacenamiento (uno o varios discos). Ejemplos de estasarquitecturas son los cluster de Digital, y los modelos IMS/VSData Sharing de IBM
Pn ProcesadorMMemoria
Figura 2. Arquitectura de disco compartido
P1 PnBD
M1
……
Mn
BDBD
Continuación…
Arquitecturas nada compartido
Consiste de diversos procesadores cada uno con su propiamemoria y su propia unidad de almacenamiento. Aquí setienen los clusters de estaciones de trabajo, la computadorasIntel Paragon, NCR 3600 y 3700 e IBM SP2
Pn ProcesadorMMemoria
Figura 3. Arquitectura nada compartido
P1 Pn
M1
……
Mn
BDBDBDBDBDBD
Diseño de BDD
Consideraciones de Diseño de BDD
Existen varios factores relacionados a la construcción debases de datos distribuidas que no se presentan en bases dedatos centralizadas. Entre los más importantes seencuentran los siguientes:
Diseño de la Base de Datos Distribuida (unidad II)
Procesamiento de consultas (Unidad III)
Control de concurrencia (Unidad IV)
Confiablidad (Unidad IV)
1
2
3
1
Diseño de la BDD
En el diseño de bases de datos distribuidas se debeconsiderar el problema de como distribuir la informaciónentre diferentes sitios. Existen razones organizacionales lascuales determinan en gran medida lo anterior. Sin embargo,cuando se busca eficiencia en el acceso a la información, sedeben abordar dos problemas relacionados.Primero, como fragmentar la información.Segundo, como asignar cada fragmento entre los diferentessitios de la red.
Continuación …
En el diseño de la BDD también es importante considerar sila información está replicada, es decir, si existen copiasmúltiples del mismo dato y, en este caso, como mantener laconsistencia de la información. Finalmente, una parteimportante en el diseño de una BDD se refiere al manejo deldirectorio. Si existen únicamente usuarios globales, se debemanejar un solo directorio global. Sin embargo, si existentambién usuarios locales, el directorio combina informaciónlocal con información global
La organización de los sistemas de Base de DatosDistribuidas se puede analizar en 3 dimensiones:
Compartición
Modo de Acceso
Nivel deConocimiento
Estático Dinámico
Datos
Datos y programas
Información Parcial
Información total
Cada aplicación y sus datos se ejecutan en una máquina sin comunicación con otros programas o datos
Cada máquina posee sus propias aplicaciones locales pero se comparten los datos
Las aplicaciones locales en una máquina pueden invocar servicios en otras y además comparten los datos
Estático
Compartición de datos y programas
El modelo de acceso a los datos no varía con el tiempo
El modelo de acceso a los datos varía con el tiempo
Los diseñadores no tienen información de cómo acceden los usuarios a los datos
Los diseñadores no poseen toda la información de cómo acceden los usuarios a los datos
Los diseñadores poseen toda la información de cómo acceden los usuarios a los datos
Inexistente
ComparticiónDe datos
Características de acceso Dinámico
Sin información
Con información parcial
Con informacióntotal
Niv
el d
eco
no
cim
ien
toN
ivel
de
Co
mp
arti
ció
n
Estrategias de Diseño
Las estrategias son las utilizadas en una BD relacional, peroañadiendo un paso de diseño de la distribuciónA la hora de abordar el diseño de una Base de DatosDistribuida podremos optar principalmente por dos tipos deestrategias:
la estrategia ascendente (botton-up) y
la estrategia descendente(top-down)
La estrategia ascendente (botton-up). En este caso se partirá delos esquemas conceptuales locales y se trabajaría para llegar aconseguir el esquema conceptual global. Después se pasaría aldiseño de distribución. Esta estrategia suele ser utilizada paraintegrar varias bases de datos centralizadas existentes.
la estrategia descendente(top-down). Se parte de cero y seavanza en el desarrollo del trabajo. Los pasos a realizarmediante esta estrategia son:Análisis de requisitosDiseño de VistasDiseño conceptualDiseño de la distribuciónFragmentaciónAsignación
Diseño físicoMonitorización y ajuste
Diccionario de Datos
Es el lugar donde se deposita información acerca detodos los datos que forman la BD. Es una guía en laque se describe la BD y los objetos que la forman.
El diccionario contiene las características lógicas delos sitios donde se almacenan los datos del sistema,incluyendo nombre, descripción, alias, contenido yorganización. Identifica los procesos donde seemplean los datos y los sitios donde se necesita elacceso inmediato a la información
En una BD relacional, el diccionario de datos proporciona información acerca de:
La estructura lógica y física de la BD.
Las definiciones de todos los objetos de la BD: tablas,
vistas, índices, disparadores, procedimientos, funciones,
etcétera.
El espacio asignado y utilizado por los objetos.
Los valores por defecto de las columnas de las tablas.
Información acerca de las restricciones de integridad.
Los privilegios y roles otorgados a los usuarios.
Auditoría de información, como los accesos a los objetos.
Un diccionario de datos debe cumplir las siguientes características:
Debe soportar las descripciones de los modelos conceptual, lógico, interno y
externo de la BD.
Debe estar integrado dentro del SGBD.
Debe apoyar la transferencia eficiente de información al SGDB. La conexión entre
los modelos interno y externo debe ser realizada en tiempo de ejecución.
Debe comenzar con la reorganización de versiones de producción de la BD.
Además debe reflejar los cambios en la descripción de la BD. Cualquier cambio a la
descripción de programas ha de ser reflejado automáticamente en la librería de
descripción de programas con la ayuda del diccionario de datos.
Debe estar almacenado en un medio de almacenamiento con acceso directo para
la fácil recuperación de información
Niveles de Transparencia
La transparencia se puede entender como laseparación de la semántica de alto nivel de unsistema de las aspectos de bajo nivel relacionados ala implementación del mismo. Un nivel detransparencia adecuado permite ocultar los detallesde implementación a las capas de alto nivel de unsistema y a otros usuarios
Niveles de Transparencia
Fragmentación de datos
HorizontalConsiste del particionamiento en tuplas de una relación globalen subconjuntos, donde cada subconjunto puede contenerdatos que tienen propiedades comunes y se puede definirexpresando cada fragmento como una operación de selecciónsobre la relación global
VerticalLa fragmentación vertical es la subdivisión de atributos engrupos. Los fragmentos se obtienen proyectando la relaciónglobal sobre cada grupo
Distribución de datos
Describe el proceso de decidir dónde localizar los datos. Las estrategias que se tienen son:
Colocación centralizada de los datos, toda la base de datos se guarda en un
sitio.
Colocación particionada de los datos, la base de datos se divide en varias
partes desarticuladas (fragmentos) y se guardan en varios sitios.
Colocación replicada de los datos, se guardan copias de uno o más
fragmentos de la base de datos en varios sitios.
Continuación…
La distribución de los datos se logra mediante la partición de
los datos, replicación de los datos o mediante una combinación
de ambas.
La colocación de los datos está estrechamente relacionada en
como la BD se divide o fragmenta. La colocación de los datos ve
qué datos localizar y en dónde
Continuación…
Los algoritmos de colocación de los datos consideran varios
factores, incluidos:
Objetivos de desempeño y disponibilidad de los datos.
Tamaño, número de filas y el número de relaciones que una entidad
mantiene con otras entidades.
Tipos de transacciones a ser aplicadas a la base de datos.
Los atributos accesados por cada una de las transacciones.
Replicación de datos
Se refiere al almacenamiento de copias de datos en sitiosmúltiples, puede ser para satisfacer requerimientos deinformación, además de mejorar la disponibilidad de los datos yel tiempo respuesta; finalmente estas copias reducen los costosde comunicación y de consulta totales
Los datos replicados se someten a la regla de consistenciamutua, la cual requiere que todas las copias de fragmentos dedatos sean idénticas, esto quiere decir que cuando hay unaactualización de la base de datos se realiza en todos los sitiosdonde hay réplicas
Continuación …
Existen tres escenarios de replicación:
Base de datos totalmente replicada, guarda variascopias de cada fragmento de la base de datos envarios sitios. No es práctica debido la cantidad decarga impuesta al sistema.
Base de datos parcialmente replicada, guardamúltiples copias de algunos fragmentos de la base dedatos en múltiples sitios. Se tiene un buen manejo
Base de datos no replicada, guarda cada fragmentode base de datos en un solo sitio.
Procesamiento deconsultas distribuidas
Metodología del procesamiento de consultas distribuidas.
El procesamiento de consultas tiene como objetivoprincipal transformar una consulta escrita en unlenguaje de alto nivel (SQL) en una estrategia deejecución correcta y eficiente expresada en unlenguaje de bajo nivel (algebra relacional) y ejecutarla estrategia para extraer los datos requeridos
¿Cuáles son las faces típicas del procesamiento de consultas?
Descomposición (Análisis sintáctico y validación)
Optimización
Generación de código
Ejecución
¿Cuáles son las etapas típicas de ladescomposición de consultas?
Análisis
Normalización
Análisis semántico
Simplificación
Reestructuración de la consulta
Estrategias de procesamiento de consultas distribuidas.
El sistema debe de ser capaz de procesarconsultas que hagan referencia a datos situados amas de un nodo
Estrategias de procesamiento …
Realizar las operaciones de selección lo antes posible
Combinar el producto cartesiano con una operación de
selección subsiguiente cuyo predicado represente una
condición de combinación, para formar una operación de
combinación
Utilizar la asociatividad de las operaciones binarias para
reordenar los nodos hoja de modo que los nodos hoja con
las operaciones de selección más restrictivas se ejecuten
primero
Realizar las operaciones de proyección lo antes posible
Calcular una única vez las expresiones posibles