You are on page 1of 19

cada uno de ellos tiene capacidad de procesamiento autónomo y de ejecución de aplicaciones locales. sean transparente para el usuario que opera con el sistema. el sistema de gestión de bases de datos distribuidas (SGBBD) debe sincronizar periódicamente las bases de datos dispersas. Sin embargo. diferentes usuarios tienen acceso sin interferir unos con otros. El acceso a los datos en los SBDD se realiza mediante los enlaces de comunicación que conformen la red en la que se encuentren los sitios que contengan alguna de las partes los datos. las fallas. Cuando las bases de datos son distribuidas. Los sitios pueden estar en una habitación o geográficamente separados. para asegurar que todas tengan sus datos uniformes. .BASE DE DATOS DISTRIBUIDA Definición Un sistema gestión de bases de datos distribuida no es más que el software que permite la administración de la base de dato distribuida y hace que tanto como la distribución y el control de concurrencia de las transacciones.

el resto de la red sigue funcionando. .Cuando diseñamos un sistema de base de datos distribuida debemos tener en cuanto algunas características claves que caracterizan este tipo de sistemas. pero si los sitios usan frecuentemente datos almacenados en otros sitios las comunicaciones pueden convertirse en un cuello de botella. 􀂃 Permitir el control local de los datos en un sitio mejora el grado de satisfacción de los usuarios con relación al sistema de BD. 􀂃 Mejora la fiabilidad si la computadora de un sitio se cae. como son: Permitir que cada sitio almacene y mantenga su propia BD facilita el acceso inmediato y eficaz de sus datos que se usan más frecuentes. 􀂃 Cuando cada sitio procesa sus datos locales se elimina un poco el tráfico de la red.

etc. Heterogeneidad: Un sistema es heterogéneo cuando existen en él componentes que se ejecutan en diversos sistemas operativos.1 ARQUITECTURA En un sistema de bases de datos distribuidas. Autonomía de comunicación: Habilidad de un componente del para decidir como y cuando comunicarse con otros SMBD. . los cuales se describen a continuación: Autonomía de diseño: Habilidad de un componente del para decidir cuestiones relacionadas a su propio diseño. Autonomía de ejecución: Habilidad de un componente del para ejecutar operaciones locales como quiera. de diferentes fuentes.1. existen varios factores que deben tomar en consideración que definen la arquitectura del sistema: Distribución: Los componentes del sistema están localizados en la misma computadora o no. Autonomía: Se puede presentar en diferentes niveles.

La tecnología y prototipo de los sistemas de gestión de bases de datos distribuidas se han desarrollado de uno a otro y cada sistema adopta una arquitectura particular propia.Arquitectura Distribuida de base de datos. .

Diseño de la BD física (transformar los esquemas locales en áreas de almacenamiento y determinar métodos de acceso apropiados). La fragmentación y asignación de los datos caracterizan el diseño de BDD. los requerimientos más importantes de las aplicaciones tenemos las siguientes: 1. En caso que también se distribuyan las aplicaciones debemos tener en cuenta el diseño de los esquemas. En el diseño de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre cómo hay que distribuir los datos entre los sitios de la red. La fragmentación se ocupa fundamentalmente de los criterios lógicos que motivan la división de relaciones globales en fragmentos. aunque hay una diferencia entre ambos procesos. Sitio que comparte una aplicación. mientras que la asignación se ocupa de los aspectos físicos de su ubicación y réplicas en sitios. 2. 3. tipo y distribución estadística de los accesos de cada aplicación a cada dato requerido.2 Diseño de un sistema de bases de datos distribuidas El diseñó de una BDD involucra 4 pasos: 1. 2. Diseño del esquema conceptual donde se describe la BD integral. . Frecuencia de activación de la aplicación 3. su interrelación es importante para obtener un diseño óptimo. Cantidad.1. 4. Diseño de fragmentación. Diseño de la asignación de los fragmentos.

Sin embargo el problema radica en como ubicaremos los datos en la red. . en diferentes puntos de una red. o pensaríamos en repartir las relaciones por toda la red. Sobre la ubicación de los programas supondremos que tenemos una copia de ellos en cada maquina donde se necesite acceder a la base de datos.A los problemas que presentamos en el diseño de las Bases de Datos Centralizadas (BDC) se le añaden otros nuevos cuando diseñamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribución óptima de datos y de las aplicaciones en los diferentes sitios. 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). Cuando pensamos en el diseño de las bases de datos distribuidas debemos tener en cuenta la ubicación de los programas que accederán a las bases de datos y sobre los propios datos que constituyen la base de datos. ubicaríamos la base de dato en cada maquina donde se utilice.

Se comparten datos y programas. 2. Los datos y programas se ejecutan en un ordenador sin que exista comunicación entre ellos. características de acceso y nivel de conocimiento de los datos: 1. Se comparten datos y no 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. Existe una réplica de los programas de aplicación en cada máquina y los datos viajan a través de la red.La organización de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de compartición. Inexistencia. 3.

