Sei sulla pagina 1di 7

Bases de datos distribuidas

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 almacenan 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 cul 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.






BASES DE DATOS DISTRIBUIDAS
En un sistema de base de datos distribuida, los datos se almacenan en varios
computadores. Los computadores de un sistema distribuido se comunican entre s
a travs de diversos medios de comunicacin, tales como cables de alta velocidad
o lneas telefnicas. No comparten la memoria principal ni el reloj.
Los procesadores de un sistema distribuido pueden variar en cuanto su tamao y
funcin. Pueden incluir microcomputadores pequeos, estaciones de trabajo y
sistemas de computadores grandes de aplicacin general. Estos procesadores
reciben diferentes nombres, tales como localidades, nodos o computadores.
Un sistema distribuido de bases de datos consiste en un conjunto de localidades,
cada uno de las cuales puede participar en la ejecucin de transacciones que
accedan a datos de una o varias localidades. La diferencia principal entre los
sistemas de base de datos centralizados y distribuidos es que, en los primeros, los
datos residen en una sola localidad, mientras que, en los ltimos, se encuentran
en varias localidades.
Caractersticas:
Un sistema distribuido de base de datos consiste en un conjunto de localidades,
cada una de las cuales mantiene un sistema de base de datos local. Cada
localidad puede procesar transacciones locales, o bien transacciones globales
entre varias localidades, requiriendo para ello comunicacin entre ellas.
Las localidades pueden conectarse fsicamente de diversas formas, las principales
son:
Las diferencias principales entre estas configuraciones son:
<![if !supportLists]> <![endif]>Coste de instalacin: El coste de conectar
fsicamente las localidades del sistema
<![if !supportLists]> <![endif]>Coste de comunicacin: El coste en tiempo y
dinero que implica enviar un
mensaje desde la localidad A a la B
<![if !supportLists]>Fiabilidad: La frecuencia con que falla una lnea de
comunicacin o una localidad.
<![if !supportLists]>Disponibilidad: La posibilidad de acceder a informacin
a pesar de fallos en algunas localidades o lneas de comunicacin.
Las localidades pueden estar dispersas, ya sea por un rea geogrfica extensa (a
lo largo de un pas), llamadas redes de larga distancia; o en un rea reducida (en
un mismo edificio), llamadas redes de rea local. Para las primeras se utilizan en
la comunicacin lneas telefnicas, conexiones de microondas y canales de
satlites; mientras que para las segundas se utiliza cables coaxiales de banda
base o banda ancha y fibra ptica.
Consideraciones al distribuir la base de datos:
Existen varias razones para construir sistemas distribuidos de bases de datos que
incluyen compartir la informacin, fiabilidad y disponibilidad y agilizar el
procesamiento de las consultas. Pero tambin tiene sus desventajas, como
desarrollos de software ms costosos, mayor posibilidad de errores y costos
extras de procesamiento.
VENTAJAS Y DESVENTAJAS:
Ventajas de la distribucin de datos:
La principal ventaja de los sistemas distribuidos es la capacidad de compartir y
acceder a la informacin de una forma fiable y eficaz.
Utilizacin compartida de los datos y distribucin del control:
La ventaja principal de compartir los datos por medio de la distribucin es que
cada localidad pueda controlar hasta cierto punto los datos almacenados
localmente. En un sistema centralizado, el administrador de base de datos de la
localidad central controla la base de datos. En un sistema distribuido existe un
administrador global de la base de datos que se encarga de todo el sistema. Parte
de esta responsabilidad se delega al administrador de base de datos de cada
localidad. Dependiendo del diseo del sistema distribuido, cada administrador
local podr tener un grado de autonoma diferente, que se conoce como
autonoma local. La posibilidad de contar con autonoma local es en muchos casos
una ventaja importante de las bases de datos distribuidas.
Fiabilidad y disponibilidad:
Si se produce un fallo en una localidad de un sistema distribuido, es posible que
las dems localidades puedan seguir trabajando. En particular, si los datos se
repiten en varias localidades, una transaccin que requiere un dato especfico
puede encontrarlo en ms de una localidad. As, el fallo de una localidad no
implica necesariamente la desactivacin del sistema.
El sistema debe detectar cuando falla una localidad y tomar las medidas
necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la
localidad que fall. Por ltimo, cuando se recupere o repare esta localidad, debe
contarse con mecanismos para reintegrarla al sistema con el mnimo de
complicaciones.
La disponibilidad es fundamental para los sistemas de bases de datos que se
utilizan en aplicaciones de tiempo real. Por ejemplo, si una lnea area no puede
tener acceso a la informacin, es posible que pierda clientes a favor de la
competencia.
Agilizacin del procesamiento de consultas:
Si una consulta comprende datos de varias localidades, puede ser posible dividir
la consulta en varias sub-consultas que se ejecuten en paralelo en distintas
localidades. Sin embargo, en un sistema distribuido no se comparte la memoria
principal, as que no todas las estrategias de interseccin se pueden aplicar en
estos sistemas. En los casos en que hay repeticin de los datos, el sistema puede
pasar la consulta a las localidades ms ligeras de carga.
Desventajas de la distribucin de los datos:
La desventaja principal de los sistemas distribuidos es la mayor complejidad que
se requiere para garantizar una coordinacin adecuada entre localidades.
El aumento de la complejidad se refleja en:
Coste del desarrollo de software: es ms difcil estructura un sistema de bases
de datos distribuidos y por tanto su coste es menor.
Mayor posibilidad de errores: puesto que las localidades del sistemadistribuido
operan en paralelo, es ms difcil garantizar que los algoritmos sean
correctos.
Mayor tiempo extra de procesamiento: El intercambio de mensajes y los
clculos adicionales son una forma de tiempo extra que no existe en los
sistemas centralizados.

Potrebbero piacerti anche