Está en la página 1de 25

Bases de datos

distribuidas
Introduccin y conceptos bsicos

Complicaciones introducidas por


la distribucin
Replicacin

en un ambiente distribuido

Escoger una de las copias en caso de


recuperacin.
Asegurarse que la actualizacin se refleje en
cada una de las copias.
Si

algn sitio o enlace de comunicacin


falla mientras se ejecuta una actualizacin,
el sistema debe asegurarse que los efectos
se reflejen en los datos.
La sincronizacin de transacciones en
mltiples sitios es ms difcil que en los
sistemas centralizados.

CUESTIONES
(PROBLEMAS) DE
DISEO

Diseo de bases de datos


distribuida
Dnde

se deben establecer
(sitios) las bases de datos y las
aplicaciones que corren sobre
ella?
Existen dos alternativas para
establecer o posicionar los datos
en un diseo distribuido.

Diseo de bases de datos


distribuidas
Particionada

(no replicada): La base de


datos se divide en un nmero de
particiones disjuntas las cuales se
posicionan en diferentes sitios.
Replicada
Completamente replicada (completamente
duplicada): donde la base de datos entera se
almacena en cada sitio.
Parcialmente replicada (parcialmente
duplicada): donde cada particin se
almacena en ms de un sitio, pero no en
todos.

Diseo de bases de datos


distribuidas
Los

problemas fundamentales de
diseo son:
Fragmentacin: separacin de una
base de datos en particiones
llamadas fragmentos.
Distribucin: La distribucin ptima
de los fragmentos.

Administracin del directorio


distribuido
Metadatos.
Los

problemas relacionados con


el directorio distribuido son muy
similares a los presentados con
los DDBSs.

Procesamiento de consultas
distribuidas
Algoritmos

que analizan
consultas y las convierten en una
serie de operaciones de
manipulacin de datos.
Elegir estrategias para ejecutar
consultas sobre la red con el
mejor costo-eficiencia.
Factores: distribucin de los
datos, costo de la comunicacin,
carencia de suficiente

Control de concurrencia
distribuido
Sincronizacin

de accesos a la base de
datos distribuida.
Adems de preocuparse por la integridad
de los datos, debe preocuparse de la
consistencia mutua.
Las clases de soluciones son:
Pesimista: Sincronizar la ejecucin de las
peticiones de los usuarios antes de que
comiencen a ejecutarse.
Optimista: Ejecutar las peticiones y despus
checar si la ejecucin ha comprometido la
consistencia de la base de datos.

Control de concurrencia
distribuido
Los

principios fundamentales que


pueden utilizarse en las clases de
soluciones son:
Bloqueo (locking): Basado en la
exclusin mutua de accesos a
objetos de datos.
Sello de tiempo (timestamping): La
ejecucin de las transacciones se
ordenan con sellos de tiempo.

Administracin de puntos
muertos (deadlocks) distribuidos
Los

usuarios compiten por un


conjunto de recursos (datos en
este caso), lo cual puede resultar
en un deadlock (punto muerto) si
el mecanismo de sincronizacin
est basado en bloqueo.

Confiabilidad de los
DDBSs

varios sitios inoperables o


inaccesibles las bases de datos
en los sitios operables
consistentes y actualizadas
Sistema se recupera DDBS se
recupera DDBS actualiza los
sitios cados
falla

Replicacin
Rplica:

copia de objeto de datos.


Implementar protocolos que aseguren
la consistencia de las rplicas.
Protocolo entusiasta: Fuerzan las
actualizaciones a todas las rplicas antes
que la transaccin se complete.
Protocolo lento: La transaccin actualiza
una copia (maestro) desde donde las
actualizaciones se propagan hacia las
dems copias una vez que se completa la
transaccin.

Relacin entre los


problemas

ARQUITECTURA

Arquitectura de los
DDBSs
Componentes

identificados
Funciones de los componentes
identificadas
Relaciones e interacciones entre
componentes definidas

ANSI / SPARC

Arquitectura centralizada
genrica

Los DDBSs se clasifican sobre 3 caractersticas

MODELOS DE
ARQUITECTURA DE
DDBSS

Modelos de arquitectura de
DDBSs

Autonoma
Se

refiere a la distribucin del control


(no de los datos).
Las operaciones locales no son afectadas
por su participacin en el sistema
distribuido.
La manera en que procesa y optimiza
consultas no son afectadas por la ejecucin
de consultas globales que acceden a
mltiples bases de datos.
La consistencia de las operaciones o del
sistema no se comprometen cuando se
deja o se une al sistema distribuido.

Autonoma
Las

dimensiones de autonoma son las


siguientes:
Autonoma de diseo: Utilizan modelos de
datos y administracin de transacciones
que prefieran.
Autonoma de comunicacin: Libre de
decidir que tipo de informacin desea
compartir con otros DBMSs o con el
software que controla su ejecucin.
Autonoma de ejecucin: Puede ejecutar
las transacciones de la manera que desee.

Autonoma
Clasificacin

de autonoma

Integracin estrecha (tight integration):


Existe una nica imagen de toda la base de
datos que puede ser compartida y
encontrarse en mltiples bases de datos, y
un administrador de datos tomar el control
de las peticiones de todos los usuarios.
Semiautnomo: deciden participar en una
federacin para compartir sus datos locales.
Aislamiento total: no conocen la existencia
de otros DBMSs ni la manera de
comunicarse con ellos.

Distribucin (datos)
Cliente

/ servidor.
Punto a punto.
Sistemas de Bases de datos
mltiples.

Heterogeneidad
La heterogeneidad puede ocurrir de
varias maneras en sistemas distribuidos,
desde la heterogeneidad del hardware y
las diferencias en los protocolos de redes
hasta las variaciones en las
administraciones de datos.
Modelos de datos
Lenguajes de bsqueda
Protocolos de administracin de
transacciones.