Está en la página 1de 18

Bases de Datos Distribuidas

Estructura de contenidos

Mapa conceptual 2
Introducción 3
1. Definición 4
2. Reglas Características 4
3. Diseño de Base de Datos Distribuidas 6
3.1 Consideraciones 6
3.2 Procedimiento 7
3.3 Fragmentación 9
3.3.1 Fragmentación Horizontal 10
3.3.2 Fragmentación Vertical 11
4. Replicación 12
4.1 Características 12
4.2 Objetos de replicación 12
4.3 Grupos de replicación 13
4.4 Los sitios de replicación 13
4.4.1 Un sitio maestro 13
4.4.2 Un sitio de instantáneas 14
4.5 Replicación de Instantáneas 14
4.5.1 Copias de sólo lectura 14
4.5.2 Instantáneas actualizables 15
4.5.3 Usos de la replicación de instantáneas. 15
Glosario 16
Bibliografía 17
Control de Documento 18

1
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas
MAPA CONCEPTUAL

2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

Introducción

La dinámica actual de las organizaciones las ha llevado a asumir la


distribución como un factor de organización, bien sea por que se
encuentran divididas en forma lógica a través de áreas o departamentos,
o porque la división se asume de una forma física a partir de sucursales,
plantas, laboratorios, etc. Siendo los datos factor determinante para la
realización de los diferentes procesos, no es extraño que estos también se
encuentren distribuidos a través de estas áreas.

Lograr de una manera lógica y coherente la integración de la información


producida por las diferentes divisiones organizacionales, requiere que las
bases de datos manipuladas por estas áreas estén disponibles para los
puntos o nodos de este sistema distribuido, de manera que puedan ser
accedidas globalmente, pero de forma transparente para los usuarios
quienes las procesarán localmente.

Se requiere entonces de un robusto sistema que permita gestionar las


actividades necesarias para garantizar entre otros aspectos,
disponibilidad, seguridad, estrategias de almacenamiento y tráfico en la
red de comunicación entre otros aspectos.

Se presenta en este material de estudio, las


principales de características de las Bases de
Datos Distribuidas (BDD), así como los tipos
de fragmentación que pueden
implementarse para generar el
almacenamiento distribuido y las réplicas
como estrategia para aumentar la
disponibilidad del servicio y optimización del
manejo de concurrencia, asegurando un
manejo eficiente de tráfico en la red.

3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

1. Definición

Un Sistema de Base de Datos Distribuida es una colección de sitios,


conectados por medio de una infraestructura de red, en el cual cada sitio
es un sistema de base de datos completo y estos sitios tienen acuerdos
para trabajar juntos, de tal manera que un usuario pueda acceder a los
datos de un sitio como si estuviera accediendo a ellos de forma
local.(Date, 2001)

Las principales razones para utilizar un sistema de bases de datos


distribuidas son:

Compartir Datos: Proporcionar el acceso a los datos sin importar la


ubicación facilita los medios para optimizar procesos que requieren
de esta información.

Autonomía: Posibilidad de realizar operaciones locales o


distribuidas.

Disponibilidad: Garantizar que los datos se encuentren disponibles


aun cuando exista un fallo en algún nodo o sitio, de manera tal que
se deben asumir estrategias de replicación sobre los datos.

2. Reglas Características

Date en 2001, introdujo doce reglas que deben cumplir los Sistemas de
Base de Datos Distribuidas, las cuales se resumen a continuación.

Autonomía local: Aun cuando debe existir un administrador del


sistema global, cada sitio o nodo debe disponer de administración
local, lo cual determina un nivel de autonomía sobre la
administración de los datos.

Independencia de un sitio central: Todos los sitios deben ser


tratados igual y realizar sus propios procesamientos con el fin de
evitar que la caída del nodo central deje por fuera los demás nodos.

Operación continua: Así como en un sistema centralizado, se debe


garantizar que la inclusión de nuevos nodos o mantenimiento del
sistema no impidan la disponibilidad del servicio.

4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

Independencia de Localización: La estructura lógica del sistema,


debe garantizar que se accede a los datos sin que sea necesario para
los usuarios conocer su ubicación.

Independencia de fragmentación: Algunos sistemas optimizan su


despeño al utilizar la fragmentación, que implica que algunas de sus
“tablas” o relaciones se encuentran divididas en diferentes
ubicaciones de disco. El sistema distribuido utiliza principalmente las
bases de datos relacionales por su facilidad para reconstruir
operaciones de fragmentación, todo esto en forma transparente al
usuario final.

Independencia de réplica: Otra estrategia en los sistemas de Base


de datos es la de generar “copias” de los datos almacenadas en
sitios diferentes.

Procesamiento Distribuido de Consultas: Se debe prestar


especial atención a la optimización de consultas, teniendo en cuenta
que su procesamiento se hace en diferentes nodos.

Manejo Distribuido de Transacciones: Una transacción puede


ocasionar el procesamiento en varios nodos y se requiere asegurar la
atomicidad de la transacción, es decir “Todo o Nada”, para lo cual los
diferentes agentes que controlan las transacciones locales deben
estar sincronizados para ejecutar o retroceder las operaciones en
forma simultanea en los diferentes nodos donde se requiera. Otro
aspecto tienen que ver con el control de concurrencia, aquí el
bloqueo de transacciones es la acción que principalmente se utiliza.

Independencia respecto al equipo: Se debe validar que desde


diferentes equipos se pueda ejecutar el DBMS.

Independencia respecto al Sistema Operativo: También se debe


garantizar que se pueden utilizar diversos Sistemas Operativos.

Independencia respecto a la red: Debe garantizarse también que


se pueden utilizar diferentes redes de comunicaciones.

Independencia respecto al DBMS: Es recomendable que el SMBD


que este en cada sitio manipule la misma interfaz sin que sean copias
del mismo sistema.

5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

3. Diseño de Bases de Datos Distribuidas

Un Sistema de Base de Datos Distribuida es una colección de sitios,


conectados por medio de una infraestructura de red, en el cual cada sitio
es un sistema de base de datos completo y estos sitios tienen acuerdos
para trabajar juntos, de tal manera que un usuario pueda acceder a los
datos de un sitio como si estuviera accediendo a ellos de forma
local.(Date, 2001)

3.1. Consideraciones

Para definir la estructura organizacional en una base de datos distribuida


es necesario tener en cuenta los siguientes aspectos:

• Necesidades sobre los datos compartidos


• Tipo de acceso a los datos
• Profundidad en la información

Modo de acceso
Dinámico

Información parcial

Estático Información total

Datos
Nivel de conocimiento
Datos y programas

Compartición

6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

En primer lugar, se debe analizar si se requiere compartir aplicaciones o


sólo datos, ya que los recursos requeridos serían diferentes. Si las
aplicaciones y datos son independientes en cada nodo no se requiere de
distribuir datos o programas, se podría pensar en replicación de datos sólo
por aspectos de disponibilidad y seguridad. Para las situaciones en que se
comparten datos únicamente las estrategias de replicación y
fragmentación pueden utilizarse y en el caso que se compartan tanto
datos como aplicaciones se debe proveer la comunicación entre
aplicaciones para la obtención de datos remotos.

El segundo factor corresponde al acceso de los usuarios, identificándose


dos tipos: acceso estático y acceso dinámico: El acceso estático es aquel
donde el usuario siempre solicita datos de la misma manera, controlado la
mayoría de veces por las aplicaciones que ejecuta. El acceso dinámico
corresponde a la posibilidad de estar ejecutando diferentes sentencias
determinadas por los requerimientos del momento.

El tercer factor es el nivel de conocimiento al que se tiene acceso, se


requiere acceso parcial a los datos o el acceso es total, esto se consigue
revisando las políticas de servicio y la estructuración de usuarios y roles
del sistema.

3.2. Procedimiento

Existen dos alternativas a seguir para el diseño de una BDD, la estrategia


ascendente y la descendente. En la primera se parte de un numero de
bases de datos y aplicaciones que requieren ser distribuidas para lo cual
se debe generar un diseño global de administración y comunicación. Y la
segunda donde se planifican desde lo global hasta llegar a cada uno de los
nodos o sitios.

Sin importar la estrategia adoptada es necesario realizar los siguientes


procesos:

Se inicia con el análisis de los requisitos que definirán el entorno del


sistema basados en los procesos y datos requeridos por los usuarios de
la base de datos, y por los parámetros de rendimiento, seguridad,
disponibilidad y flexibilidad definidos para el sistema.

Se procede a continuación a definir el diseño de las vistas y el diseño


