Vous êtes sur la page 1sur 13

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Base de Datos Distribuidas wertyuiopasdfghjklzxcvbnmqwertyui Fundamentos de Bases de Datos Distribuidas opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq

wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmrtyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmqwerty
01/02/2010 M.T.I. Jorge Carranza Gmez

INTRODUCCION
Una base de datos distribuida es un objeto virtual, cuyas partes componentes se almacenan fsicamente en varias bases de datos reales distintas ubicadas en diferentes sitios. De hecho, una base de datos distribuida consiste en la unin lgica de esas bases de datos. En otras palabras, cada sitio tiene sus propias bases de datos reales locales, sus propios usuarios locales, sus propios DBMS (del ingls: Data Base Management System) y programas para la administracin de transacciones (incluyendo programas de bloqueo, bitcoras, y recuperacin), y su propio administrador local de comunicacin de datos. En particular un usuario dado puede realizar operaciones sobre los datos en su propio sitio local exactamente como si ese sitio no participara en absoluto en el sistema distribuido (al menos, se es uno de los objetivos). As pues, el sistema de bases de datos distribuidas puede considerarse como una especie de sociedad entre los DBMS individuales locales de todos los sitios.

~2~

Definicin de Base de Datos Distribuida


Una base de datos distribuida (BDD) es un conjunto de mltiples bases de datos lgicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autnomo lo cual indica que puede realizar operaciones locales o distribuidas. Un Sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual mltiples sitios de bases de datos estn ligados 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 los datos estuvieran siendo accedidos de forma local. Una Base de Datos Distribuida entonces es una coleccin de datos que pertenecen lgicamente a un slo sistema, pero se encuentra fsicamente disperso en varios "sitios" de la red.

Objetivos de las Base de Datos Distribuida


Al implementar una base de datos distribuida se tienen ciertos objetivos comunes:

Transparencia de ubicacin. Permite a los usuarios tener acceso a los datos sin que tenga conocimiento de la ubicacin de stos. Se puede conseguir este nivel de transparencia al utilizar los administradores de transacciones distribuidas, los cuales son capaces de determinar la localizacin de los datos y de emitir acciones a los calendarizadores apropiados, lo cual puede ejecutarse cuando los administradores de transacciones distribuidas poseen acceso a los directorios de localizaciones de los datos.

Transparencia de duplicacin. Para que la transparencia de duplicacin sea posible, los administradores de transacciones deben traducir las solicitudes de procesamiento de transaccin en acciones para el administrador de datos. Para las lecturas el administrador de transacciones selecciona uno de los nodos que almacena los datos y ejecuta la lectura.

Transparencia de concurrencia. Cuando varias transacciones se ejecuten al mismo tiempo, los resultados de las transacciones no debern afectarse. La trasparencia de concurrencia se logra si los resultados de todas las transacciones concurrentes son consistentes de manera lgica con los resultados que se habran obtenido si las transacciones se hubieran ejecutado una por una, en cualquier orden secuencial.

~3~

Transparencia de fallas. Significa que a pesar de fallas las transacciones sean procesadas de un modo correcto. Frente a una falla, las transacciones deben ser atmicas, significa que se procesen todas o ninguna de ellas. Para este tipo de problemas es importante tener resguardo de la base de datos, y as poder restaurarla cuando sea conveniente. El sistema debe detectar cundo 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.

Localidad del procesamiento. Los datos se deben distribuir lo ms cerca posible de las aplicaciones que los usan para maximizar la localidad del procesamiento, este principio responde a minimizar el acceso remoto a los datos. Disear una distribucin que maximice localidad del procesamiento puede hacerse aadiendo la cantidad de referencias locales y remotas correspondientes a cada fragmentacin candidata y asignar la fragmentacin eligiendo la mejor solucin.

Independencia de configuracin. La independencia de configuracin permite aadir o reemplazar hardware sin tener que cambiar componentes de software existentes en el sistema de base de datos distribuida.

