Arquitectura y Fragmentación en Sistemas de Gestión de Bases de Datos Distribuidas

Clasificado en Informática

Escrito el en español con un tamaño de 4,64 KB

Componentes de un SGBD Distribuido

El sistema de gestión de una base de datos distribuida (SGBDD) es un software que consigue que la distribución de los datos sea transparente para los usuarios y aplicaciones que interactúan con la base de datos.

Consta de los siguientes componentes, que tienen las funciones asociadas que se detallan a continuación:

Componentes Clave de un SGBD Distribuido

  • Procesador de datos locales: Se encarga de la gestión local de los datos de forma similar a como lo hace un SGBD centralizado. Ejecuta transacciones locales y gestiona la concurrencia en el acceso y la recuperación del sistema ante errores a nivel local.
  • Directorio global (Diccionario): Es análogo al diccionario de datos de las bases de datos centralizadas. Registra dónde y cómo se guardan los datos, las características de los mismos, cómo se realiza el acceso a esos datos y otras cuestiones físicas de la base de datos.
  • Procesador de aplicaciones distribuidas: Se encarga de gestionar las funciones distribuidas. Accede al diccionario para obtener la información sobre la ubicación de los datos y procesa las peticiones que afectan a más de una sede para generar el plan de ejecución distribuido.
  • Software de comunicaciones: No es parte directa del SGBDD, pero provee al procesador de aplicaciones distribuidas de los servicios de comunicaciones necesarios para realizar su tarea.

Técnicas de Fragmentación de Datos

Para realizar la fragmentación, es necesario establecer la condición que permite la división en fragmentos.

Los cuatro motivos principales para fragmentar el esquema relacional global son:

  1. Es útil porque las bases de datos, y sobre todo las bases de datos distribuidas, funcionan con vistas.
  2. Se obtiene mayor eficiencia al almacenarse los datos cerca de donde más se emplean.
  3. Aumenta el grado de concurrencia, ya que de esta manera una transacción se puede dividir para operar sobre los fragmentos.
  4. Proporciona más seguridad ante el acceso a datos por personas no autorizadas, ya que los datos no necesarios en un nodo no se encontrarán en ese nodo.

Condiciones para una Fragmentación Correcta

Para asegurar que la base de datos no sufrirá cambios semánticos que conlleven una pérdida de información o de lógica, es necesario que se verifiquen estas tres condiciones:

  • Completitud: Todos los datos de una relación fragmentada deben estar en alguno de los fragmentos.
  • Disyunción: Los datos que aparecen en un fragmento no deben aparecer en otro, a no ser que se trate de una clave primaria en una fragmentación vertical.
  • Reconstrucción: Siempre se debe poder reconstruir la base de datos original a partir de todos los fragmentos.

Tipos de Fragmentación

Las técnicas de fragmentación se dividen en:

Fragmentación Vertical

Divide la relación en conjuntos de columnas. Debe cumplir que:

  • La unión de todas las proyecciones nos da todas las columnas de la relación.
  • Cada una de las proyecciones debe contener la clave de la relación global.

Fragmentación Horizontal

Divide una relación en subconjuntos de tuplas o registros, cada uno de ellos con un significado lógico. Se suele emplear para separar bloques completos de datos y tenerlos en los lugares donde más se necesitan. Hay dos tipos:

  • Fragmentación Horizontal Primaria (FHP): Es una selección de la relación global y se realiza a partir de un predicado (Pi) que establece la semántica de la fragmentación. Se denota por: Ri = σ Pi(R)
  • Fragmentación Horizontal Derivada (FHD): Se realiza en función de los predicados definidos sobre otras relaciones o fragmentos, porque la relación R depende de la relación Q. Esto se expresa como: Ri = R α Q

Fragmentación Mixta

Es el resultado de aplicar un doble proceso de fragmentación. Hay varias posibilidades:

  • Fragmentación Vertical-Horizontal (VH): Se aplica primero la vertical y luego la horizontal sobre cada fragmento.
  • Fragmentación Horizontal-Vertical (HV): En este caso, se aplica primero la horizontal y después la vertical a cada fragmento.
  • Celdas: Se aplican ambas fragmentaciones simultáneamente sobre la relación, formando una red de celdas. Es la única en la que todos los fragmentos obtenidos son iguales.

Entradas relacionadas: