Unidad1 Bases De Datos Distribuidas

19

description

UNIDAD 1 DE LA MATERIA BASE DE DATOS AVANZADA

Transcript of Unidad1 Bases De Datos Distribuidas

Page 1: Unidad1 Bases De Datos Distribuidas

BASE DE DATOS DISTRIBUIDA Definicioacuten

Un sistema gestioacuten de bases de datos distribuida no es maacutes que el software que permite la administracioacuten de la base de dato distribuida y hace que tanto como la distribucioacuten 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 gestioacuten de bases de datos distribuidas (SGBBD) debe sincronizar perioacutedicamente 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 comunicacioacuten 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 habitacioacuten o geograacuteficamente separados cada uno de ellos tiene capacidad de procesamiento autoacutenomo y de ejecucioacuten de aplicaciones locales

Cuando disentildeamos un sistema de base de datos distribuida debemos tener en cuanto algunas caracteriacutesticas 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 maacutes frecuentes 1048707 Mejora la fiabilidad si la computadora de un sitio se cae el resto de la red sigue funcionando 1048707 Permitir el control local de los datos en un sitio mejora el grado de satisfaccioacuten de los usuarios con relacioacuten al sistema de BD 1048707 Cuando cada sitio procesa sus datos locales se elimina un poco el traacutefico de la red pero si los sitios usan frecuentemente datos almacenados en otros sitios las comunicaciones pueden convertirse en un cuello de botella

11 ARQUITECTURA

En un sistema de bases de datos distribuidas existen varios factores que deben tomar en consideracioacuten que definen la arquitectura del sistema

Distribucioacuten Los componentes del sistema estaacuten localizados en la misma computadora o no

Heterogeneidad Un sistema es heterogeacuteneo cuando existen en eacutel componentes que se ejecutan en diversos sistemas operativos de diferentes fuentes etc

Autonomiacutea Se puede presentar en diferentes niveles los cuales se describen a continuacioacuten Autonomiacutea de disentildeo Habilidad de un componente del para decidir cuestiones relacionadas a su propio disentildeo

Autonomiacutea de comunicacioacuten Habilidad de un componente del para decidir como y cuando comunicarse con otros SMBD

Autonomiacutea de ejecucioacuten Habilidad de un componente del para ejecutar operaciones locales como quiera

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

12 Disentildeo de un sistema de bases de datos distribuidas El disentildeoacute de una BDD involucra 4 pasos

1 Disentildeo del esquema conceptual donde se describe la BD integral2 Disentildeo de fragmentacioacuten3 Disentildeo de la asignacioacuten de los fragmentos4 Disentildeo de la BD fiacutesica (transformar los esquemas locales en aacutereas de almacenamiento y determinar meacutetodos de acceso apropiados) La fragmentacioacuten y asignacioacuten de los datos caracterizan el disentildeo de BDD La fragmentacioacuten se ocupa fundamentalmente de los criterios loacutegicos que motivan la divisioacuten de relaciones globales en fragmentos mientras que la asignacioacuten se ocupa de los aspectos fiacutesicos de su ubicacioacuten y reacuteplicas en sitios aunque hay una diferencia entre ambos procesos su interrelacioacuten es importante para obtener un disentildeo oacuteptimoEn caso que tambieacuten se distribuyan las aplicaciones debemos tener en cuenta el disentildeo de los esquemas los requerimientos maacutes importantes de las aplicaciones tenemos las siguientes

1 Sitio que comparte una aplicacioacuten2 Frecuencia de activacioacuten de la aplicacioacuten3 Cantidad tipo y distribucioacuten estadiacutestica de los accesos de cada aplicacioacuten a cada dato requeridoEn el disentildeo de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre coacutemo hay que distribuir los datos entre los sitios de la red

A los problemas que presentamos en el disentildeo de las Bases de Datos Centralizadas (BDC) se le antildeaden otros nuevos cuando disentildeamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucioacuten oacuteptima de datos y de las aplicaciones en los diferentes sitios

Cuando pensamos en el disentildeo de las bases de datos distribuidas debemos tener en cuenta la ubicacioacuten de los programas que accederaacuten a las bases de datos y sobre los propios datos que constituyen la base de datos en diferentes puntos de una red

Sobre la ubicacioacuten 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) ubicariacuteamos la base de dato en cada maquina donde se utilice o pensariacuteamos en repartir las relaciones por toda la red

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 2: Unidad1 Bases De Datos Distribuidas

Cuando disentildeamos un sistema de base de datos distribuida debemos tener en cuanto algunas caracteriacutesticas 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 maacutes frecuentes 1048707 Mejora la fiabilidad si la computadora de un sitio se cae el resto de la red sigue funcionando 1048707 Permitir el control local de los datos en un sitio mejora el grado de satisfaccioacuten de los usuarios con relacioacuten al sistema de BD 1048707 Cuando cada sitio procesa sus datos locales se elimina un poco el traacutefico de la red pero si los sitios usan frecuentemente datos almacenados en otros sitios las comunicaciones pueden convertirse en un cuello de botella

11 ARQUITECTURA

En un sistema de bases de datos distribuidas existen varios factores que deben tomar en consideracioacuten que definen la arquitectura del sistema

Distribucioacuten Los componentes del sistema estaacuten localizados en la misma computadora o no

Heterogeneidad Un sistema es heterogeacuteneo cuando existen en eacutel componentes que se ejecutan en diversos sistemas operativos de diferentes fuentes etc

Autonomiacutea Se puede presentar en diferentes niveles los cuales se describen a continuacioacuten Autonomiacutea de disentildeo Habilidad de un componente del para decidir cuestiones relacionadas a su propio disentildeo

Autonomiacutea de comunicacioacuten Habilidad de un componente del para decidir como y cuando comunicarse con otros SMBD

Autonomiacutea de ejecucioacuten Habilidad de un componente del para ejecutar operaciones locales como quiera

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

12 Disentildeo de un sistema de bases de datos distribuidas El disentildeoacute de una BDD involucra 4 pasos

1 Disentildeo del esquema conceptual donde se describe la BD integral2 Disentildeo de fragmentacioacuten3 Disentildeo de la asignacioacuten de los fragmentos4 Disentildeo de la BD fiacutesica (transformar los esquemas locales en aacutereas de almacenamiento y determinar meacutetodos de acceso apropiados) La fragmentacioacuten y asignacioacuten de los datos caracterizan el disentildeo de BDD La fragmentacioacuten se ocupa fundamentalmente de los criterios loacutegicos que motivan la divisioacuten de relaciones globales en fragmentos mientras que la asignacioacuten se ocupa de los aspectos fiacutesicos de su ubicacioacuten y reacuteplicas en sitios aunque hay una diferencia entre ambos procesos su interrelacioacuten es importante para obtener un disentildeo oacuteptimoEn caso que tambieacuten se distribuyan las aplicaciones debemos tener en cuenta el disentildeo de los esquemas los requerimientos maacutes importantes de las aplicaciones tenemos las siguientes

1 Sitio que comparte una aplicacioacuten2 Frecuencia de activacioacuten de la aplicacioacuten3 Cantidad tipo y distribucioacuten estadiacutestica de los accesos de cada aplicacioacuten a cada dato requeridoEn el disentildeo de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre coacutemo hay que distribuir los datos entre los sitios de la red

A los problemas que presentamos en el disentildeo de las Bases de Datos Centralizadas (BDC) se le antildeaden otros nuevos cuando disentildeamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucioacuten oacuteptima de datos y de las aplicaciones en los diferentes sitios

Cuando pensamos en el disentildeo de las bases de datos distribuidas debemos tener en cuenta la ubicacioacuten de los programas que accederaacuten a las bases de datos y sobre los propios datos que constituyen la base de datos en diferentes puntos de una red

Sobre la ubicacioacuten 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) ubicariacuteamos la base de dato en cada maquina donde se utilice o pensariacuteamos en repartir las relaciones por toda la red

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 3: Unidad1 Bases De Datos Distribuidas

11 ARQUITECTURA

En un sistema de bases de datos distribuidas existen varios factores que deben tomar en consideracioacuten que definen la arquitectura del sistema

Distribucioacuten Los componentes del sistema estaacuten localizados en la misma computadora o no

Heterogeneidad Un sistema es heterogeacuteneo cuando existen en eacutel componentes que se ejecutan en diversos sistemas operativos de diferentes fuentes etc

Autonomiacutea Se puede presentar en diferentes niveles los cuales se describen a continuacioacuten Autonomiacutea de disentildeo Habilidad de un componente del para decidir cuestiones relacionadas a su propio disentildeo

Autonomiacutea de comunicacioacuten Habilidad de un componente del para decidir como y cuando comunicarse con otros SMBD

Autonomiacutea de ejecucioacuten Habilidad de un componente del para ejecutar operaciones locales como quiera

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

12 Disentildeo de un sistema de bases de datos distribuidas El disentildeoacute de una BDD involucra 4 pasos

1 Disentildeo del esquema conceptual donde se describe la BD integral2 Disentildeo de fragmentacioacuten3 Disentildeo de la asignacioacuten de los fragmentos4 Disentildeo de la BD fiacutesica (transformar los esquemas locales en aacutereas de almacenamiento y determinar meacutetodos de acceso apropiados) La fragmentacioacuten y asignacioacuten de los datos caracterizan el disentildeo de BDD La fragmentacioacuten se ocupa fundamentalmente de los criterios loacutegicos que motivan la divisioacuten de relaciones globales en fragmentos mientras que la asignacioacuten se ocupa de los aspectos fiacutesicos de su ubicacioacuten y reacuteplicas en sitios aunque hay una diferencia entre ambos procesos su interrelacioacuten es importante para obtener un disentildeo oacuteptimoEn caso que tambieacuten se distribuyan las aplicaciones debemos tener en cuenta el disentildeo de los esquemas los requerimientos maacutes importantes de las aplicaciones tenemos las siguientes

1 Sitio que comparte una aplicacioacuten2 Frecuencia de activacioacuten de la aplicacioacuten3 Cantidad tipo y distribucioacuten estadiacutestica de los accesos de cada aplicacioacuten a cada dato requeridoEn el disentildeo de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre coacutemo hay que distribuir los datos entre los sitios de la red

A los problemas que presentamos en el disentildeo de las Bases de Datos Centralizadas (BDC) se le antildeaden otros nuevos cuando disentildeamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucioacuten oacuteptima de datos y de las aplicaciones en los diferentes sitios

Cuando pensamos en el disentildeo de las bases de datos distribuidas debemos tener en cuenta la ubicacioacuten de los programas que accederaacuten a las bases de datos y sobre los propios datos que constituyen la base de datos en diferentes puntos de una red

Sobre la ubicacioacuten 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) ubicariacuteamos la base de dato en cada maquina donde se utilice o pensariacuteamos en repartir las relaciones por toda la red

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 4: Unidad1 Bases De Datos Distribuidas

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

12 Disentildeo de un sistema de bases de datos distribuidas El disentildeoacute de una BDD involucra 4 pasos

1 Disentildeo del esquema conceptual donde se describe la BD integral2 Disentildeo de fragmentacioacuten3 Disentildeo de la asignacioacuten de los fragmentos4 Disentildeo de la BD fiacutesica (transformar los esquemas locales en aacutereas de almacenamiento y determinar meacutetodos de acceso apropiados) La fragmentacioacuten y asignacioacuten de los datos caracterizan el disentildeo de BDD La fragmentacioacuten se ocupa fundamentalmente de los criterios loacutegicos que motivan la divisioacuten de relaciones globales en fragmentos mientras que la asignacioacuten se ocupa de los aspectos fiacutesicos de su ubicacioacuten y reacuteplicas en sitios aunque hay una diferencia entre ambos procesos su interrelacioacuten es importante para obtener un disentildeo oacuteptimoEn caso que tambieacuten se distribuyan las aplicaciones debemos tener en cuenta el disentildeo de los esquemas los requerimientos maacutes importantes de las aplicaciones tenemos las siguientes

1 Sitio que comparte una aplicacioacuten2 Frecuencia de activacioacuten de la aplicacioacuten3 Cantidad tipo y distribucioacuten estadiacutestica de los accesos de cada aplicacioacuten a cada dato requeridoEn el disentildeo de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre coacutemo hay que distribuir los datos entre los sitios de la red

A los problemas que presentamos en el disentildeo de las Bases de Datos Centralizadas (BDC) se le antildeaden otros nuevos cuando disentildeamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucioacuten oacuteptima de datos y de las aplicaciones en los diferentes sitios

Cuando pensamos en el disentildeo de las bases de datos distribuidas debemos tener en cuenta la ubicacioacuten de los programas que accederaacuten a las bases de datos y sobre los propios datos que constituyen la base de datos en diferentes puntos de una red

Sobre la ubicacioacuten 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) ubicariacuteamos la base de dato en cada maquina donde se utilice o pensariacuteamos en repartir las relaciones por toda la red

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 5: Unidad1 Bases De Datos Distribuidas

12 Disentildeo de un sistema de bases de datos distribuidas El disentildeoacute de una BDD involucra 4 pasos

