7. Base de Datos Distribuidas
Inicialmente
podemos decir que las SGBD surgen como respuesta a la distribución que las
empresas ya tiene, al menos de manera lógica (divisiones, Departamentos, etc.)
y que en ocasiones también de manera física (plantas, fabricas). Toso esto nos
lleva a que posiblemente los datos también estén distribuidos, ya que cada
unidad organizacional mantendrá los datos con los que normalmente opere.
A
cada una de estas subdivisiones se les llama “islas de información”, y lo que
hace un sistema distribuido es establecer los “puentes” necesarios para
conectar a esas islas entre sí.
En
definitiva lo que pretende es que la estructura de la base de datos refleje la estructura
de realidad una BD virtual compuesta de varias BD’s “reales” distintas que se
encuentran en varios sitios distintos.
Definición:
Podemos
ver las BDD como un colección de múltiples bases de datos interrelacionadas lógicamente
y distribuidas por un red de computadores, formando un única gran base de
datos.
Tipo
de Base de Datos Distribuidas:
Una
de las decisiones mas importantes que el diseñador de base de datos
distribuidas debe tomar es el posicionamiento de la data en el sistema y el
esquema bajo el cual lo desea realizar. Para esto existen cuatro alternativas principales:
centralizada, replicada, fragmentada e
hibrida.
Centralizada:
Es
muy similar al modelo Cliente/Servidor en el sentido que la BDD esta centraliza
en un lugar y los usuarios están 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 la BDD de replicación consiste en que cada nodo debe tener su copia
completa de la base de datos. Es fácil ver que este esquema tiene un alto costo
en el almacenamiento de la información. Debido a que la actualización delos
datos debe ser realizada en todas las
copias, también 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
donde la disponibilidad y fiabilidad de los datos sea de máxima importancia.
Particionadas:
Este
modelo consiste en que solo hay una copia de cada elemento, pero la información
está distribuida a través delos nodos. En cada nodo se aloja uno o más
fragmentos disjuntos de la base de
datos, como los fragmentos no se replican esto disminuye el costo de almacenamiento,
pero 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 fragmentación. La fragmentación
se realiza también de tres formas:
-Horizontal
-Vertical
-Mixto
-Hibrida:
Este
esquema simplemente representa la combinación del esquema de partición y
replicas. Se particiona la relación y a la vez los fragmentes están selectivamente
replicados a través del sistema de BDD.
Los
Objetivos de una SBDD
1.
Autonomía local:Los sitios en un sistema distribuido deben ser autónomos.
-Autonomía
local, significa que todas las operaciones en un sitio dado están controladas
por este sitio
-Seguridad,
integridad y representación de almacenamiento de los datos locales permanecen
bajo el control y jurisdicción del sitio local.
2.
Independencia de un sitio CentralLa autonomía central implica que todos los sitios deben ser tratados como iguales. Por lo tanto, no debe haber particularmente ninguna dependencia de un sitio”maestro” central para algún servicio central. Tal que todo el sistema dependa de ese sitio central. Asimismo existen algunas razones por las cuales no debería haber un sitio central como por ejemplo:
-el
sitio central puede ser un cuello de botella
-el
sistema seria vulnerable; es decir, si el sitio central falla, también fallara
todo el sistema
3.
el sistema debe estar en continua operación:
Una
ventaja de los sistemas distribuidos es que deben proporcionar mayor
confiabilidad y mayor disponibilidad.
Confiabilidad,
la probalidad de que el sistema esté listo y funcionando en cualquier momento
dado. Los SD no son una propuesta de todo o nada; pueden continuar operando
cuando hay alguna falla en algún componente independiente.
Disponibilidad,
probabilidad de que el sistema esté listo y funcionando continuamente a lo
largo de un periodo especificado, podemos decir q nunca debería ser necesario
apagar el sistema.
4.
Procesamiento de consultas Distribuidas
El
sistema debe ser capaz de procesar
consultas que afecten a datos de más de un sitio y hacerlo de forma optimizada.
Este hecho puede ser considerado como otra razón por la que los sistemas
distribuidos siempre son relacionales.
Distribuciones Homogéneas:
En
los sistemas de bases de datos distribuidas homogéneas todos los sitios emplean
idéntico software de gestión de bases de datos, son conscientes de la
existencia de los demás sitio y acuerdan cooperar en el procesamiento de las
solicitudes de los usuarios.
En
estos sistemas, los sitios locales renuncian a una parte de su autonomía en
cuanto a su derecho a modificar los esquemas o el software de gestión de bases
de datos. Este software también debe cooperar con los demás sitios en el
intercambio de la información sobre las transacciones para hacer posible su procesamiento
entre varios sitios.
Distribuciones Heterogéneas:Las BD’s Heterogéneas o Multibase de Datos son aquellas donde Sitios diferentes utilizan diferentes DBMS’s, siendo cada uno esencialmente autónomo. Es posible que algunos sitios no sean conscientes de la existencia de los demás y quizás proporcionen facilidades limitadas para la cooperación en el procesamiento de transacciones
En las bases de datos distribuidas heterogéneas
Puede que los diferentes sitios utilicen esquemas y software de gestión de sistemas de bases de datos diferentes. Puede que algunos sitios no tengan información de la existencia del resto y que sólo proporcionen facilidades limitadas para la cooperación en el procesamiento de las transacciones. La heterogeneidad se debe a que los datos de cada BD son de diferentes tipos o formatos. El enfoque heterogéneo es más complejo que el enfoque homogéneo. Hoy en día existe la tendencia a crear software que permita
Tener acceso a diversas bases de datos
autónomas preexistentes almacenadas en SGBD heterogéneos.
La Heterogeneidad de las BD es
inevitable cuando diferentes tipos de BD coexisten en una organización que
trata de compartir datos entre éstas.BDD
heterogéneamente:
El tratamiento de la información
ubicada en bases de datos distribuidas heterogéneas exige una capa de software
adicional por encima de los sistemas de bases de datos ya existentes. Esta capa
de software se denomina sistema de bases de datos múltiples. Puede que los sistemas
locales de bases de datos empleen modelos lógicos y lenguajes de definición y
de tratamiento de datos diferentes, y que difieran en sus mecanismos de control
de concurrencia y de administración de las transacciones.
Sistemas de BD
Federadas:
Los sistemas de bases de datos federadas son
sistemas computacionales que hacen disponible la información desde diversas
fuentes, y donde esas fuentes de información pueden ser heterogéneas,
distribuidas y autónomas. Un sistema de bases de datos federadas es una
colección de sistemas de bases de datos cooperativos y autónomos
En un sistema federado los usuarios
tienen acceso a los datos, de los distintos sistemas, a través de una interfaz
común sin embargo, no existe un esquema global que describa a todos los datos
de las distintas bases de datos, en su lugar hay varios esquemas unificados,
cada uno describiendo porciones de bases de datos y archivos para el uso
de cierta clase de usuarios.
El SGBDF no contiene datos, solo
accede a los datos almacenados en la BD componente. Una BDF no es una BD única
distribuida. Pueden usar diferentes esquemas de software. La diferencia en software
es un problema mayor al momento de la transacción de procesamiento. Las
federaciones se forman y desaparecen. No hay un esquema conceptual único. Se
dice que las SBD se federan para dar lugar a las SGBF.
Forma en que
operan:
Los componentes de un SBDF (Sistema de
base de datos federadas) pueden efectuar operaciones locales o bien ejecutar consultas
sobre los datos de la federación y pueden también ser usadas por otros
componentes de la federación.
La autonomía o la integración de los
componentes la controla el administrador del sistema global en colaboración con
los administradores de las bases de datos componente. Este nivel de integración
se da de acuerdo a las necesidades propias de cada componente.
Se debe remarcar que una base de datos
federada no es una base de datos única distribuida, más bien son soluciones para
acceder información depositada en diferentes bases de datos.
Clasificación:
Se pueden clasificar en:
a) Débilmente Acoplados:
Los usuarios deben tratar explícitamente
con las BD, es decir, cuando la responsabilidad de crear y mantener la
Federación recae sobre el usuario y no hay control por parte del sistema Federado
y sus administradores.
b) Fuertemente Acoplados:
la Federación y sus administradores controlan
el acceso y mantienen el sistema, es decir, el administrador tiene la
responsabilidad de crear y mantener la Federación y el control de acceso de los
sistemas de Bases de Datos Componentes. Se pueden clasificar, a su vez, en:
1.
Federación
sencilla:
Permite crear y manejar un solo esquema
federado.
2.
Federación
Múltiple:
Permite la creación y el manejo de varios
esquemas federados.
Multibase
Debido al natural crecimiento y
expansión de las organizaciones, surge la necesidad de tener información de las
diferentes dependencias que los componen, la cual posibilitará la acción y toma
de decisiones de manera rápida y oportuna. Puede ocurrir que en algunas
dependencias ya existan bases de datos (BD) y que no fueron diseñadas como BD
distribuidas. Para tener un manejo integral de éstas BD y otras que se vayan a
crear, una solución posible sería dejar atrás los sistemas existentes, y crear
un nuevo sistema que maneje todo el conjunto de BD (esta solución, sin lugar a dudas,
significaría un enorme costo y esfuerzo).
Otra solución es mantener la autonomía
de los sistemas existentes, es decir, no afectar en nada su funcionalidad y diseño,
pero integrar de alguna manera los datos que se desean compartir; la tecnología
que permite esto, son los sistemas multi-Base de Datos distribuidos, los cuales
crean el Esquema Conceptual Global (ECG) a partir de las BD existentes.
La creación del ECG, es un proceso
complejo que requiere la identificación de esquemas de cada una las BD
participantes, la solución de conflictos de nombres de relación, atributos y
otros.La formulación de consultas sobre una
tabla del ECG es sencilla, pero una consulta sobre varias tablas se complica
por el hecho de que probablemente las BD existentes no fueron diseñadas como BD distribuidas. A
continuación se presenta un algoritmo denominado "Integración de tablas",
para la realización de consultas en sistemas multi-BD, solucionando la
inexistencia de replicación de identificadores (esta replicación en la fragmentación vertical, permite la
reconstrucción delas tablas fragmentadas), considerando que las consultas son
sólo de lectura y no se pueden modificar las BD existentes