Está en la página 1de 6

Julian Andres Patio Morelo

Base de Datos II
Ingeniera de Sistemas
Universidad de Cartagena Cread Cerete
Qu es una Base de Datos Distribuida?
La necesidad de almacenar datos de forma masiva dio paso a la creacin de los
sistemas de bases de datos.
La base de datos distribuidas originalmente almacenan la informacin de manera
centralizada, pero con el paso del tiempo las necesidades aumentaron y esto
produjo ciertos inconvenientes que no era posible solucionarlos o volverlos
eficientes de la forma centralizada. Estos problemas impulsaron la creacin de
almacenamiento distribuido, los cuales hoy en da proveen caractersticas
indispensables en el manejo de informacin; es decir, la combinacin de las redes
de comunicacin y las bases de datos.
Una Base de Datos Distribuida (BDD) es un conjunto de mltiples bases de datos
lgicamente relacionadas las cuales se encuentran distribuidas entre diferentes
sitios interconectados por una red de comunicaciones, los cuales tienen la
capacidad de procesamiento autnomo lo cual indica que puede realizar
operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida
(SBDD) es un sistema en el cual mltiples sitios de bases de datos estn ligados
por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio
puede acceder los datos en cualquier parte de la red.

En un sistema distribuido de bases de datos se almacenan en varias


computadoras. Los principales factores que distinguen un SBDD de un sistema
centralizado son los siguientes:

Hay mltiples computadores, llamados sitios o nodos.


Estos sitios deben de estar comunicados por medio de algn tipo de red de
comunicaciones para transmitir datos y rdenes entre los sitios.

En otras palabras, cada sitio tiene sus propias bases de datos reales" locales, sus
propios usuarios locales, sus propios SGBD y programas para la administracin de
transacciones y su propio administrador de comunicacin de datos. As pues, el
sistema de bases de datos distribuidas puede considerarse como una especie de
sociedad entre los diferentes SGBD individuales locales. Un nuevo componente de
software en cada sitio realiza las funciones de sociedad necesarias; y es la
combinacin de este nuevo componente y el SGBD ya existente constituyen el
llamado Sistema de Administracin o Gestin de Bases de Datos Distribuidas SGBDD.
Los principios fundamentales de un sistema de datos distribuido son:
1. Autonoma local: Los sitios o posiciones de un sistema distribuido deben
ser autnomos.
2. No dependencia de un sitio central: La no dependencia de un sitio
central, sera lo ideal pero si esto no se logra la autonoma local completa
se vera comprometida.
3. Operacin contina: En un sistema distribuido, lo mismo que en uno no
distribuido, nunca debera haber necesidad de apagar o dejar de funcionar.
4. Independencia con respecto a la localizacin: La independencia con
respecto a la localizacin, permite que los usuarios finales no sepan donde
estn almacenados fsicamente los datos, sino que trabajen como si todos
los datos estuvieran almacenados en su propio sitio local.
5. Independencia con respecto a la fragmentacin: Un sistema tiene
fragmentacin de datos solo si es posible dividir una relacin en partes o
"fragmentos" para propsitos de almacenamiento fsico. La fragmentacin
es deseable por razones de desempeo: los datos pueden almacenarse en
la localidad donde se utilizan con mayor frecuencia, de manera que la
mayor parte de las operaciones sean solo locales y se reduzca el trfico en
la red de cmputo.
6. Independencia de rplica: Un sistema maneja rplica de datos si una
relacin dada se puede representar en el nivel fsico mediante varias copias
rplicas, en muchos sitios distintos.
7. Procesamiento distribuido de consultas: Este manejo de datos en las
consultas permite las consultas eficientes desde diferentes usuarios con las

caractersticas que determine el sistema; la consulta de datos es ms