1 Disentildeo del esquema conceptual donde se describe la BD integral2 Disentildeo de fragmentacioacuten3 Disentildeo de la asignacioacuten de los fragmentos4 Disentildeo de la BD fiacutesica (transformar los esquemas locales en aacutereas de almacenamiento y determinar meacutetodos de acceso apropiados) La fragmentacioacuten y asignacioacuten de los datos caracterizan el disentildeo de BDD La fragmentacioacuten se ocupa fundamentalmente de los criterios loacutegicos que motivan la divisioacuten de relaciones globales en fragmentos mientras que la asignacioacuten se ocupa de los aspectos fiacutesicos de su ubicacioacuten y reacuteplicas en sitios aunque hay una diferencia entre ambos procesos su interrelacioacuten es importante para obtener un disentildeo oacuteptimoEn caso que tambieacuten se distribuyan las aplicaciones debemos tener en cuenta el disentildeo de los esquemas los requerimientos maacutes importantes de las aplicaciones tenemos las siguientes

1 Sitio que comparte una aplicacioacuten2 Frecuencia de activacioacuten de la aplicacioacuten3 Cantidad tipo y distribucioacuten estadiacutestica de los accesos de cada aplicacioacuten a cada dato requeridoEn el disentildeo de un sistema de bases de datos distribuidas debemos tener en cuenta algunas estrategias y objetivos y se deben en paralelo tomar decisiones sobre coacutemo hay que distribuir los datos entre los sitios de la red

A los problemas que presentamos en el disentildeo de las Bases de Datos Centralizadas (BDC) se le antildeaden otros nuevos cuando disentildeamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucioacuten oacuteptima de datos y de las aplicaciones en los diferentes sitios

Cuando pensamos en el disentildeo de las bases de datos distribuidas debemos tener en cuenta la ubicacioacuten de los programas que accederaacuten a las bases de datos y sobre los propios datos que constituyen la base de datos en diferentes puntos de una red

Sobre la ubicacioacuten 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) ubicariacuteamos la base de dato en cada maquina donde se utilice o pensariacuteamos en repartir las relaciones por toda la red

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 6: Unidad1 Bases De Datos Distribuidas

A los problemas que presentamos en el disentildeo de las Bases de Datos Centralizadas (BDC) se le antildeaden otros nuevos cuando disentildeamos Bases de Datos Distribuidas (BDD) entre los cuales se destacan la distribucioacuten oacuteptima de datos y de las aplicaciones en los diferentes sitios

Cuando pensamos en el disentildeo de las bases de datos distribuidas debemos tener en cuenta la ubicacioacuten de los programas que accederaacuten a las bases de datos y sobre los propios datos que constituyen la base de datos en diferentes puntos de una red

Sobre la ubicacioacuten 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) ubicariacuteamos la base de dato en cada maquina donde se utilice o pensariacuteamos en repartir las relaciones por toda la red

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 7: Unidad1 Bases De Datos Distribuidas

La organizacioacuten de los sistemas de bases de datos distribuidos se ha clasificado tradicionalmente sobre el nivel de comparticioacuten caracteriacutesticas de acceso y nivel de conocimiento de los datos

1 InexistenciaLos datos y programas se ejecutan en un ordenador sin que exista comunicacioacuten entre ellos 2 Se comparten datos y no programas Existe una reacuteplica de los programas de aplicacioacuten en cada maacutequina y los datos viajan a traveacutes 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

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 8: Unidad1 Bases De Datos Distribuidas

Duplicacioacuten de los datos

La duplicacioacuten de los datos ocurre si el sistema mantiene varias copias de una relacioacuten R con cada copia almacenada en un sitio diferenteExisten dos modelos baacutesicos de replica 1 Consistencia estrechaEste modelo que garantiza que todas las reacuteplicas sean constantemente ideacutenticas a la original requiere una red de alta velocidad disminuye la disponibilidad de la base de datos 2 Consistencia anchaEl 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 esteacute disponible maacutes tiempo que el modelo de consistencia estrecha Permite conexiones tanto raacutepidas como lentas soportadas en WANs o LANs

La duplicacioacuten se introduce para aumentar la disponibilidad del sistema cuando una copia no estaacute disponible debido a un fallo de un sitio seriacutea posible tener acceso a otra copia Con la duplicacioacuten tambieacuten se mejora el rendimiento puesto que las transacciones tienen mayor probabilidad de encontrar una copia localmente El inconveniente estaacute en el costo extra del almacenamiento adicional y del mantenimiento de la consistencia mutua entre las copias cuando tenemos replicacioacuten

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 9: Unidad1 Bases De Datos Distribuidas

Proceso de Disentildeo Top ndash Down

Top ndash 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 funcioacuten de resolver las diferentes partes de dicho proyecto

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 10: Unidad1 Bases De Datos Distribuidas

Un esquema top-dow

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 11: Unidad1 Bases De Datos Distribuidas