Particionamiento de la Base de Datos. La base de datos se distribuye de modo que no haya solapamiento o duplicacin de los datos mantenidos en las diferentes localidades, como no hay duplicaciones de los datos, se evitan los costos asociados con el almacenamiento y mantenimiento de datos redundantes. Si un mismo segmento de datos se usa en ms de una localidad se ve limitada la disponibilidad de los datos. La fiabilidad tambin puede verse limitada cuando se produce un fallo en el sistema de clculo de una localidad se afecta la disponibilidad de los datos de esa localidad no estn disponible para los usuarios en cualquier parte del sistema.

Fragmentacin de datos. Consiste en subdividir las relaciones y distribuirlas entre los sitios de la red, tiene como objetivo buscar formas alternativas de dividir una las instancias (tablas) de relaciones en otras ms pequeas. La fragmentacin se puede realizar por tuplas individuales (fragmentacin horizontal), por atributos individuales (fragmentacin vertical) o una combinacin de ambas (fragmentacin hbrida). El principal problema de la fragmentacin radica en encontrar la unidad apropiada de distribucin.

~4~

Caractersticas de una Base de Datos Distribuida


En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
1. 2.

Hay mltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algn tipo de red de comunicaciones para transmitir datos y rdenes entre los sitios.

Los componentes que se encuentran presentes en una base de datos distribuida: Sistema de Administracin 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. Administrador de la base de datos (DBM). 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. Existen varios factores relacionados a la construccin de bases de datos distribuidas que no se presentan en bases de datos centralizadas. Entre los ms importantes se encuentran los siguientes: 1. Diseo de la base de datos distribuida. En el diseo de bases de datos distribuidas se debe considerar el problema de cmo distribuir la informacin entre diferentes sitios. Existen razones organizacionales las cuales determinan en gran medida lo anterior. Sin embargo, cuando se busca eficiencia en el

~5~

acceso a la informacin, se deben abordar dos problemas relacionados. Primero, como fragmentar la informacin. Segundo, como asignar cada fragmento entre los diferentes sitios de la red. En el diseo de la BDD tambin es importante considerar si la informacin est replicada, es decir, si existen copias mltiples del mismo dato y, en este caso, como mantener la consistencia de la informacin. 2. Procesamiento de consultas. El procesamiento de consultas es de suma importancia en bases de datos centralizadas. Sin embargo, en BDD ste adquiere una relevancia mayor. El objetivo es convertir transacciones de usuario en instrucciones para manipulacin de datos. No obstante, el orden en que se realizan las transacciones afecta grandemente la velocidad de respuesta del sistema. As, el procesamiento de consultas presenta un problema de optimizacin en el cual se determina el orden en el cual se hace la menor cantidad de operaciones. Este problema de optimizacin es NP-difcil, por lo que en tiempos razonables solo se pueden obtener soluciones aproximadas. En BDD se tiene que considerar el procesamiento local de una consulta junto con el costo de transmisin de informacin al lugar en donde se solicit la consulta. 3. Control de concurrencia. El control de concurrencia es la actividad de coordinar accesos concurrentes a la base de datos. El control de concurrencia permite a los usuarios accesar la base de datos en una forma multiprogramada mientras se preserva la ilusin de que cada usuario est utilizndola solo en un sistema dedicado. El control de concurrencia asegura que transacciones mltiples sometidas por usuarios diferentes no interfieran unas con otras de forma que se produzcan resultados incorrectos. En BDD el control de concurrencia es an ms complejo que en sistemas centralizados. Los algoritmos ms utilizados son variaciones de aquellos usados en sistemas centralizados: candados de dos fases, ordenamiento por estampas de tiempo, ordenamiento por estampas de tiempo mltiples y control de concurrencia optimista. Un aspecto interesante del control de concurrencia es el manejo de interbloqueos. El sistema no debe permitir que dos o ms transacciones se bloqueen entre ellas. 4. Confiabilidad. En cualquier sistema de bases de datos, centralizado o distribuido, se debe ofrecer garantas de que la informacin es confiable. As cada consulta o actualizacin de la informacin se realiza mediante transacciones, las cuales tienen un inicio y fin. En sistemas distribuidos, el manejo de la atomicidad y durabilidad de las transacciones es an ms complejo, ya que una sola transaccin puede involucrar dos o ms sitios de la

~6~

red. As, el control de recuperacin en sistemas distribuidos debe asegurar que el conjunto de agentes que participan en una transaccin realicen todos, un compromiso (commit) al unsono o todos al mismo tiempo restablezcan la informacin anterior (roll-back). En la Figura 1 se presenta un diagrama con las relaciones entre los aspectos relevantes sobre las BDD.

Figura 1. Factores importantes en BDD.

Ventajas y Desventajas de Base de Datos Distribuida Centralizadas Vs Distribuidas


Base Datos Centralizada.
Es una base de datos almacenada en su totalidad en un solo lugar fsico, es decir, es una base de datos almacenada en una sola mquina y una sola CPU, y en donde los usuarios trabajan en terminales tontas que slo muestran resultados. Los sistemas de bases de datos centralizadas son aquellos que se ejecutan en un nico sistema informtico sin interaccionar con ninguna otra computadora. Estos sistemas comprenden el rango desde los sistemas de base de datos mono-usuario ejecutndose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento ejecutndose en grandes sistemas. Existen varias diferencias entre una base de datos centralizada y otra base de datos distribuida; la principal diferencia es que en la primera, los datos se encuentran almacenados en una sola localidad, mientras que en la segunda, los datos se encuentran almacenados en diferentes localidades. Esta diferencia implica ciertas consideraciones que debern ser tomadas en cuenta al decidir que de base de datos es ms conveniente, las cuales se describen a continuacin:

~7~

Control.
En bases de datos distribuidas, se identifica a un sistema administrador de la base de datos como global, al cual, en lo sucesivo lo llamaremos coordinador de la transaccin, que es el que tiene la responsabilidad de toda la transaccin; adems, cuentan con sistemas administradores de bases de datos locales, que tienen la responsabilidad, precisamente, de la base de datos local que les corresponde. Por otra parte, las bases de datos centralizadas trabajan con un solo administrador, que es el nico responsable de todo el sistema de Informacin.

Independencia de los datos.


En bases de datos centralizadas, se refiere a que las aplicaciones que el usuario realice no se vean afectadas por la forma en que los datos se encuentran distribuidos. En bases de datos distribuidas tambin existe independencia de datos y este concepto tiene la misma importancia, nicamente se le agrega el concepto de transparencia en la distribucin, lo cual quiere decir que los programas son escritos como si la base de datos no fuera distribuida, de esta forma, el cambio de lugar de los datos de una localidad a otra no afecta los programas, aunque su velocidad de procesamiento si podr verse modificada.

Redundancia.
En las bases de dalos centralizadas se pretende reducir al mnimo posible la redundancia de datos por dos razones:
1. 2.

la posible inconsistencia entre los datos. el ahorro de espacio de almacenamiento.

Sin embargo, para las bases de datos distribuidas es una caracterstica deseable, ya que la velocidad de las aplicaciones se incrementa si la informacin se replica donde es necesaria y, adems, si una localidad falla, la ejecucin de las aplicaciones en otras localidades no se interrumpe si cuenta con una rplica de la informacin requerida.

Acceso.
En bases de datos distribuidas existen dos categoras de acceso: global y local. El acceso global consiste en determinar qu datos deben ser accedidos, en qu localidades y cules datos se deben transmitir entre las localidades. El principal aspecto a considerar para optimizar el acceso global es el costo da comunicacin. El acceso local consiste en realizar los accesos, justamente, a la base de datos local. En

~8~

una base de datos centralizada, el acceso a la informacin se lleva a cabo de la misma forma que el acceso local en una base de datos distribuida.

Recuperacin, control de concurrencia e integridad.


En una base de datos distribuida, la Integridad de los datos se basa en el proceso de commt en dos fases. En una base de datos centralizada, toda la informacin se encuentra en un solo lugar provocando un mayor trfico de solicitudes de recursos. Por otra parte en una base de datos distribuida, la informacin se encuentra dispersa entre las diferentes localidades, lo cual provoca un mayor nesgo de perder la Integridad de los datos, debido a la redundancia de informacin existente.

Privacidad y seguridad.
En bases de datos centralizadas, el administrador del sistema tiene el control total de los datos y asegura que slo sean ejecutados los accesos autorizados. En base de datos distribuida, la privacidad en los datos se ve afectada por el grado de autonoma de las localidades y los problemas de seguridad, siendo estos ltimos Intrnsecos, porque la comunicacin de redes puede representar un punto dbil en este aspecto.