conceptual, que se desarrollan en forma paralela. El diseño de las vistas
define las interfaces para los usuarios y en el diseño conceptual se

7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

especifican las entidades, relaciones y aplicaciones a las que se debe


tener acceso.

El esquema conceptual global y la información respecto al acceso a los


datos proveen la información para diseñar la distribución, donde se
definirán los esquemas conceptuales locales a cada nodo o sitio. A nivel de
distribución local es común utilizar la fragmentación para dividir las
relaciones en otras menores que pueden ser alojadas en otros sitios. Este
tema se afrontará en el siguiente numeral de este documento.
En el diseño físico, se especifican los esquemas conceptuales locales sobre
los dispositivos de almacenamiento físico disponibles para lo cual se
revisan los esquemas conceptuales definidos y la información de acceso a
los fragmentos.

Como siempre un último proceso es el de la evaluación, en el cual se


monitorea y ajusta el diseño con la revisión periódica de los requisitos,
accesos y estadísticas de incidentes y uso.

Objetivos del
Análisis de requisitos sistema

Diseño conceptual Diseño de vistas

Esquema conceptual Información de


Esquemas externos
global acceso

DISEÑO DE LA DISTRIBUCIÓN

Esquemas conceptuales
locales

Diseño físico

Esquema físico

Monitorización y
ajustes

8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

3.3. Fragmentación

Una Base de Datos puede ser fragmentada para mejorar el rendimiento y


simplificar su mantenimiento. Las consultas que tienen acceso a tablas
que han sido divididas pueden ejecutarse con mayor rapidez al contar con
menos datos a recorrer o al tener procesamiento simultáneo por varios
procesadores; Por otra parte las tareas de copias de seguridad o
reindexación pueden ejecutarse más rápido al contar con menos datos.

Otra estrategia es la de particionar sin dividir las tablas, esto se consigue


cuando se almacenan las tablas en unidades de disco independientes, lo
cual hace que si se requiere utilizar estas tablas para una misma consulta,
varias cabezas de lectura de disco accederán a los datos de manera
simultánea, recorriendo más rápido los datos. Se recomienda retomar los
conceptos de Raid, vistos anteriormente.

Dir. PC1 Dir. PC2 Dir. PC3 Dir. PC4


ID 1 ID 1 ID 1 ID 1

Servidor
ID 2 ID 2 ID 2 ID 2
... ... ... ...
ID n ID n ID n ID n

D2 2

Usuario PC1 PC2 PC3 PC4

Dir. PC2 ID 1 Dir. PC1 ID 1 Dir. PC1 ID 1 Dir. PC1 ID 1


Dir. PC3 ID 2 Dir. PC3 ID 2 Dir. PC2 ID 2 Dir. PC2 ID 2
Dir. PC4 ... Dir. PC4 ... Dir. PC4 ... Dir. PC3 ...
Dir. Server ID n Dir. Server IDn Dir. Server ID n Dir. Server ID n

9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

La fragmentación también tiene inconvenientes, especialmente cuando


una vista se alimenta de datos que han sido particionados, requiriendo de
tareas de unión y combinación, así como la verificación de dependencias,
que debería revisar en más de una ubicación.

Existen dos tipos de fragmentación o división: horizontal y vertical, La


división o fragmentación horizontal actúa sobre las filas, dividiendo la
tabla en subtablas que contienen un subconjunto de las filas de la tabla
inicial. La fragmentación vertical, se basa en las columnas de la tabla para
efectuar la división.

3.3.1. Fragmentación Horizontal

Llave Atributo 1 Atributo 2 Atributo 3 Atributo 4


Llave Atributo 1 Atributo 2 Atributo 3 Atributo 4

Llave Atributo 1 Atributo 2 Atributo 3 Atributo 4

Llave Atributo 1 Atributo 2 Atributo 3 Atributo 4

Llave Atributo 1 Atributo 2 Atributo 3 Atributo 4

Las particiones horizontales permiten dividir una tabla en varias


tablas con el mismo número de columnas, pero con menor número de
filas.

El análisis de los datos será el que determine la forma en que se han


de dividir los datos, con mucha frecuencia se utiliza el parámetro de
tiempo o en su ausencia columnas de referencia como “sucursales”,
“ciudades”, etc. De cualquier forma se requiere el menor número de
ellas, ya que una gran cantidad de consultas e UNION para obtener el
conjunto completo, puede afectar el rendimiento.