El disentildeo 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 disentildeo bottom-up de una base de datos distribuida requiere de la seleccioacuten de un modelo de bases de datos comuacuten para describir el esquema global de la base de datos Esto se debe es posible que se utilicen diferentes SMBD Despueacutes se hace la traduccioacuten de cada esquema local en el modelo de datos comuacuten y finalmente se hace la integracioacuten del esquema local en un esquema global comuacuten

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 12: Unidad1 Bases De Datos Distribuidas

13 Arquitectura Cliente Servidor Los sistemas clienteservidor 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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 13: Unidad1 Bases De Datos Distribuidas

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 maacutes servidores procesan una misma base de datos el sistema no es considerado cliente servidor maacutes bien es conocido como sistema de base de datos distribuido Funciones del cliente1048707 Administrar la interfaz de usuario1048707 Aceptar datos del usuario1048707 Procesar la loacutegica de la aplicacioacuten1048707 Generar las solicitudes para la base de datos1048707 Trasmitir las solicitudes de la base de datos al servidor1048707 Recibir los resultados del servidor1048707 Dar formatos a los resultados

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 14: Unidad1 Bases De Datos Distribuidas

Funciones del servidor1048707 Aceptar las solicitudes de la base de datos de los clientes1048707 Procesar las solicitudes de los clientes1048707 Dar formato a los resultados y trasmitirlos al cliente1048707 Llevar a cabo la verificacioacuten de integridad1048707 Mantener los datos generales de la base de +datos1048707 Proporcionar control de acceso concurrente1048707 Llevar a cabo la recuperacioacuten1048707 Optimizar el procesamiento de consultaactualizacioacuten Una desventaja de los sistemas cliente servidor es el control Las computadoras clientes operan en forma simultaacutenea y procesan las aplicaciones en paralelo lo cual hace maacutes difiacutecil el control de los problemas de peacuterdidas por actualizacioacuten y otros problemas que provoca el control multiusuario

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 15: Unidad1 Bases De Datos Distribuidas

Filosofiacutea cliente servidor

El teacutermino clienteservidor describe un sistema en el que una maacutequina cliente solicita a una segunda maacutequina llamada servidor que ejecute una tarea especiacutefica

El cliente suele ser una computadora personal comuacuten conectada a una LAN y el servidor es por lo general una maacutequina anfitriona como un servidor de archivos PC un servidor de archivos de UNIX o una microcomputadora o computadora de rango medio

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 16: Unidad1 Bases De Datos Distribuidas

LOS SOCKETS

ldquoLos sockets no son maacutes que puntos o mecanismos de comunicacioacuten entre procesos que permiten que un proceso hable ( emita o reciba informacioacuten ) con otro proceso incluso estando estos procesos en distintas maacutequinasrdquo

Un socket es al sistema de comunicacioacuten entre ordenadores lo que un buzoacuten o un teleacutefono es al sistema de comunicacioacuten entre personas un punto de comunicacioacuten entre dos agentes ( procesos o personas respectivamente ) por el cual se puede emitir o recibir informacioacuten

El mecanismo de comunicacioacuten viacutea sockets tiene los siguientes pasos

1) El proceso servidor crea un socket con nombre y espera la conexioacuten

2) El proceso cliente crea un socket sin nombre 3) El proceso cliente realiza una peticioacuten de conexioacuten al socket servidor 4) El cliente realiza la conexioacuten a traveacutes de su socket mientras el proceso servidor mantiene el socket servidor original con nombre

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 17: Unidad1 Bases De Datos Distribuidas

El RPC

(del ingleacutes Remote Procedure Call Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar coacutedigo en otra maacutequina 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 teniacutea que estar pendiente de las comunicaciones estando eacutestas 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 funcioacuten y enviando eacuteste de vuelta el resultado de dicha operacioacuten al cliente RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisioacuten de mensajes

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL

Page 18: Unidad1 Bases De Datos Distribuidas

CORBA

(Common Object Request Broker Architecture) es una arquitectura estaacutendar para sistemas de objetos distribuidos Permite una distribucioacuten coleccioacuten heterogeacutenea de objetos para interoperar Corba es un estaacutendar de sistema de objetos distribuidos que especifica la arquitectura que debe tener un sistema de objetos distribuidos y establece un modelo de objetos miacutenimo donde cada objeto obedece a una interfaz CORBA define una arquitectura para objetos distribuidos El paradigma baacutesico 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 Definicioacuten de Interface (IDL)Los objetos distribuidos son identificados por referencias a objetos las cuales son definidas por las interfaces IDL