importante en un sistema distribuido que en uno centralizado.
8. Manejo distribuido de transacciones: Este manejo tiene dos aspectos
principales, el control de recuperacin y el control de concurrencia, cada
uno de los cuales requiere un tratamiento ms amplio en el ambiente
distribuido. En un sistema distribuido, una sola transaccin puede implicar
la ejecucin de programas o procesos en varios sitios (en particular puede
implicar actualizaciones en varios sitios). Por esto, cada transaccin est
compuesta de varios agentes, donde un agente es el proceso ejecutado en
nombre de una transaccin dada en determinado sitio. Y el sistema
necesita saber cundo dos agentes son parte de la misma transaccin.
9. Independencia con respecto al equipo: Las instalaciones de cmputo en
el mundo real por lo regular incluyen varias mquinas de diferentes marcas
comerciales como IBM, DELL, HP, SUN, entre otras; por esta razn existe
una verdadera necesidad de poder integrar los datos en todos esos
sistemas y presentar al usuario "una sola imagen del sistema". Por tanto
conviene ejecutar el mismo SGBD en diferentes equipos, y adems lograr
que esos diferentes equipos se integren en un sistema distribuido.
10. Independencia con respecto al sistema operativo: Es necesario y
conveniente no slo de poder ejecutar el mismo SGBD en diferentes
equipos, sino tambin poder ejecutarlo en diferentes sistemas operativos y
lograr que una versin LINUX y una WINDOWS participen todas en el
mismo sistema distribuido.
11. Independencia con respecto a la red: Si el sistema puede manejar
mltiples sitios, con equipos distintos y diferentes sistemas operativos,
resulta obvia la conveniencia de manejar tambin varios tipos de redes de
comunicacin distintas.
12. Independencia con respecto al SGBD: En la independencia con respecto
a su manejo, se requiere que los SGBD en los diferentes sitios manejen
todos la misma interfaz; no necesitan ser por fuerza copias del mismo
sistema.
Distribucin de los datos
Una de las decisiones ms importantes que el diseador de bases de datos
distribuidas debe tomar es el posicionamiento de la data en el sistema y el
esquema bajo el cual lo desea hacer. Para esto existen cuatro alternativas
principales: centralizada, replicada, fragmentada, e hbrida.

Centralizada

Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD est


centralizada en un lugar y los usuarios estn distribuidos. Este modelo solo brinda
la ventaja de tener el procesamiento distribuido ya que en sentido de
disponibilidad y fiabilidad de los datos no se gana nada.
Replicadas
El esquema de BDD de replicacin consiste en que cada nodo debe tener su copia
completa de la base de datos. Es fcil ver que este esquema tiene un alto costo en
el almacenamiento de la informacin. Debido a que la actualizacin de los datos
debe ser realizada en todas las copias, tambin tiene un alto costo de escritura,
pero todo esto vale la pena si tenemos un sistema en el que se va a escribir pocas
veces y leer muchas, y dnde la disponibilidad y fiabilidad de los datos sea de
mxima importancia.
Particionadas o fragmentadas
Este modelo consiste en que solo hay una copia de cada elemento, pero la
informacin est distribuida a travs de los nodos. En cada nodo se aloja uno o
ms fragmentos disjuntos de la base de datos. Como los fragmentos no se
replican esto disminuye el costo de almacenamiento, pero tambin sacrifica la
disponibilidad y fiabilidad de los datos. Algo que se debe tomar en cuenta cuando
se desea implementar este modelo es la granularidad de la fragmentacin. La
fragmentacin se puede realizar tambin de tres formas:

Horizontal: Los fragmentos son subconjuntos de una tabla (anlogo a un


restringir)
Vertical: Los fragmentos son subconjuntos de los atributos con sus valores
(anlogo a un proyectar)
Mixto: Se almacenan fragmentos producto de restringir y proyectar una
tabla.

Para que una fragmentacin sea correcta esta debe cumplir con las siguientes
reglas:
Debe ser Completa: Si una relacin R se fragmenta en R1,R2, , Rn, cada
elemento de la data de R debe estar en algn Ri.
Debe ser Reconstruible: Debe ser posible definir una operacin relacional que a
partir de los fragmentos obtenga la relacin.
Los fragmentos deben ser Disjuntos: Si la fragmentacin es horizontal entonces
si un elemento e est en Ri este elemento no puede estar en ningn Rk (para k
distinto a i). En el caso de fragmentacin vertical es necesario que se repitan las

