Base de Datos Distribuidas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 35

Base de Datos Distribuidas

Benjamín Martínez Martínez

[email protected]
Base de Datos Distribuidas

Db2 Monterrey
México
Microsoft Access

Red de
comunicaciones

Chiapas
Guerrero SqlServer

Oaxaca
MySql Postgres
Conceptos básicos
BDD  Base de Datos Distribuidas

Es un conjunto de múltiples bases de datos lógicamente


relacionadas las cuales se encuentran distribuidas entre diferentes
sitios 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án


ligados por un sistema de comunicaciones, de tal forma que, un
usuario en cualquier sitio puede accesar los datos en cualquier
parte de la red exactamente como si los datos estuvieran
almacenados en su sitio propio
Continuación…
SMBDD  Un sistema de manejo de bases de datos
distribuidas

Es aquel que se encarga del manejo de la BDD y proporciona


un mecanismo de acceso que hace que la distribución sea
transparente a los usuarios. El término transparente
significa que la aplicación trabajaría, desde un punto de
vista lógico, como si un solo SMBD ejecutado en una sola
máquina, administrara esos datos.

SBDD  Un sistema de base de datos distribuida

Es entonces el resultado de la integración de una base de


datos distribuida con un sistema para su manejo.
Objetivos de las BDD
Autonomía local.
Independencia de un sitio central.
Operación continua.
Transparencia de Localización.
Transparencia de Fragmentación
Transparencia de repetición.
Procesamiento distribuido de consultas.
Procesamiento de transacciones distribuidas.
Transparencia de "hardware".
Transparencia de Sistema operativo
Transparencia de red.
Transparencia de SMBD
Disciplinas de estudio
Los ambientes en los que se encuentra con mayor frecuencia
el uso de las bases de datos distribuidas son:

Cualquier organización que tiene una estructura


descentralizada.
Casos típicos de lo anterior son: organismos
gubernamentales y/o de servicio público.
La industria de la manufactura, particularmente, aquella
con 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.
Arquitectura de BDD
Arquitecturas de memoria compartida.

Consisten de diversos procesadores los cuales accesan una


misma memoria y un misma unidad de almacenamiento
(uno o varios discos). Algunos ejemplos de este tipo son las
computadoras Sequent Encore y los mainframes IBM4090 y
Bull DPS8 (Figura 1)

P1 …… Pn M
BD Pn Procesador
Figura 1. Arquitectura de memoria compartida MMemoria
Continuación…
Arquitecturas de disco compartido

Consiste de diversos procesadores cada uno de ellos con su


memoria local pero compartiendo una misma unidad de
almacenamiento (uno o varios discos). Ejemplos de estas
arquitecturas son los cluster de Digital, y los modelos IMS/VS
Data Sharing de IBM

P1 Pn
…… BD
BD
BD
Pn Procesador
M1 Mn MMemoria

Figura 2. Arquitectura de disco compartido


Continuación…
Arquitecturas nada compartido

Consiste de diversos procesadores cada uno con su propia


memoria y su propia unidad de almacenamiento. Aquí se
tienen los clusters de estaciones de trabajo, la computadoras
Intel Paragon, NCR 3600 y 3700 e IBM SP2

P1 Pn

BD …… BD
BD
BD BD
BD
M1 Mn Pn Procesador
MMemoria

Figura 3. Arquitectura nada compartido


Diseño de BDD
Consideraciones de Diseño de BDD
Existen varios factores relacionados a la construcción de
bases de datos distribuidas que no se presentan en bases de
datos centralizadas. Entre los más importantes se
encuentran los siguientes:

1 Diseño de la Base de Datos Distribuida (unidad II)

2 Procesamiento de consultas (Unidad III)

3 Control de concurrencia (Unidad IV)

1 Confiablidad (Unidad IV)


Diseño de la BDD

En el diseño de bases de datos distribuidas se debe


considerar el problema de como distribuir la información
entre diferentes sitios. Existen razones organizacionales las
cuales determinan en gran medida lo anterior. Sin embargo,
cuando se busca eficiencia en el acceso a la información, se
deben abordar dos problemas relacionados.
Primero, como fragmentar la información.
Segundo, como asignar cada fragmento entre los diferentes
sitios de la red.
Continuación …

En el diseño de la BDD también es importante considerar si


la información está replicada, es decir, si existen copias
múltiples del mismo dato y, en este caso, como mantener la
consistencia de la información. Finalmente, una parte
importante en el diseño de una BDD se refiere al manejo del
directorio. Si existen únicamente usuarios globales, se debe
manejar un solo directorio global. Sin embargo, si existen
también usuarios locales, el directorio combina información
local con información global
La organización de los sistemas de Base de Datos
Distribuidas se puede analizar en 3 dimensiones:

