Arquitectura y Estrategias de Implementación de Bases de Datos Distribuidas


Bases de Datos Distribuidas (BDD)

Un sistema de base de datos distribuido consiste en un conjunto de bases de datos lógicamente relacionadas y distribuidas sobre una red de ordenadores.

Un **SGBDD** es el software que gestiona las BDD y suministra mecanismos de acceso que hacen la distribución *transparente al usuario*.

Requisitos de un Sistema Distribuido

Un sistema será distribuido si cumple que:

  • Los distintos **nodos** están informados sobre los demás.
  • Aunque algunas tablas estén **almacenadas** solo en algunos nodos, estos comparten un **esquema global común**.
  • Cada nodo proporciona un entorno de ejecución de **transacciones**, tanto locales como globales.
  • Los nodos se ejecutan en el mismo software de gestión distribuida.

Características

  • Los datos deben estar físicamente en más de un ordenador.
  • Las sedes están interconectadas mediante una red.
  • Los datos deben estar lógicamente integrados, tanto local como remotamente.
  • En una única operación se puede acceder a datos que se encuentran en más de una sede.

Ventajas y Desafíos de las BDD

Ventajas

  • Los datos se almacenan donde se gestionan y reflejan la organización de la empresa.
  • Mejora la **fiabilidad y disponibilidad**.
  • Permite compartir los datos, pero con **control local**.

Ventajas Organizativas

  • Adaptación a la organización de la institución.
  • Almacena los datos donde son generados y/o usados.
  • Proporciona **autonomía local**, controlándose desde cada nodo.

Ventajas Económicas

Reducción de costos de comunicación y de creación de pequeños sistemas.

Desventajas y Desafíos

La solución es más compleja:

  • Diseño de modelo de datos y diseño complejo del sistema; software más costoso.
  • Coordinación de sedes y dependencia de redes de comunicación, lo que genera sobrecarga.
  • Políticas de seguridad y detección de caídas de nodos.
  • Dependencia de más elementos, además de la poca madurez en productos comerciales orientados a replicación.
  • Aumento de costes y necesidad de **personal especializado**.
  • Falta de estándares y metodología.

Componentes de una BDD

  • BD locales.
  • SGBDD.
  • Red de comunicaciones.
  • Diccionario o directorio local.

Responsabilidades del SGBDD

  • Mantener la **transparencia** de la red, de la fragmentación y de la duplicación de datos.
  • Procesamiento de consultas distribuidas y definición de estrategias.
  • Control de concurrencia e integridad de la BDD.
  • Capacidad de recuperar y devolver a las bases de datos implicadas en un fallo.

Componentes Principales del SGBDD

  • Procesador de datos locales (PDL).
  • Procesador de aplicaciones distribuidas (PAD).
  • Software de comunicaciones.

Topologías de las BDD

Según la Homogeneidad

  • **Homogéneos:** Todos los SGBD son iguales.
  • **Heterogéneos:** Los SGBD son distintos.

Según la Autonomía Funcional

  • **Federados:** Total autonomía federal.
  • SGBDD sin ninguna autonomía federal.

Según la Autonomía Organizativa

  • **Autonomía total:** Las decisiones se toman a nivel local.
  • Organización centralizada.

Diseño de BDD: Estrategias

Estrategia TOP-DOWN (De arriba abajo)

En un principio, el diseño no existe y el diseñador necesita identificar tablas, pero también su ubicación y la necesidad de **replicación**.

Estrategia BOTTOM-UP (De abajo arriba)

Cuando existen diseños previos e integración de esquemas existentes al esquema global.

Estrategias de Almacenamiento Distribuido

Dada una relación R:

  • **Réplica:** Copia de R en emplazamiento diferente.
  • **Fragmentación:** R dividida en fragmentos diferentes almacenados en sitios diferentes.
  • **Réplica y Fragmentación:** R dividida en fragmentos que son réplicas en sitios diferentes.

Fragmentación y Replicación

Razones para Fragmentar

  • **UTILIZACIÓN:** Se trabaja con vistas.
  • **EFICIENCIA:** Los datos se almacenan donde más se utilizan.
  • **PARALELISMO:** Las transacciones pueden dividirse en subconsultas que operan con fragmentos.
  • **SEGURIDAD:** Los datos no necesarios localmente no se almacenan, evitando el uso por usuarios no autorizados.

Razones y Estrategias de Replicación

Mejora el **rendimiento de recuperación** de consultas globales, aunque la *desventaja* es la actualización de todas las réplicas.

Estrategias de Replicación

  • Replicación total.
  • Asignación no redundante.
  • Replicación parcial.

Procesamiento Global de Consultas (CQP)

El objetivo es procesar las consultas globales, para lo cual debe elegir a qué sede solicitar las subconsultas y recoger los datos devueltos por todas las fuentes.

Optimización de Consultas mediante Semi-Join (SEMIJOIN)

  • Reducción del número de tuplas antes de ser transferidas a otro nodo.
  • Se envía la columna con la que se va a realizar el *join* de una relación R al nodo donde se encuentra la otra relación S, y allí se realiza el *join*.
  • Se envían las columnas implicadas en el resultado al nodo inicial y se vuelve a realizar el *join* con R.
  • Solo se transfieren las columnas de R que intervienen en la realización del *join* en una dirección y el subconjunto de columnas de S resultantes en la otra.

Técnicas de Control Distribuido de Integridad de Datos

Control de Concurrencia Distribuido

Existe una copia de cada elemento de información como copia distinguida en una sola sede (generalmente el coordinador de transacciones), y este se encarga del bloqueo y desbloqueo.

Confirmación Distribuida

Se solicita bloqueo a todas las sedes con réplica del elemento, y cada sede realiza el bloqueo y decide si da o no permiso.

Recuperación Distribuida

En cada sede, el gestor de transacciones deberá ser capaz de recuperar ante fallos leyendo los ficheros de *log*.

La gestión de recuperación se dificulta si utilizamos dos o más PCs, ya que deben ser capaces de conectarse con otras sedes y saber qué acciones se tomaron en las transacciones que fallaron.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *