Bases de Datos Distribuidas: Conceptos y Funcionamiento

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,84 KB

Bases de Datos Distribuidas

La evolución de los sistemas de información y el crecimiento no planeado de la información dentro de las organizaciones ha traído dispersión de los datos en sitios locales o geográficamente dispersos. La necesidad de integrar y compartir dicha información implica el nacimiento de una nueva tecnología capaz de conformar de manera consistente la información de las organizaciones.

Una de las tecnologías que trabaja en el problema de integración de información es la de bases de datos distribuidas (BDD).

Diferencia con Bases de Datos Centralizadas

En una base de datos centralizada, los equipos están conectados a un servidor centralizado, donde está almacenada la base de datos. La interacción con el usuario, como la aplicación, residen en el cliente, siendo el servidor el depositario de los datos. En un sistema centralizado, la caída o desconexión del servidor provoca la caída total del sistema.

Modelo Cliente-Servidor en BDD

Una Base de Datos Distribuida es una base de datos construida sobre una red de ordenadores y no en una máquina aislada. La información que constituye la base de datos está almacenada en diferentes sitios en la red, y las aplicaciones que se ejecutan acceden a los datos en distintos sitios.

Una Base de Datos Distribuida, entonces, es una colección de datos que pertenecen lógicamente a un solo sistema, pero se encuentra físicamente esparcido en varios "sitios" de la red.

Un sistema de base de datos distribuida se compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red de comunicaciones, en el cual:

  • Cada sitio es un sistema de base de datos en sí mismo.
  • Los sitios han convenido en trabajar juntos (si es necesario) con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos los datos estuvieran almacenados en el sitio propio del usuario.

Funcionamiento Interno de una BDD

En consecuencia, la llamada "base de datos distribuida" es en realidad una especie de objeto virtual, cuyas partes componentes se almacenan físicamente en varias bases de datos "reales" distintas ubicadas en diferentes sitios. De hecho, es la unión lógica de esas bases de datos. En otras palabras, cada sitio tiene sus propias bases de datos "reales" locales, sus propios usuarios locales, sus propios DBMS (Sistema de Gestión de Base de Datos) y programas para la administración de transacciones (incluyendo programas de bloqueo, bitácoras, recuperación, etc.), y su propio administrador local de comunicación de datos (administrador DC).

En particular, un usuario dado puede realizar operaciones sobre los datos en su propio sitio local exactamente como si ese sitio no participara en absoluto en el sistema distribuido (al menos, ése es uno de los objetivos). Así pues, el sistema de bases de datos distribuidas puede considerarse como una especie de sociedad entre los DBMS individuales locales de todos los sitios. Un nuevo componente de software en cada sitio (en el aspecto lógico, una extensión del DBMS local) realiza las funciones de sociedad necesarias; y es la combinación de este nuevo componente y el DBMS ya existente lo que constituye el llamado "sistema de administración de bases de datos distribuidas" (DDBMS, distributed database management system).

Conceptos Básicos

El sistema de administración de Base de Datos Distribuida (DDBMS) está formado por:

  • Las transacciones
  • Los administradores de base de datos distribuidos de todas las computadoras.

Tal Sistema Gestor de Bases de Datos Distribuidas (DDBMS) en un esquema genérico implica un conjunto de programas que operan en diversas computadoras. Estos programas pueden ser subsistemas de un producto único DDBMS, concesionado por un solo fabricante, o también pudiera resultar de una colección de programas de fuentes dispares:

  • Algunos considerados por fabricantes
  • Algunos otros escritos en casa.

Un administrador de base de datos (DTM) es un programa que recibe solicitudes de procesamiento de los programas de consulta o de transacciones y a su vez las traduce en acciones para los administradores de la base de datos.

Una función importante del DTM es coordinar y controlar dichas acciones.

Cada sitio tiene sus propias bases de datos "reales" locales, sus propios usuarios locales, sus propios DBMS y programas para administración de transacciones y su propio administrador local de comunicación de datos.

La diferencia principal entre los sistemas de bases de datos centralizados y los distribuidos es que en los primeros, los datos residen en una sola localidad, mientras que, en los últimos, se encuentran en varias localidades. Cada localidad puede procesar transacciones locales, es decir, aquellas que solo acceden a datos que residen en esa localidad. Una localidad puede participar en la ejecución de transacciones globales, es decir, aquellas que acceden a datos de varias localidades, ésta requiere comunicación entre las localidades.

  • Una transacción local es la que accede a cuentas en la localidad individual donde se inició.
  • Una transacción global accede a cuentas de una localidad distinta a la localidad donde se inició o a cuentas de varias localidades diferentes.

Ejemplo Práctico

Considere un banco que tiene tres sucursales. En cada sucursal, un computador controla las terminales de la misma y el sistema de cuentas. Cada computador con su sistema de cuentas local en cada sucursal constituye un "sitio" de la BDD; las computadoras están conectadas por la red. Durante las operaciones normales, las aplicaciones en las terminales de la sucursal necesitan solo acceder la BD de la misma. Como solo accede la misma red local, se les llaman aplicaciones locales.

Desde el punto de vista tecnológico, aparentemente lo importante es la existencia de algunas transacciones que acceden a información en más de una sucursal. Estas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales será considerada como una característica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales.

Una típica transacción global sería una transferencia de fondos de una sucursal a otra. Esta aplicación requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualización en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones globales es una tarea difícil. En el ejemplo, las computadoras estaban geográficamente en diferentes puntos; también, BDD pueden ser construidas en una red local.

Entradas relacionadas: