exposicion para dentro de 8 dias.

3. Almacenamiento de bases de datos distribuidas

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos y geográficos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamientos autónomos, estos permiten realizar operaciones locales o distribuidas. 

Un Sistema de Bases de Datos Distribuida (SBDD)

1​ es un sistema en el cual múltiples sitios de bases de datos están ligados entre si por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local. 

Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes: 

  • Hay múltiples computadores, llamados sitios o nodos.
  • Estos nodos deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.

Ambientes de bases de datos distribuidas

Las BDD pueden ser:

  • Homogéneas: Todos los sitios tienen el mismo SGBD, son conscientes de la existencia de los demás sitios y cooperan en el procesamiento de las solicitudes. Los sitios locales mantienen un mismo esquema y SGBD.
  • Heterogéneas: Cada sitio puede tener un SGBD distinto así como esquemas diferentes. Puede que algunos sitios no conozcan a otros. Puede que solo ofrezcan facilidades limitadas para la cooperación en el procesamiento de transacciones.

Sistema de Gestión de Base de Datos Distribuida

Un sistema de gestión de bases de datos distribuidas (SGBDD) es un Sistema de Gestión de bases de datos que gestiona la BD distribuida

Funcionalidades de un SGBDD

  • Accede a sitios remotos y transmite consultas y datos a través de varios sitios mediante una red de comunicación.
  • Almacena el esquema de distribución y replicación de los datos en el catalogo del sistema.
  • Establece las estrategias de ejecución de las consultas y las transacciones que acceden a los datos en más de un sitio.
  • Decide sobre cual copia de los datos replicados acceder.
  • Mantiene la consistencia de las copias de los datos replicados.
  • Realiza la recuperación ante los fallos.

Hardware

El hardware que compone una base de datos distribuida se reduce a servidores y la red.

Sistema manejador de base de datos distribuida (DDBMS): 

Este sistema está formado por las transacciones y los administradores de la base de datos distribuidos. Un DDBMS implica un conjunto de programas que operan en diversas computadoras, estos programas pueden ser subsistemas de un único DDBMS de un fabricante o podría consistir de una colección de programas de diferentes fuentes. 

Administrador de transacciones distribuidas (DTM): 

Este es un programa que recibe las solicitudes de procesamiento de los programas de consulta o transacciones y las traduce en acciones para los administradores de la base de datos. Los DTM se encargan de coordinar y controlar estas acciones. Este DTM puede ser propietario o desarrollado en casa. 

Distribución de los datos

Una de las decisiones más importantes que el diseñador de bases de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cuál lo desea hacer. Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada, e híbrida.

Centralizada

Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD está centralizada 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 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 de los 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 dónde la disponibilidad y fiabilidad de los datos sea de máxima importancia.

Particionadas o fragmentadas

Este modelo consiste en que solo hay una copia de cada elemento, pero la información está distribuida a través de los 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 también 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 puede realizar también de tres formas:

Horizontal: Los fragmentos son subconjuntos de una tabla (análogo a un restringir)

Vertical: Los fragmentos son subconjuntos de los atributos con sus valores (análogo a un proyectar)

Mixto: Se almacenan fragmentos producto de restringir y proyectar una tabla.

Para que una fragmentación sea correcta esta debe cumplir con las siguientes reglas:

  • Debe ser Completa: Si una relación R se fragmenta en R1,R2, ... , Rn, cada elemento de la data de R debe estar en algún Ri.
  • Debe ser Reconstruible: Debe ser posible definir una operación relacional que a partir de los fragmentos obtenga la relación.
  • Los fragmentos deben ser Disjuntos: Si la fragmentación es horizontal entonces si un elemento e está en Ri este elemento no puede estar en ningún Rk (para k distinto a i). En el caso de fragmentación vertical es necesario que se repitan las llaves primarias y esta condición solo se debe cumplir para el conjunto de atributos que no son llave primaria.


Inicio de las bases de datos distribuidas

Originalmente se almacenaba la información de manera centralizada, pero con el paso del tiempo las necesidades aumentaron y esto produjo ciertos inconvenientes que no era posible solucionarlos o volverlos eficientes de la forma centralizada. Estos problemas impulsaron la creación de almacenamiento distribuido, los cuales hoy en día proveen características indispensables en el manejo de información; es decir, la combinación de las redes de comunicación y las bases de datos.


Evolución

Hay varios factores que han hecho que las bases de datos evolucionen a bases de datos distribuidas. En el mundo de los negocios se ha dado una globalización y a la vez las operaciones de las empresas son cada vez más descentralizadas geográficamente. También el poder de las computadoras personales aumentó y el costo de los Mainframes ya no tenía sentido. Además la necesidad de compartir datos ha hecho que crezca el mercado de las bases de datos distribuidas.

Ventajas

  • Refleja una estructura organizacional - los fragmentos de la base de datos se ubican en los departamentos a los que tienen relación.
  • Autonomía local - un departamento puede controlar los datos que le pertenecen.
  • Disponibilidad - un fallo en una parte del sistema solo afectará a un fragmento, en lugar de a toda la base de datos.
  • Rendimiento - los datos generalmente se ubican cerca del sitio con mayor demanda, también los sistemas trabajan en paralelo, lo cual permite balancear la carga en los servidores.
  • Economía - es más barato crear una red de muchas computadoras pequeñas, que tener una sola computadora muy poderosa.
  • Modularidad - se pueden modificar, agregar o quitar sistemas de la base de datos distribuida sin afectar a los demás sistemas (módulos).

Desventajas

  • Complejidad - Se debe asegurar que la base de datos sea transparente, se debe lidiar con varios sistemas diferentes que pueden presentar dificultades únicas. El diseño de la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida, por lo cual no podemos pensar en hacer joins que afecten varios sistemas.
  • Economía - la complejidad y la infraestructura necesaria implica que se necesitará una mayor mano de obra.
  • Seguridad - se debe trabajar en la seguridad de la infraestructura así como cada uno de los sistemas.
  • Integridad - Se vuelve difícil mantener la integridad, aplicar las reglas de integridad a través de la red puede ser muy caro en términos de transmisión de datos.
  • Falta de experiencia - las bases de datos distribuidas son un campo relativamente nuevo y poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados.
  • Carencia de estándares - aún no existen herramientas o metodologías que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido.

Introduce un texto aquí...

© 2018 La Familia Smith, P° de la Castellana 79, Madrid, 28046
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar