1. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
2010
BASE DE DATOS
DISTRIBUIDAS
BASE DE DATOS
Son aquellos fragmentos que se encuentran almacenados en lugares distintos.
Estos sitios constan con una computadora y una DBMS (Sistema de gestión de
base de datos), para administrar la base local situada conectándose entre sí
aquellos fragmentos de una base distribuida por medio de una red de
comunicación.
JORGE LUIS NARVAEZ NUÑEZ
6TO SEMESTRE ING. SISTEMAS
UNIVERSIDAD ESTATAL DE MILAGRO
Personal
6TO ING. SISTEMAS UNEMI
2. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
BASE DE DATOS DISTRIBUIDAS
En el mundo actual, diversos tipos de personas, en varios lugares a nivel mundial, querrán compartir un
gran base de datos, estas empresas que tienen la finalidad de garantizar el compartimiento de los archivos
de los usuarios optan por dividir esta base de datos en unas más pequeñas denominados fragmentos, los
cuales se pueden colocar en distintas ubicaciones.
Entonces llamamos base de datos distribuidas a los fragmentos que se encuentran almacenados en lugares
distintos. Estos sitios constan con una computadora y una DBMS (Sistema de gestión de base de datos),
para administrar la base local situada conectándose entre sí aquellos fragmentos de una base distribuida
por medio de una red de comunicación.
Al momento de surgir una petición de consulta de cualquier sitio, el administrador general de la base de
datos, analiza esta petición y determina qué tipo de base de datos distribuidas (fragmentos) se puede
necesitar.
Las bases de datos locales pueden conectarse físicamente de diversas formas:
Red totalmente conectada
Red prácticamente conectada
Red con estructura de árbol
Red de estrella
Red de anillo
Las principales diferencias entre estos tipos de configuraciones podemos tener lo siguiente:
Costo de la instalación: El costo de conectar físicamente las localidades del sistema
Costo de la comunicación: El costo del tiempo y el dinero que interviene en enviar un mensaje
desde una localidad a otra.
Fiabilidad: La frecuencia con que falla una línea de comunicación o una localidad.
Disponibilidad: La posibilidad de acceder a la información a pesar que podrían existir los fallos en
algunas localidades o líneas de comunicación.
Se han llegado a necesitar y desarrollar diversas implantaciones:
SDD-1 (Sistema para la distribución de base de datos) de la corporación americana: sistemas
relacionales en distintos lugares conectados por medio de las redes de comunicación
IMS / MSC (Sistema de gestión de la información / Múltiples sistemas de acoplamiento) de IMB: el
MSC permite la intercomunicación de dos o más sistemas de base de datos de IMS
CICS / ISC (Sistema del control de la información del cliente / Sistema de comunicación
Internacional) de IBM: ISC conecta dos o más sistemas CICS
Construcción de una base de datos distribuidos
Base distribuida particionada: una base de datos global se divide en tres partes (A, B, C), donde
cada una de las bases se almacena en lugares diferentes.
6TO ING. SISTEMAS UNEMI
3. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
Base de datos multiplicada y distribuida: las bases de datos se duplican en cada sitio, con el
objetivo de reducir costos de comunicación y aumentar el desempeño del sistema, eliminando la
necesidad de la transmisión de datos en las diferentes ubicaciones.
Este sistema es raro por su costo de las replicas de sus bases y el proceso de la actualización de
los datos
Distribución de la base de datos combinando replicas y particiones: en la actualidad este tipo
de distribución se emplea con mayor frecuencia. El archivo se divide basándose en el patrón que
usa, es decir los datos se guardan en los lugares donde puede ser accesado con más frecuencia,
pero si requiere un dato en más de un sitio, este fragmento puede estar almacenado en cada uno
de estos sitios.
Los usuarios que utilizan este tipo de sistema no necesitan saber que el almacenamiento se
encuentra distribuido en distintos sitios, o que algunos de estos fragmentos se encuentran repetidos
en algunos sitios. El objetivo principal de este tipo de distribución es proteger a los programas de
cualquier tipo de cambio cuando los fragmentos se mueven de un lugar a otro, todo este tipo de
procedimientos se los llama transparencia de la ubicación y transparencia de la réplica.
Ventajas de las bases de datos distribuidas
Compartimiento de datos: los usuarios de una base pueden tener acceso a los datos de otra base.
Por ejemplo desde una oficina de una empresa matriz en el caso del gerente puede tener acceso a
los datos de todos sus trabajadores y de otros también en una empresa sucursal de la misma.
6TO ING. SISTEMAS UNEMI
4. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
PLANTA A
ALMACEN
PLANTA B
PLANTA C
Autonomía: existe un administrador del sistema responsable del nivel de seguridad global cada
base tiene un cierto grado de control, en cada base hay otro administrador local que puede tener a
llegar un cierto nivel de autonomía diferente
Disponibilidad: si en sistema de base de datos distribuidos llega a fallar un fragmento los otros
fragmentos pueden seguir funcionando. Los datos también pueden llegar a duplicarse en los
fragmento llegando a encontrar los datos con más facilidad.
El sistema debe detectar el fallo y tomar medidas necesarias para reparar el fallo, en este momento
el sistema no debe utilizar la base dañada, una vez arreglado el fallo debe necesitar un mecanismo
para integrarla al sistema de nuevo, pero con menos complicaciones.
Desventajas de las bases de datos distribuidas
Costo del desarrollo del software: sistema complejo para mantener la coordinación y estabilidad
entre los fragmentos provoca que este desarrollo sea costoso
Mayor probabilidad de errores: como las bases locales funcionan en paralelo, es más difícil
asegurar el funcionamiento correcto y los procedimientos de recuperación de fallos del sistema.
Mayor sobrecarga de procesamiento: el intercambio de archivos, mensajes y la ejecución de
algoritmos que constituyen el funcionamiento de las bases locales da como resultado una
sobrecarga que no se da en los sistemas centralizados.
Actualización de los datos duplicados: algunos datos pueden estar duplicados en varios sitios,
por lo tanto este tipo de actualización se debe llegar a cabo en todos los lugares que exista datos
duplicados
Transparencia de ubicación: la mayoría de este tipo de sistemas no alcanzan su completa
transferencia de su ubicación, por lo tanto requieren de la ayuda del usuario, transfiriendo archivos
para su procesamiento local.
Optimización de los procesos de consulta: cuando existe una consulta en un sistema distribuido,
existe muchas manera de que esta consulta se divida en subpreguntas para recuperar los datos en
las diferentes bases locales, este tiempo varía dependiendo de la ruta donde este el procedimiento
Diseño de la base de datos distribuidas
El diseño de un sistema de base de datos distribuido implica la toma de decisiones sobre la ubicación de los
programas que accederán a la base de datos y sobre los propios datos que constituyen a esta base. La
ubicación de los programas que accedieron a la base no debería tener un excesivo problema porque se
puede tener una copia de ellos en cada máquina de la red.
Tradicionalmente se ha clasificado a los sistemas de bases de datos distribuidos en tres dimensiones: el
nivel de compartición, las características de acceso a los datos y el nivel de conocimiento de las
características de acceso.
6TO ING. SISTEMAS UNEMI
5. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
Transparencia y autonomía
Es importante que el sistema reduzca al mínimo la necesidad de que el usuario se dé cuenta de cómo está
almacenada una relación. El sistema puede ocultar los detalles de la información en la red. Esto se
denomina transparencia de la red. La transparencia de la red se relaciona con la autonomía local. La
transparencia de la red es el método por el cual los usuarios del sistema pueden ignorar los detalles del
diseño distribuido. La autonomía local es el método por el cual el diseñador o administrador de una localidad
pueden ser independientes del resto del sistema distribuido.
Nombre de los datos.
Repetición de los datos.
Fragmentación de los datos.
Localización de las bases locales y sus copias.
Almacenamiento distribuido de datos
Replica: el sistema consiste en varias copias iguales, donde cada copia se guarda en una base
diferente, lo que significa la réplica de los datos.
Disponibilidad
Distribución de la base de datos combinando replicas y particiones
Actualización de los datos duplicados
Fragmentación de datos: si una base se encuentra fragmentada, esta base se dividirá en
numerosos fragmentos. Los fragmentos contienen suficiente información para permitir la
reconstrucción de la base original.
Fragmentación horizontal: divide la base asignando a cada división a uno o varios
fragmentos.
Fragmentación vertical: divide la base de un modo especial, igual que una
descomposición, implica el concepto de varios subconjuntos.
Fragmentación mixta: la base se divide por medio de una serie de relaciones de
fragmentos, donde cada fragmento tiene como resultado los procedimientos de las
fragmentaciones horizontales y mixtas
Replica y fragmentación de datos: la réplica y fragmentación de datos se puede aplicar de
manera continua, es decir de una pequeña división que anteriormente se ha fragmentado también
se puede hacer una réplica y estos fragmentos también se pueden volver a fragmentar.
Transparencia de la red
Los datos se pueden guardar de muchas maneras en el sistema de bases distribuidas, pero también es de
suma importancia que este sistema disminuya cualquier información que los usuarios necesitan saber cómo
se guarda el dato en la base. Entonces el sistema pude ocultar este tipo de detalle de la distribución de los
datos en la red a esto se lo llama transparencia de red:
Denominación de los elementos de datos: todos los elementos de los datos, las divisiones, y las
copias de las bases, deben tener nombres únicos, pero en este tipo de sistemas hay que
asegurarse de que dos procedimientos no utilicen el mismo nombre para distintos elementos de
datos. Cada copia y cada fragmento de un elemento deben tener también un nombre único, es muy
importante diferenciar cuales copias y fragmentos de las bases del mismo elemento.
Transparencia y actualizaciones: es muy importante asegurar que todas las copias de un
elemento o una base y que todas sus fragmentaciones se actualicen constantemente, pero también
puede que exista muchos problemas si hay constantemente acceso a alguna base en especifica, lo
que da lugar a que se actualice una base antes que otra.
Transparencia de localización
Si el sistema es transparente en cuanto a la repetición y fragmentación de las bases donde se ocultará al
usuario gran parte del esquema de la base de datos distribuida. Sin embargo, el componente de los
nombres que identifican a la base obliga al usuario a darse cuenta del hecho de que el sistema está
distribuido.
6TO ING. SISTEMAS UNEMI
6. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
La transparencia de localización se logra creando un conjunto de claves o alias para cada usuario. Así, el
usuario puede referirse a los datos usando nombres sencillos que el sistema los traduce a nombres
completos.
Con el uso de los alias, no será necesario que el usuario conozca la localización física de un dato. Además,
el administrador de la base de datos puede cambiar un dato de una base a otra sin afectar a los usuarios.
Modelo de transacciones distribuidas
El acceso a los diferentes elementos de las bases en los sistemas de bases distribuidas se puede realizar
mediante transacciones donde se debe conservar las propiedades ACID ( conjunto de características que
se necesitan para que una serie de instrucciones puedan ser consideradas como transacciones ) Hay que
tener en cuenta dos tipos de transacciones.
Transacciones locales: tienen total acceso y actualización de datos en una sola de las bases
locales
Transacciones globales: tienen total acceso y actualización en varias bases de datos en varias
bases de datos locales
Arquitectura del sistema: Cada procedimiento tiene su propio gestor de transacciones locales,
cuya función es asegurar las propiedades ACID, los diferentes gestores de transacciones ayudan
para la ejecución de las transacciones globales, por lo tanto cada procedimiento del sistema
contiene en si dos subsistemas:
Gestor de transacciones: gestiona la ejecución de las transacciones que tienen el total
acceso a los datos guardados en la base local, pero tomando en cuenta que las
transacciones de este tipo solo pueden ser locales.
El coordinador de transacciones: coordina la ejecución de las diferentes transacciones
tanto locales como globales.
Cada gestor de transacciones es responsable de conservar un registro con la finalidad de poder
recuperar información en caso de emergencia.
Modos de fallos del sistema: los sistemas de bases de datos distribuidos pueden tener los mismos
fallos que los sistemas de base de datos centralizados, por ejemplo: errores de software, hardware,
o fallos graves del disco, pero existen otros fallos muy importantes en este tipo de sistema.
Fallos de un procedimiento
Perdida de mensajes: es muy usual en este tipo de sistemas distribuidos, utilizan protocolos
de control de la transmisión, como TCP/IP.
Fallos de un enlace de comunicaciones
División de la red
6TO ING. SISTEMAS UNEMI
7. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
Robustez de las bases de datos distribuidas
Para que este tipo de sistema sea robusto debe primeramente detectar los fallos, volver a su configuración
del sistema para que pueda recuperarse el enlace. Los diferentes tipos de errores se tratan cada uno de
manera diferente.
La perdida de mensaje se trata mediante la retransmisión
La retransmisión de un mensaje se trata por medio de un enlace
El sistema puede que detecte que se ha producido un tipo de fallo, pero no será posible determinar el tipo
de fallo y si estaban activadas las transacciones en las bases averiadas en el momento del error, hay que
abortarlas, es decir es necesario que aborten este tipo de transacciones lo antes posible, porque pueden
que exista bloqueos sobre las bases que sigan activos.
Si la base que se encuentra averiada es el servidor central de alguna base local, se debe hacer un tipo se
elección para determinar el nuevo servidor, pero la reincorporación de una nuevas base al sistema requiere
que se tome precauciones. Cuando se recupera una base averiada, se debe realizar una serie de
procedimientos para actualizar la base y mostrar los cambios realizados mientras estaba inactiva, y si la
base tenia copias de algunos de los elementos, deberá obtener los valores actualizados de dichos datos, y
sobre todo asegurarse que recibirá las actualizaciones posteriores.
La reincorporación de base puede llegar a ser muy complicado, una solución para reincorporación de la
base es detener temporalmente todo el sistema, mientras se arregla el error, pero una detención temporal
del sistema puede llegar a ocasionar problemas, por tal motivo se han desarrollado técnicas que permitan
que las bases averiadas se reincorporen mientras se actualiza los datos correspondientes.
6TO ING. SISTEMAS UNEMI
8. BASE DE DATOS DISTRIBUIDAS JORGE LUIS NARVAEZ NUÑEZ
FUENTES DE INFORMACIÓN
Sistemas de base de datos, administración y uso
Alice Y. H.
Fundamentos de base de datos
Tercera edición
Abraham Silberschatz, Henry F. Korth, S. Sudarshan
http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
http://www.slideshare.net/jguerra42/base-de-datos-distribuidas-presentation
6TO ING. SISTEMAS UNEMI