10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

3.3.2. Fragmentación Vertical

Llave Atributo 1 Atributo 2 Atributo 3

Llave Atributo 1 Atributo 3

Llave Atributo 2

Dividir una tabla en varias utilizando el particionamiento vertical, hace


que existan varias tablas con la misma cantidad de filas que la
original, pero donde se varia el numero de columnas o atributos de la
tabla.

Este proceso puede ser realizado a partir de la normalización de datos


que permitiría extraer columnas redundantes en otras tablas,
accediendo a ellas a través de una llave relacional. Otra alternativa es
la división de columnas en nuevas tablas, con la ayuda de una llave
que relacione los registros particionados.

Optimizan las consultas al recorrer menos datos, ya que no se tiene


que recorrer el total de las columnas (especialmente si sólo se
consultan algunas con mucha frecuencia), pero si se excede en el
número de particiones se puede afectar el rendimiento.

11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

4. Replicación

4.1 Características

Otra de las estrategias asociadas a las bases de datos es la de replicación,


que consiste en copiar y mantener objetos de la base de datos en
múltiples bases de datos. Se debe asegurar que los cambios que se
aplican en un sitio se registran localmente antes de ser aplicados en los
sitios remotos donde se comparten los mismos datos.

Las siguientes son las principales características:

Los nodos o sitios que conforman el sistema distribuido no


comparten memoria, ni dispositivos de almacenamiento. Lo cual
determina que físicamente se encuentran en lugares separados.
Existen dos tipos de transacciones, las transacciones locales que son
las que acceden a los datos que se encuentran en el lugar donde se
inicio la transacción, y las transacciones globales que son las que
acceden a datos que están ubicados en sitios diferentes al del inicio
de la transacción.
Se proporciona un acceso rápido y local a los datos y se protege la
disponibilidad de las aplicaciones.

4.2 Objetos de replicación

Se denomina objeto de replicación a las bases de datos existentes en


varios servidores de un sistema de base de datos distribuida. La
instalación de la replicación le permite “duplicar” las tablas y los objetos
de apoyo, tales como vistas, disparadores de base de datos, paquetes,
índices y sinónimos.
Moscú
B
Bogotá
Sídney
C

Lectura y escritura Datos replicados

12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

4.3. Grupos de replicación

Para facilitar la adecuada gestión de los objetos de replicación se requiere


la creación de “Grupos de Replicación”, allí se organizan los objetos de
esquemas que sean necesarios para garantizar el correcto funcionamiento
de una aplicación o servicio.

Sin embargo es necesario aclarar que dentro de un grupo de replicación


puede existir más de una base de datos, adicionalmente los objetos de
una base de datos pueden pertenecer a varios grupos de replicación.

Grupo de replicación

Conexión
Propuestas/Precios.xlm

Miembro
Proyectos/Espec.doc

Proyectos Proyectos

Carpetas
replicadas

Propuestas Propuestas

4.4 Los sitios de replicación

Existen dos tipos de sitios básicos donde pueden existir los grupos de
replicación, dependiendo de la estrategia de copia a utilizar.

4.4.1. Un sitio maestro

En este caso se mantiene una copia completa de todos los objetos de


un grupo de replicación. Todos los sitios principales en un entorno de
replicación con múltiples maestros se comunican directamente entre
sí para difundir los datos y los cambios de esquema en el grupo de
replicación.

13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

Se define un sitio maestro para cada grupo de replicación que se usa


como punto de control y gestiona el grupo y los objetos accesados por
el grupo.

4.4.2 Un sitio de instantáneas.

En este caso sólo se tienen todos o un subconjunto de “instantáneas”


del objeto del grupo de replicación. Sin embargo, éstos deben ser
simples instantáneas con una correspondencia uno a uno a los objetos
en el sitio principal.

4.5 Replicación de Instantáneas.

Contiene una réplica parcial o total de una tabla maestra de destino desde
un único punto en el tiempo. Una instantánea puede ser de sólo lectura o
de escritura.

4.5.1 Copias de sólo lectura.

En una configuración básica, pueden proporcionar acceso de sólo


lectura a la tabla de datos que se origina a partir de un "maestro" o
en el sitio principal. Las aplicaciones pueden consultar los datos de las
réplicas de datos locales para evitar el acceso a la red
independientemente de la disponibilidad.

Sin embargo, las aplicaciones en todo el sistema deben acceder a los


datos en el sitio principal cuando las actualizaciones son necesarias.

Aplicaciones
del cliente

Actualización Remota

Consulta Local

Tabla Tabla Maestra


Replicada Modificable

Red

Tabla de datos replicada

14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

4.5.2 Instantáneas actualizables.

En una configuración más avanzada, puede crear una instantánea


actualizable que permite a los usuarios insertar, actualizar y eliminar
filas de la tabla maestra. Una instantánea actualizable también puede
contener sólo un subconjunto del conjunto de la tabla maestra de
destino.

Las instantáneas actualizables se basan en tablas en un sitio principal


que ha sido configurado para permitir la replicación con múltiples
maestros. De hecho, las instantáneas actualizables deben ser parte
de un grupo de instantáneas que se basa en un grupo maestro en un
sitio maestro.

4.5.3 Usos de la replicación de instantáneas.

La réplica de instantáneas es útil para varios tipos de aplicaciones.

Descarga de la información: Las instantáneas de solo lectura son


útiles como una forma de replicar bases de datos enteras o
información de alta carga. Por ejemplo, cuando el rendimiento de
sistemas de alto volumen de procesamiento de transacciones es
crítico, puede ser ventajoso para mantener una base de datos
duplicada y aislar las consultas exigentes de las aplicaciones.

Distribución de la Información: A partir de una tabla maestra se


tienen copias con las que se trabajan y estas réplicas son
actualizadas una vez al día.

Transporte de información: se pueden utilizar las réplicas de sólo


lectura para mover datos de una base de datos de producción de
procesamiento de transacciones a un almacén de datos.

Entornos desconectados: Se utilizan las réplicas para facilitar


procesos donde no se cuenta con conexión permanente, como en el
caso de los vendedores “puerta a puerta”, donde cada vendedor
debe visitar a los clientes regularmente con un ordenador portátil y
pedidos en una base de datos personal mientras están
desconectados de la red corporativa y del sistema de base de datos
centralizada. A su regreso a la oficina, cada vendedor debe enviar
todos los pedidos a una base de datos centralizada, de la empresa.

15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
GLOSARIO
Bases de Datos Distribuidas

Base de Datos Distribuida: Es una colección de sitios, conectados por


medio de una infraestructura de red.

Disponibilidad: Garantizar que los datos se encuentren disponibles


aun cuando exista un fallo en algún nodo.

Independencia: Todos los sitios deben ser tratados igual y realizar sus
propios procesamientos.

Replicación: Proceso de copiar y mantener objetos de BD en múltiples


BD que componen un sistema de base de datos distribuida.

16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
RECURSOS BIBLIOGRÁFICOS
Bases de Datos Distribuidas

Wales, J., Sanger, L. (2001). Wikipedia La enciclopedia libre.


Recuperado el 20 de julio de 2012 de http://es.wikipedia.org

A. Silberschatz, H. F. Korth. Fundamentos de Bases de Datos, 4ta


EdiciónCapítulo 19: Bases de datos distribuidas.

Elmasri, R.,Navathe, S. Fundamentos de sistemas de Bases de Datos


- 5ta Ed. Pearson Addison Wesley.

C.J. Date. Introducción a los sistemas de bases de datos. 7ª Edición.


Capitulo 20. Bases de datos distribuidas. Ed. Prentice Hall.

17 4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Bases de Datos Distribuidas

Control de documento
Construcción Objeto de Aprendizaje
Bases de Datos Distribuidas

Desarrollador
de contenido Ana Yaqueline Chavarro
-Experto temático-

Asesor pedagógico Rafael Neftalí Lizcano Reyes

Eulises Orduz Amézquita


Producción Multimedia
Victor Hugo Tabares Carreño

Programador Francisco José Lizcano Reyes

Líder expertos temáticos Ana Yaqueline Chavarro Parra

Líder línea de producción Santiago Lozada Garcés

Atribución, no comercial, compartir igual

Este material puede ser distribuido, copiado


y exhibido por terceros si se muestran los
créditos. No se puede obtener ningún -
beneficio comercial y las obras derivadas
tienen que estar bajo los mismos téminos
de licencia que el trabajo original.

18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

También podría gustarte