Modo de Acceso

Estático Dinámico

Información
total
Información
Parcial
Nivel de
Datos
Conocimiento
Datos y
programas

Compartición
Cada aplicación y sus datos se ejecutan en una
Inexistente máquina sin comunicación con otros programas o
Compartición datos

Compartición Cada máquina posee sus propias aplicaciones


Nivel de

De datos locales pero se comparten los datos


Compartición Las aplicaciones locales en una máquina pueden
de datos y invocar servicios en otras y además comparten los
programas datos

Características Estático El modelo de acceso a los datos no varía con el tiempo


de acceso Dinámico El modelo de acceso a los datos varía con el tiempo

Sin información Los diseñadores no tienen información de cómo


conocimiento

acceden los usuarios a los datos


Con información Los diseñadores no poseen toda la información de
Nivel de

parcial cómo acceden los usuarios a los datos


Con información Los diseñadores poseen toda la información de cómo
total acceden los usuarios a los datos
Estrategias de Diseño

Las estrategias son las utilizadas en una BD relacional, pero


añadiendo un paso de diseño de la distribución
A la hora de abordar el diseño de una Base de Datos
Distribuida podremos optar principalmente por dos tipos de
estrategias:

la estrategia ascendente (botton-up) y

la estrategia descendente(top-down)


La estrategia ascendente (botton-up). En este caso se partirá de
los esquemas conceptuales locales y se trabajaría para llegar a
conseguir el esquema conceptual global. Después se pasaría al
diseño de distribución. Esta estrategia suele ser utilizada para
integrar varias bases de datos centralizadas existentes.

la estrategia descendente(top-down). Se parte de cero y se


avanza en el desarrollo del trabajo. Los pasos a realizar
mediante esta estrategia son:
Análisis de requisitos
Diseño de Vistas
Diseño conceptual
Diseño de la distribución
Fragmentación
Asignación
Diseño físico
Monitorización y ajuste
Diccionario de Datos
Es el lugar donde se deposita información acerca de
todos los datos que forman la BD. Es una guía en la
que se describe la BD y los objetos que la forman.

El diccionario contiene las características lógicas de


los sitios donde se almacenan los datos del sistema,
incluyendo nombre, descripción, alias, contenido y
organización. Identifica los procesos donde se
emplean los datos y los sitios donde se necesita el
acceso 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 la
separación de la semántica de alto nivel de un
sistema de las aspectos de bajo nivel relacionados a
la implementación del mismo. Un nivel de
transparencia adecuado permite ocultar los detalles
de implementación a las capas de alto nivel de un
sistema y a otros usuarios
Niveles de Transparencia
Fragmentación de datos
Horizontal
Consiste del particionamiento en tuplas de una relación global
en subconjuntos, donde cada subconjunto puede contener
datos que tienen propiedades comunes y se puede definir
expresando cada fragmento como una operación de selección
sobre la relación global
Vertical
La fragmentación vertical es la subdivisión de atributos en
grupos. Los fragmentos se obtienen proyectando la relación
global 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 sitios
múltiples, puede ser para satisfacer requerimientos de
información, además de mejorar la disponibilidad de los datos y
el tiempo respuesta; finalmente estas copias reducen los costos
de comunicación y de consulta totales

Los datos replicados se someten a la regla de consistencia


mutua, la cual requiere que todas las copias de fragmentos de
datos sean idénticas, esto quiere decir que cuando hay una
actualización de la base de datos se realiza en todos los sitios
donde hay réplicas
Continuación …
Existen tres escenarios de replicación:
Base de datos totalmente replicada, guarda varias
copias de cada fragmento de la base de datos en
varios sitios. No es práctica debido la cantidad de
carga impuesta al sistema.
Base de datos parcialmente replicada, guarda
múltiples copias de algunos fragmentos de la base de
datos en múltiples sitios. Se tiene un buen manejo
Base de datos no replicada, guarda cada fragmento
de base de datos en un solo sitio.
Procesamiento de
consultas distribuidas
Metodología del procesamiento de
consultas distribuidas.

El procesamiento de consultas tiene como objetivo


principal transformar una consulta escrita en un
lenguaje de alto nivel (SQL) en una estrategia de
ejecución correcta y eficiente expresada en un
lenguaje de bajo nivel (algebra relacional) y ejecutar
la 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 la
descomposició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 procesar


consultas que hagan referencia a datos situados a
mas 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
[email protected]

También podría gustarte