viernes, 21 de septiembre de 2012

La transparencia en las bases de datos distribuidas

Abraham Sopla

La transparencia oculta al usuario la parte del cómo están organizadas las bases de datos distribuidas en los diferentes nodos físicos en las que se encuentran, esto hace que el usuario vea a la base de datos distribuida como si fuera una sola base de datos.

anim_replicacion

figura 1. Proceso de replicación de datos. Imagen tomada de http://yaadiira.blogspot.mx/2010/11/base-de-datos.html (Yadira Vega)

 

Dentro de los principales niveles de trasparencia tenemos:

  • Transparencia de Sistemas de gestión de base de datos SGBD
  • Transparencia de transacción
  • Transparencia de concurrencia
  • Transparencia respecto a fallos

Transparencia de Sistemas de gestión de base de datos SGBD

No es necesario para el usuario saber los nombres de los fragmentos menos la ubicación de estos, como se hace la replicación los nombres en cada uno de los nodos.

  1. Transparencia de fragmentación. El usuario no sabe cómo están fragmentadas las tabla en las base de datos. El usuario no necesita especificar el nombre de los fragmentos de las tablas.
  2. Transparencia de la ubicación. Puede darse el caso de que el usuario conozca cómo se encuentran fragmentadas las tablas, pero no conoce y no es necesario que sepa la ubicación de etas.
  3. Transparencia de la replicación. El usuario no sabe que nodos que contienen los fragmentos son replicados, tampoco es necesario que lo sepa para poner en funcionamiento una aplicación.
  4. Transparencia de denominación.  Cada elemento de la base de datos distribuida debe tener un nombre igual en cada uno de los nodos en que se encuentra distribuida, eso hace que el usuario manipule los elementos como si estudiaran centralizados en una sola base de datos.

Transparencia de concurrencia

  1. Los sistemas de gestión de base de datos distribuidas brindan transparencia de concurrencia si es que las transacciones independientes son lógicas y tienen similitud con que se puedan hacer al mismo tiempo, es decir los resultados serían los mismos se hiciere de una sola vez. Esto sucede con la replicación, por ejemplo, dado que este proceso es asíncrono.

Transparencia de transacción

  1. Se garantiza que todas las transacciones mantengan la integridad y coherencia de datos de la base de datos distribuida, es decir en todos sus nodos y fragmentos. Por ejemplo se puede utilizar todos los fragmentos de una tabla – estos fragmentos pueden estar físicamente en diferentes ubicaciones – de una sola vez.
  2. Una transacción internamente está dividida en sub transacciones para ocupar cada uno de los nodos que contenga los datos que se requiere, esto no es visible para el usuario. Este, simplemente envía una sola transacción.

Transparencia respecto a fallos

  1. Garantizar la atomicidad de la transacción, es decir mostrar los resultados si es que todas las sub transacciones no tuvieron error, o parar todo el proceso y algún subproceso tuvo error. Por lo tanto SGBDD debe sincronizar todas las sub transacciones mediante la transacción global

No hay comentarios:

Publicar un comentario