miércoles, 14 de noviembre de 2012

Base de Datos Distribuidas, Homogeneas , Heterogeneas , Multibase e Intregales


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 Central

La 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


3 comentarios:

  1. alguien sabe el codigo para hacer la replicacion homogenea y heterogenea en sybase, sqlite comandos para sql?

    ResponderEliminar
  2. excelente material, es importante sin embargo ubicar la fuente que se uso como referencia para hacer un estudio más profundo

    ResponderEliminar