Arquitectura de una Base de Datos Distribuida


La arquitectura define la estructura de un sistema. Al definir la arquitectura se deben identificar las componentes de un sistema, las funciones que realiza cada una de las componentes y las interrelaciones e interacciones entre cada componente. El propsito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la informacin. La transparencia se puede entender como la separacin de la semntica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementacin del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementacin a las capas de alto nivel de un sistema y a otros usuarios. En sistemas de bases de datos distribuidos el propsito fundamental de la transparencia es proporcionar independencia de datos en el ambiente distribuido. Se pueden encontrar diferentes aspectos relacionados con la transparencia. Por ejemplo, puede existir transparencia en el manejo de la red de comunicacin, transparencia en el manejo de copias repetidas o transparencia en la distribucin o fragmentacin de la informacin.

~9~

La independencia de datos es la inmunidad de las aplicaciones de usuario a los cambios en la definicin y/u organizacin de los datos y viceversa. La independencia de datos se puede dar en dos aspectos: lgica y fsica. 1. Independencia lgica de datos. Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lgica de la base de datos. Esto permite que un cambio en la definicin de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relacin, la creacin de una nueva relacin, el reordenamiento lgico de algunos atributos. 2. Independencia fsica de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. Esto es, la descripcin fsica de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organizacin de los datos puede cambiar. La transparencia al nivel de red se refiere a que los datos en un SBDD se accedan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas: 1. Transparencia sobre la localizacin de datos. Esto es, el comando que se usa es independiente de la ubicacin de los datos en la red y del lugar en donde la operacin se lleve a cabo. 2. Transparencia sobre el esquema de nombramiento. Lo anterior se logra proporcionando un nombre nico a cada objeto en el sistema distribuido. As, no se debe mezclar la informacin de la localizacin con en el nombre de un objeto. La transparencia sobre replicacin de datos se refiere a que si existen rplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que al cuando el usuario se encarga de manejar las rplicas en un sistema, el trabajo de ste es mnimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las rplicas teniendo as datos diferentes. La transparencia a nivel de fragmentacin de datos permite que cuando los objetos de la bases de datos estn fragmentados, el sistema tiene que manejar la conversin de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. As tambin, ser necesario mezclar las respuestas a consultas

~ 10 ~

fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.

Figura 2. Organizacin en capas de los niveles de transparencia

En un sistema de bases de datos distribuidas, existen varios factores que deben tomar en consideracin que definen la arquitectura del sistema: 1. Distribucin: Los componentes del sistema estn localizados en la misma computadora o no. 2. Heterogeneidad: Un sistema es heterogneo cuando existen en l componentes que se ejecutan en diversos sistemas operativos, de diferentes fuentes, etc. 3. Autonoma: Se puede presentar en diferentes niveles, los cuales se describen a continuacin: Autonoma de diseo: Habilidad de un componente del para decidir cuestiones relacionadas a su propio diseo. Autonoma de comunicacin: Habilidad de un componente del para decidir cmo y cundo comunicarse con otros SMBD. Autonoma de ejecucin: Habilidad de un componente del para ejecutar operaciones locales como quiera.

~ 11 ~

Figura 3. Organizacin en capas de los niveles de transparencia.

Figura 4. Arquitectura de un SMBDD homogneo.

CONCLUSION
Una base de datos distribuida naci por la necesidad que tenan las empresas para llevar un mejor control de sus datos y que tener diferentes bases de datos que se encontraran distribuidos en diferentes sitios o establecimientos. As se esta manera permitirle al usuario poder acceder a ella desde cualquier lugar donde se encontrara a travs de una red. Pero principalmente se buscaba transparencia en el procesamiento de esta informacin, es decir, que el usuario no pudiera saber de qu lugar obtena toda la informacin.

~ 12 ~

De esta manera las empresas pueden llevar un mejor control de su informacin y adems que esta se pueda comunicar con cualquiera de sus sistemas en cualquier momento que l lo deseara sin importar el lugar donde se encontrara este sistema.

~ 13 ~

Vous aimerez peut-être aussi