Você está na página 1de 6

Bases de datos distribuidas

Son la que almacenan datos que pertenecen lgicamente a un slo sistema, pero se
encuentra fsicamente esparcido en varios sitios de la red. Un sistema de base de datos
distribuidos se compone de un conjunto de sitios, conectados entre s mediante algn tipo
de red de comunicaciones, en el cual:

Cada sitio es un sistema de base de datos en s mismo.

Los sitios trabajan en conjunto 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.

Historia
La necesidad de almacenar datos de forma masiva dio paso a la creacin de los sistemas de
bases de datos.

La base de datos distribuidas originalmente almacena la informacin 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 creacin de almacenamiento distribuido, los
cuales hoy en da proveen caractersticas indispensables en el manejo de informacin; es
decir, la combinacin de las redes de comunicacin y las bases de datos.

Ambientes de bases de datos distribuidas


Las BDD pueden ser:

Homogneas: Todos los sitios tienen el mismo SGBD, son conscientes de la


existencia de los dems sitios y cooperan en el procesamiento de las solicitudes. Los
sitios locales mantienen un mismo esquema y SGBD.
Heterogneas: 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 cooperacin en el procesamiento de transacciones.
Sistema de Gestin de Base de Datos Distribuida
Un sistema de gestin de bases de datos distribuidas (SGBDD) es un Sistema de Gestin de
bases de datos que gestiona la BD distribuida

Funcionalidades de un SGBDD
Accede a sitios remotos y transmite consultas y datos a travs de varios sitios
mediante una red de comunicacin.
Almacena el esquema de distribucin y replicacin de los datos en el catalogo del
sistema.
Establece las estrategias de ejecucin de las consultas y las transacciones que
acceden a los datos en ms de un sitio.
Decide sobre cual copia de los datos replicados acceder.
Mantiene la consistencia de las copias de los datos replicados.
Realiza la recuperacin ante los fallos.
Componentes de un sistema gestor distribuido
Hardware
El hardware que compone una base de datos distribuida se reduce a servidores y la red.

Software
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 podra consistir de una
coleccin 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.
El manejador de transacciones es el encargado de definir la estructura de las transacciones,
mantener la consistencia en la base de datos cuando se ejecuta una transaccin o se cancela
la ejecucin de una, mantener protocolos de fiabilidad, implementar algoritmos para el
control de la concurrencia y sincronizar las transacciones que se ejecutan simultneamente.

El manejador recibe solicitudes de procesamiento de transacciones y las traduce en


acciones para el calendarizador.

La operacin COMMIT seala el trmino exitoso de la transaccin: le dice al manejador de


transacciones que se ha finalizado con xito una unidad lgica de trabajo, que la base de
datos esta (o debera estar) de nuevo en un estado consistente, y que se pueden hacer
permanentes todas las modificaciones efectuadas por esa unidad de trabajo.

La operacin ROLLBACK, en cambio, seala el trmino no exitoso de la transaccin: le


dice al manejador de transacciones que algo sali mal, que la base de datos podra estar en
un estado inconsistente y que todas las modificaciones efectuadas hasta el momento por la
unidad lgica de trabajo deben retroceder o anularse.

Sistema manejador de base de datos (DBMS): Es un programa que procesa cierta porcin
de la base de datos distribuida. Se encarga de recuperar y actualizar datos del usuario y
generales de acuerdo con los comandos recibidos de los DTM.
Nodo: Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de
transaccin ejecuta un DTM y un nodo de base de datos ejecuta un DBM.
Distribucin de los datos
Una de las decisiones ms importantes que el diseador de bases de datos distribuidas debe
tomar es el posicionamiento de la data en el sistema y el esquema bajo el cual lo desea
hacer. Para esto existen cuatro alternativas principales: centralizada, replicada,
fragmentada, e hbrida.

Centralizada
Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD est centralizada en
un lugar y los usuarios estn 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 replicacin consiste en que cada nodo debe tener su copia completa
de la base de datos. Es fcil ver que este esquema tiene un alto costo en el almacenamiento
de la informacin. Debido a que la actualizacin de los datos debe ser realizada en todas las
copias, tambin 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 dnde la disponibilidad y
fiabilidad de los datos sea de mxima importancia.

Particionadas o fragmentadas
Este modelo consiste en que solo hay una copia de cada elemento, pero la informacin est
distribuida a travs de los nodos. En cada nodo se aloja uno o ms fragmentos disjuntos de
la base de datos. Como los fragmentos no se replican esto disminuye el costo de
almacenamiento, pero tambin 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
fragmentacin. La fragmentacin se puede realizar tambin de tres formas:

Horizontal: Los fragmentos son subconjuntos de una tabla (anlogo a un restringir)

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

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

Para que una fragmentacin sea correcta esta debe cumplir con las siguientes reglas:

Debe ser Completa: Si una relacin R se fragmenta en R1,R2, , Rn, cada


elemento de la data de R debe estar en algn Ri.
Debe ser Reconstruible: Debe ser posible definir una operacin relacional que a
partir de los fragmentos obtenga la relacin.
Los fragmentos deben ser Disjuntos: Si la fragmentacin es horizontal entonces si
un elemento e est en Ri este elemento no puede estar en ningn Rk (para k distinto a i).
En el caso de fragmentacin vertical es necesario que se repitan las llaves primarias y
esta condicin solo se debe cumplir para el conjunto de atributos que no son llave
primaria.

Hbrida
Este esquema simplemente representa la combinacin del esquema de particin y
replicacin. Se particiona la relacin y a la vez los fragmentos estn selectivamente
replicados a travs del sistema de BDD.

Tipos de arquitecturas/implementaciones
En un sistema de bases de datos distribuidas, existen varios factores que deben tomar en
consideracin que definen la arquitectura del sistema:

Distribucin: Los componentes del sistema estn localizados en la misma


computadora o no.
Heterogeneidad: Un sistema es heterogneo cuando existen en l componentes que
se ejecutan en diversos sistemas operativos, de diferentes fuentes, etc.
Autonoma: Se puede presentar en diferentes niveles, los cuales se describen a
continuacin:
1. Autonoma de diseo: Habilidad de un componente del sistema para decidir
cuestiones relacionadas a su propio diseo.
2. Autonoma de comunicacin: Habilidad de un componente del sistema para decidir
como y cuando comunicarse con otros SGBD (Sistema Gestor de Bases de Datos).
3. Autonoma de ejecucin: Habilidad de un componente del sistema para ejecutar
operaciones locales como quiera.
Ventajas
Refleja una estructura organizacional los fragmentos de la base de datos se ubican
en los departamentos a los que tienen relacin.
Autonoma 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,
tambin los sistemas trabajan en paralelo, lo cual permite balancear la carga en los
servidores.
Economa es ms barato crear una red de muchas computadoras pequeas, 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 dems sistemas (mdulos).
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 diseo 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.
Economa 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 difcil mantener la integridad, aplicar las reglas de integridad
a travs de la red puede ser muy caro en trminos de transmisin de datos.
Falta de experiencia las bases de datos distribuidas son un campo relativamente
nuevo y poco comn por lo cual no existe mucho personal con experiencia o
conocimientos adecuados.
Carencia de estndares an no existen herramientas o metodologas que ayuden a
los usuarios a convertir un DBMS centralizado en un DBMS distribuido.

Você também pode gostar