llaves primarias y esta condicin solo se debe cumplir para el conjunto de atributos
que no son llave primaria.
Hbrida
Este esquema simplemente representa la combinacin del esquema de particin y
replicacin. Se particiona la relacin y a la vez los fragmentos estn
selectivamente replicados a travs del sistema de BDD.
Consultas distribuidas
Las consultas distribuidas obtienen acceso a datos de varios orgenes de datos
heterogneos. Estos orgenes de datos pueden estar almacenados en el mismo
equipo o en equipos diferentes. Microsoft SQL Serveradmite consultas distribuidas
utilizando OLE DB.
Los usuarios de SQL Server pueden utilizar consultas distribuidas para obtener
acceso a lo siguiente:
Datos distribuidos almacenados en varias instancias de SQL Server. Datos
heterogneos almacenados en varios orgenes de datos relacionales y no
relacionales a los que se obtiene acceso mediante un proveedor OLE DB.
Los proveedores OLE DB exponen datos en objetos tabulares denominados
conjuntos de filas. SQL Server permite hacer referencia a conjuntos de filas desde
proveedores OLE DB en instrucciones Transact-SQL como si fuesen tablas de
SQL Server.
En las instrucciones SELECT, INSERT, UPDATE y DELETE de Transact-SQL, se
puede hacer referencia directa a las tablas y vistas de orgenes de datos externos.
Puesto que las consultas distribuidas usan OLE DB como interfaz subyacente,
stas tienen acceso a los sistemas DBMS relacionales tradicionales con
procesadores de consultas SQL, as como a los datos administrados por orgenes
de datos de diversa capacidad y sofisticacin. Siempre que el software propietario
de los datos los exponga en un conjunto de filas tabular a travs del proveedor
OLE DB, los datos se podrn usar en consultas distribuidas.
Transacciones distribuidas
Las transacciones distribuidas abarcan dos o ms servidores conocidos como
administradores de recursos. La administracin de la transaccin debe ser
coordinada entre los administradores de recursos mediante un componente de
servidor llamado administrador de transacciones. Cada instancia de SQL Server
Database Engine (Motor de base de datos de SQL Server) puede funcionar como

administrador de recursos en las transacciones distribuidas que coordinan los


administradores de transacciones, como el Coordinador de transacciones
distribuidas de Microsoft (MS DTC) u otros administradores que admitan la
especificacin Open Group XA del procesamiento de transacciones distribuidas.
Para obtener ms informacin, consulte la documentacin de MS DTC.
Una transaccin de una sola instancia de Motor de base de datos que abarque
dos o ms bases de datos es, de hecho, una transaccin distribuida. La instancia
administra la transaccin distribuida internamente; para el usuario funciona como
una transaccin local.
En la aplicacin, una transaccin distribuida se administra de forma muy parecida
a una transaccin local. Al final de la transaccin, la aplicacin pide que se
confirme o se revierta la transaccin. El administrador de transacciones debe
administrar una confirmacin distribuida de forma diferente para reducir al mnimo
el riesgo de que, si se produce un error en la red, algunos administradores de
recursos realicen confirmaciones mientras los dems revierten la transaccin. Esto
se consigue mediante la administracin del proceso de confirmacin en dos fases
(la fase de preparacin y la fase de confirmacin), que se conoce como
confirmacin en dos fases (2PC).
Fase de preparacin: Cuando el administrador de transacciones recibe una
solicitud de confirmacin, enva un comando de preparacin a todos los
administradores de recursos implicados en la transaccin. Cada administrador de
recursos hace lo necesario para que la transaccin sea duradera y todos los
bferes que contienen imgenes del registro de la transaccin se pasan a disco. A
medida que cada administrador de recursos completa la fase de preparacin,
notifica si la preparacin ha tenido xito o no al administrador de transacciones.
Fase de confirmacin: Si el administrador de transacciones recibe la notificacin
de que todas las preparaciones son correctas por parte de todos los
administradores de recursos, enva comandos de confirmacin a cada
administrador de recursos. A continuacin, los administradores de recursos
pueden completar la confirmacin. Si todos los administradores de recursos
indican que la confirmacin ha sido correcta, el administrador de transacciones
enva una notificacin de xito a la aplicacin. Si algn administrador de recursos
inform de un error al realizar la preparacin, el administrador de transacciones
enva un comando para revertir la transaccin a cada administrador de recursos e
indica a la aplicacin que se ha producido un error de confirmacin.

También podría gustarte