La duplicación de los datos ocurre si el sistema mantiene varias copias de una relación. Consistencia ancha. Consistencia estrecha. . Permite conexiones tanto rápidas como lentas soportadas en WANs o LANs. con cada copia almacenada en un sitio diferente. Con la duplicación también se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente. Este modelo que garantiza que todas las réplicas sean constantemente idénticas a la original. lo que permite que la base de datos esté disponible más tiempo que el modelo de consistencia estrecha. Existen dos modelos básicos de replica: 1. 2. La duplicación se introduce para aumentar la disponibilidad del sistema: cuando una copia no está disponible debido a un fallo de un sitio sería posible tener acceso a otra copia. disminuye la disponibilidad de la base de datos. El inconveniente está en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicación.Duplicación de los datos. requiere una red de alta velocidad. R. 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.

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. .Proceso de Diseño Top – Down. primero elaboramos el esquema conceptual global del proyecto y trabajamos en función de resolver las diferentes partes de dicho proyecto. es decir.

Un esquema top-dow .

El diseño de abajo hacia arriba (bottom-up). el diseño bottom-up de una base de datos distribuida requiere de la selección de un modelo de bases de datos común para describir el esquema global de la base de datos. Se utiliza particularmente a partir de bases de datos existentes. Esto se debe es posible que se utilicen diferentes SMBD. generando con esto bases de datos distribuidas. En forma resumida. Después se hace la traducción de cada esquema local en el modelo de datos común y finalmente se hace la integración del esquema local en un esquema global común .

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

más bien. el sistema no es considerado cliente servidor. 􀂃 Aceptar datos del usuario. . Cuando dos o más servidores procesan una misma base de datos. 􀂃 Procesar la lógica de la aplicación. Funciones del cliente: 􀂃 Administrar la interfaz de usuario. cuando esto ocurre cada servidor debe procesar una base de datos distinta.Un sistema cliente servidor puede tener varios servidores de procesamiento de bases de datos. 􀂃 Trasmitir las solicitudes de la base de datos al servidor. 􀂃 Recibir los resultados del servidor. 􀂃 Dar formatos a los resultados. es conocido como sistema de base de datos distribuido. 􀂃 Generar las solicitudes para la base de datos.

􀂃 Mantener los datos generales de la base de +{}datos. 􀂃 Proporcionar control de acceso concurrente. 􀂃 Llevar a cabo la verificación de integridad. Las computadoras clientes operan en forma simultánea y procesan las aplicaciones en paralelo. 􀂃 Procesar las solicitudes de los clientes. Una desventaja de los sistemas cliente servidor es el control. 􀂃 Llevar a cabo la recuperación. lo cual hace más difícil el control de los problemas de pérdidas por actualización y otros problemas que provoca el control multiusuario. 􀂃 Optimizar el procesamiento de consulta/actualización.Funciones del servidor: 􀂃 Aceptar las solicitudes de la base de datos de los clientes. 􀂃 Dar formato a los resultados y trasmitirlos al cliente. .

y el servidor es. El cliente suele ser una computadora personal común conectada a una LAN.Filosofía cliente servidor: El término cliente/servidor describe un sistema en el que una máquina cliente solicita a una segunda máquina llamada servidor que ejecute una tarea específica. un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio. . por lo general. una máquina anfitriona. como un servidor de archivos PC.

4) El cliente realiza la conexión a través de su socket mientras el proceso servidor mantiene el socket servidor original con nombre. “Los sockets no son más que puntos o mecanismos de comunicación entre procesos que permiten que un proceso hable ( emita o reciba información ) con otro proceso incluso estando estos procesos en distintas máquinas”. 3) El proceso cliente realiza una petición de conexión al socket servidor. 2) El proceso cliente crea un socket sin nombre. Un socket es al sistema de comunicación entre ordenadores lo que un buzón o un teléfono es al sistema de comunicación entre personas: un punto de comunicación entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir información El mecanismo de comunicación vía sockets tiene los siguientes pasos: 1) El proceso servidor crea un socket con nombre y espera la conexión. .LOS SOCKETS.

Las RPC son muy utilizadas dentro del paradigma cliente-servidor. RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisión de mensajes . estando éstas encapsuladas dentro de las RPC. Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o función y enviando éste de vuelta el resultado de dicha operación al cliente. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tenía que estar pendiente de las comunicaciones.El RPC (del inglés Remote Procedure Call.

Corba es un estándar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos mínimo. Las interfaces son definidas en el Lenguaje de Definición de Interface (IDL). las cuales son definidas por las interfaces IDL. . donde cada objeto obedece a una interfaz.CORBA: (Common Object Request Broker Architecture). CORBA define una arquitectura para objetos distribuidos. colección heterogénea de objetos para interoperar. El paradigma básico de CORBA es de una solicitud para servicios de objetos distribuidos. Permite una distribución.Los objetos distribuidos son identificados por referencias a objetos. Los servicios que un objeto provee son dados por su interface. es una arquitectura estándar para sistemas de objetos distribuidos.