Documente Academic
Documente Profesional
Documente Cultură
1 Introduccin
Una base de datos distribuida (BDD) es un conjunto de mltiples bases de datos
lgicamente relacionadas que se encuentran distribuidas entre diferentes sitios
interconectados por una red de comunicaciones. La informacin que constituye la
base de datos est almacenada en diferentes sitios de la red, y las aplicaciones
que se ejecutan acceden a estos datos en lugares distintos. Por lo tanto, una base
de datos es una coleccin de datos que pertenecen lgicamente a un slo
sistema, pero que fsicamente se encuentra "distribuido" en varios lugares de la
red.
Hay que tener en cuenta que cada sitio anteriormente mencionado es un sistema
de base de datos en s mismo pero que con el resto de sitios que conforman la
base de datos distribuida han decidido trabajar juntos con el fin de que un usuario
de cualquier lugar pueda obtener acceso a los datos de cualquier punto de la red
tal como si todos los datos estuvieran siendo accedidos de forma local.
En consecuencia, la llamada base de datos distribuida es en realidad una especie
de objeto virtual, cuyas partes componentes se almacenan fsicamente en varias
bases de datos "reales" distintas, ubicadas en diferentes sitios. Es una unin
lgica de esas bases de datos.
Se asume que cada localidad ejecuta el mismo software de control de base de
datos distribuida. Si no se cumple esta premisa, ser muy difcil manejar
transacciones globales.
Las localidades pueden estar dispersas, ya sea por un rea geogrfica extensa (a
lo largo de un pas), llamadas redes de larga distancia; o en un rea reducida (en
un mismo edificio), llamadas redes de rea local. Para las primeras se utilizan en
la comunicacin lneas telefnicas, conexiones de microondas y canales de
satlites; mientras que para las segundas se utiliza cables coaxiales de banda
base o banda ancha y fibra ptica.
Una posible clasificacin para organizar los DBMS distribuidos segn su
Arquitectura se base en tres aspectos fundamentales:
Anatoma: El trmino autonoma se refiere a la distribucin del control, y no a la
distribucin de los datos, indicando el grado en el cual un DBMS individual puede
operar independientemente. Se encuentran (entre otros) los siguientes tipos de
sistemas:
Integracin estricta (tight integration): una nica imagen de la base de
datos est disponible para cualquier usuario que quiera obtener
informacin, la cual podra residir en mltiples bases de datos. A vista del
usuario, los datos estn lgicamente centralizados en una base de datos.
Semiautnomos: aquellos DBMS que pueden operar independientemente,
pero que han decidido participar en una federacin para compartir sus
datos. Cada DBMS de dicha federacin determina que partes de su propia
base de datos establece como accesible a usuarios de otros DBMS. No son
totalmente autnomos pues necesitan ser modificados para permitirles el
intercambio de informacin con otros.
Aislamiento total (total isolation): donde el sistema es un DBMS aislado,
que no sabe nada sobre la existencia de otros DBMSs o sobre cmo
comunicarse con ellos. En estos sistemas el procesamiento de las
transacciones que acceden a varias bases de datos es especialmente
difcil, debido a que no existe un control global sobre la ejecucin de los
DBMSs individuales.
Distribucin
Si la autonoma trataba la distribucin del control, la distribucin se centra en la
distribucin propiamente dicha de los datos. Se presentan dos tipos clases de
distribucin:
Cliente/Servidor: concentra la manipulacin de datos en una mquina
servidor que responde a las peticiones de una cliente, que es la encargada
de mostrar la informacin y presentar una interfaz visual.
Caracterizacin de consultas
Lenguaje: Gran parte del trabajo de procesamiento tiene que ver con el lenguaje,
pues los lenguajes relacionales proporcionan muchas oportunidades para la
optimizacin. En BBDD distribuidas se cuenta con un lenguaje relacional ms
primitivas de comunicacin.
Optimizacin: La optimizacin de consultas se suele decantar por minimizar el
tamao de las relaciones intermedias.
Teora de la seriabilidad:
Es una herramienta matemtica que permite encontrar conflictos en la ejecucin
concurrente de transacciones. Desde el punto de vista de la teora de la
seriabilidad una transaccin es una representacin de una ejecucin de
operaciones de lectura y escritura en donde se indica el orden en que se deben
ejecutar estas operaciones. Adems, la transaccin contiene un Commit o un
Abort como la ltima operacin para indicar si la ejecucin que representa termin
con xito o no.
Algoritmos de control de concurrencia
Pesimistas: Asumen que los conflictos entre transacciones son frecuentes.
Sincronizan las transacciones desde el principio de su ejecucin.
Bloqueantes: Los datos compartidos que se encuentran en conflicto son
accedidos por una operacin cada vez. Se aade un cerrojo a los datos
compartidos que se activa cuando el dato va a ser accedido y se desactiva al
abandonarlo. Normalmente de esta activacin y desactivacin se encarga el
DBMS. Si una transaccin quiere acceder a un dato con el cerrojo activado, debe
esperar. Tenemos cerrojos de lectura y escritura.
* Centralizado: El manejo de los cerrojos es responsabilidad de un solo
sitio. A este lugar llegan las peticiones de bloqueo que se responden
positiva o negativamente.
* Copia primaria: Los manejadores de cerrojos se implementan en varios
sitios que se responsabilizan de un conjunto de cerrojos. Ahora cada
localizacin debe saber a qu manejador pedir el bloqueo de cada dato,
pues ya no est todo centralizado.
* De voto: Cada nodo opina sobre si el bloqueo debe ser concedido.
Timestamp: Se selecciona una ejecucin serializable y se ejecuta las
transacciones en consecuencia. Se asigna un timestamp a la lectura de cada
recurso por parte de una transaccin. Lo mismo con las escrituras, de forma que
tenemos tw(x), tr(x), tw(y), tr(y) si una transaccin lee y escribe los recursos x e y.
Los timestamps identifican a las transacciones y permiten su ordenacin. En la
existencia de conflictos, se da prioridad a la transaccin con el timestamp que
indique que es ms antigua.
* Bsico: El manejador de transacciones asigna timestamps a cada
transaccin, determina los lugares donde los datos estn guardados y enva
las operaciones pertinentes a cada uno de los sitios. Si una operacin es
Links
https://basesdedatosavanzadas.wikispaces.com/Distribuidas
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf