Está en la página 1de 19

BASE DE DATOS DISTRIBUIDA Definicin Un sistema gestin de bases de datos distribuida no es ms que el software que permite la administracin de la base

de dato distribuida y hace que tanto como la distribucin y el control de concurrencia de las transacciones, las fallas, sean transparente para el usuario que opera con el sistema. Cuando las bases de datos son distribuidas, diferentes usuarios tienen acceso sin interferir unos con otros. Sin embargo, el sistema de gestin de bases de datos distribuidas (SGBBD) debe sincronizar peridicamente las bases de datos dispersas, para asegurar que todas tengan sus datos uniformes. El acceso a los datos en los SBDD se realiza mediante los enlaces de comunicacin que conformen la red en la que se encuentren los sitios que contengan alguna de las partes los datos. Los sitios pueden estar en una habitacin o geogrficamente separados, cada uno de ellos tiene capacidad de procesamiento autnomo y de ejecucin de aplicaciones locales.

Cuando diseamos un sistema de base de datos distribuida debemos tener en cuanto algunas caractersticas claves que caracterizan este tipo de sistemas, como son:
Permitir que cada sitio almacene y mantenga su propia BD facilita el acceso inmediato y eficaz de sus datos que se usan ms frecuentes. Mejora la fiabilidad si la computadora de un sitio se cae, el resto de la red sigue funcionando. Permitir el control local de los datos en un sitio mejora el grado de satisfaccin de los usuarios con relacin al sistema de BD. Cuando cada sitio procesa sus datos locales se elimina un poco el trfico de la red, pero si los sitios usan frecuentemente datos almacenados en otros sitios las comunicaciones pueden convertirse en un cuello de botella.

1.1 ARQUITECTURA 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: 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 como y cuando comunicarse con otros SMBD. Autonoma de ejecucin: Habilidad de un componente del para ejecutar operaciones locales como quiera.

Arquitectura Distribuida de base de datos. La tecnologa y prototipo de los sistemas de gestin de bases de datos distribuidas se han desarrollado de uno a otro y cada sistema adopta una arquitectura particular propia.

1.2 Diseo de un sistema de bases de datos distribuidas


El dise de una BDD involucra 4 pasos: 1. Diseo del esquema conceptual donde se describe la BD integral. 2. Diseo de fragmentacin. 3. Diseo de la asignacin de los fragmentos. 4. Diseo de la BD fsica (transformar los esquemas locales en reas de almacenamiento y determinar mtodos de acceso apropiados). La fragmentacin y asignacin de los datos caracterizan el diseo de BDD. La fragmentacin se ocupa fundamentalmente de los criterios lgicos que motivan la divisin de relaciones globales en fragmentos, mientras que la asignacin se ocupa de los aspectos fsicos de su ubicacin y rplicas en sitios; aunque hay una diferencia entre ambos procesos, su interrelacin es importante para obtener un diseo ptimo. En caso que tambin se distribuyan las aplicaciones debemos tener en cuenta el diseo de los esquemas, los requerimientos ms importantes de las aplicaciones tenemos las siguientes: 1. Sitio que comparte una aplicacin. 2. Frecuencia de activacin de la aplicacin 3. Cantidad, tipo y distribucin estadstica de los accesos de cada aplicacin a cada dato requerido. En el diseo de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre cmo hay que distribuir los datos entre los sitios de la red.

A los problemas que presentamos en el diseo de las Bases de Datos Centralizadas (BDC) se le aaden otros nuevos cuando diseamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucin ptima de datos y de las aplicaciones en los diferentes sitios. Cuando pensamos en el diseo de las bases de datos distribuidas debemos tener en cuenta la ubicacin de los programas que accedern a las bases de datos y sobre los propios datos que constituyen la base de datos, en diferentes puntos de una red. Sobre la ubicacin de los programas supondremos que tenemos una copia de ellos en cada maquina donde se necesite acceder a la base de datos. Sin embargo el problema radica en como ubicaremos los datos en la red, existen diferentes formas de repartir los datos: En solo una maquina que almacene todos los datos y se encargue de responder a todas las consultas del resto de la red (sistema centralizado), ubicaramos la base de dato en cada maquina donde se utilice, o pensaramos en repartir las relaciones por toda la red.

La organizacin de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticin, caractersticas de acceso y nivel de conocimiento de los datos: 1. Inexistencia. Los datos y programas se ejecutan en un ordenador sin que exista comunicacin entre ellos. 2. Se comparten datos y no programas.

Existe una rplica de los programas de aplicacin en cada mquina y los datos viajan a travs de la red.
3. Se comparten datos y programas. Los datos y programas se reparten por los diferentes sitios de la red, dado un programa ubicado en un determinado sitio puede acceder a un servicio a otro programa de segundo sitio solicitando acceder a los datos ubicados en un tercero.

Duplicacin de los datos.


La duplicacin de los datos ocurre si el sistema mantiene varias copias de una relacin, R, con cada copia almacenada en un sitio diferente. Existen dos modelos bsicos de replica: 1. Consistencia estrecha. Este modelo que garantiza que todas las rplicas sean constantemente idnticas a la original, requiere una red de alta velocidad, disminuye la disponibilidad de la base de datos. 2. Consistencia ancha. El modelo de consistencia ancha permite un retardo entre el momento en que los datos originales son modificados y las copias de los mismos son actualizadas, lo que permite que la base de datos est disponible ms tiempo que el modelo de consistencia estrecha. Permite conexiones tanto rpidas como lentas soportadas en WANs o LANs. La duplicacin se introduce para aumentar la disponibilidad del sistema: cuando una copia no est disponible debido a un fallo de un sitio sera posible tener acceso a otra copia. Con la duplicacin tambin se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente. El inconveniente est en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacin.

Proceso de Diseo Top Down.


Top Down es adecuada cuando creamos un sistema de BD por vez primera sin restricciones de otros sistemas ya instalados y que deban ser integrados al sistema distribuido, es decir, primero elaboramos el esquema conceptual global del proyecto y trabajamos en funcin de resolver las diferentes partes de dicho proyecto.

Un esquema top-dow

El diseo de abajo hacia arriba (bottom-up). Se utiliza particularmente a partir de bases de datos existentes, generando con esto bases de datos distribuidas. En forma resumida, el diseo bottom-up de una base de datos distribuida requiere de la seleccin de un modelo de bases de datos comn para describir el esquema global de la base de datos. Esto se debe es posible que se utilicen diferentes SMBD. Despus se hace la traduccin de cada esquema local en el modelo de datos comn y finalmente se hace la integracin del esquema local en un esquema global comn

1.3 Arquitectura Cliente Servidor. Los sistemas cliente/servidor involucran varias computadoras conectadas a una red. Las computadoras que procesan programas de aplicaciones se conocen como clientes y las que procesan bases de datos se conocen como servidor. Arquitectura Cliente Servidor

Un sistema cliente servidor puede tener varios servidores de procesamiento de bases de datos, cuando esto ocurre cada servidor debe procesar una base de datos distinta. Cuando dos o ms servidores procesan una misma base de datos, el sistema no es considerado cliente servidor, ms bien, es conocido como sistema de base de datos distribuido.

Funciones del cliente: Administrar la interfaz de usuario. Aceptar datos del usuario. Procesar la lgica de la aplicacin. Generar las solicitudes para la base de datos. Trasmitir las solicitudes de la base de datos al servidor. Recibir los resultados del servidor. Dar formatos a los resultados.

Funciones del servidor: Aceptar las solicitudes de la base de datos de los clientes. Procesar las solicitudes de los clientes. Dar formato a los resultados y trasmitirlos al cliente. Llevar a cabo la verificacin de integridad. Mantener los datos generales de la base de +{}datos. Proporcionar control de acceso concurrente. Llevar a cabo la recuperacin. Optimizar el procesamiento de consulta/actualizacin. Una desventaja de los sistemas cliente servidor es el control. Las computadoras clientes operan en forma simultnea y procesan las aplicaciones en paralelo, lo cual hace ms difcil el control de los problemas de prdidas por actualizacin y otros problemas que provoca el control multiusuario.

Filosofa cliente servidor: El trmino cliente/servidor describe un sistema en el que una mquina cliente solicita a una segunda mquina llamada servidor que ejecute una tarea especfica. El cliente suele ser una computadora personal comn conectada a una LAN, y el servidor es, por lo general, una mquina anfitriona, como un servidor de archivos PC, un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio.

LOS SOCKETS. Los sockets no son ms que puntos o mecanismos de comunicacin entre procesos que permiten que un proceso hable ( emita o reciba informacin ) con otro proceso incluso estando estos procesos en distintas mquinas. Un socket es al sistema de comunicacin entre ordenadores lo que un buzn o un telfono es al sistema de comunicacin entre personas: un punto de comunicacin entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacin El mecanismo de comunicacin va sockets tiene los siguientes pasos:

1) El proceso servidor crea un socket con nombre y espera la conexin. 2) El proceso cliente crea un socket sin nombre. 3) El proceso cliente realiza una peticin de conexin al socket servidor. 4) El cliente realiza la conexin a travs de su socket mientras el proceso servidor mantiene el socket servidor original con nombre.

El RPC (del ingls Remote Procedure Call, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar cdigo en otra mquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tena que estar pendiente de las comunicaciones, estando stas encapsuladas dentro de las RPC. Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o funcin y enviando ste de vuelta el resultado de dicha operacin al cliente. RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisin de mensajes

CORBA:

(Common Object Request Broker Architecture), es una arquitectura estndar para sistemas de objetos distribuidos. Permite una distribucin, coleccin heterognea de objetos para interoperar.
Corba es un estndar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos mnimo, donde cada objeto obedece a una interfaz. CORBA define una arquitectura para objetos distribuidos. El paradigma bsico de CORBA es de una solicitud para servicios de objetos distribuidos. Los servicios que un objeto provee son dados por su interface. Las interfaces son definidas en el Lenguaje de Definicin de Interface (IDL).Los objetos distribuidos son identificados por referencias a objetos, las cuales son definidas por las interfaces IDL.

También podría gustarte