PERODO ACADMICO: 2014-B ASIGNATURA: SIC534 BASE DE DATOS DISTRIBUIDAS GRUPO: GR1 PROFESOR: Ing. Echeverra Henry TIPO DE INSTRUMENTO: Tarea DESCRIPCIN: Sistemas Cliente-Servidor. FECHA DE ENTREGA LMITE: 26/10/2014 INTEGRANTES: Juan Castillo, Carlos Arboleda, Mariana Cuadrado
SISTEMAS CLIENTE/SERVIDOR A principios de 1990 los DBMS Cliente/servidor entraron en escena ocasionando un gran impacto tanto en la tecnologa de los DBMS como en la forma de hacer computacin. Algo importante que cabe recalcar es la diferencia que hay entre la funcionalidad que cumple el servidor y la que cumple el cliente, proporcionando de este modo dos niveles de arquitectura que facilitan el manejo de la complejidad de los DBMSs modernos y su distribucin. Desde el punto de vista de proceso, cliente/servidor, el cliente es cualquier proceso que solicita los servicios de otro proceso y viceversa para el servidor. Para el contexto de la materia se har referencia al software que se ejecuta tanto en la mquina del cliente como en la del servidor. La asignacin de funcionalidades para el cliente y el servidor varan de acuerdo al tipo de DBMS distribuido como es el caso del sistema relacional vs el sistema orientado a objetos. En los sistemas relacionales, el servidor es el que realiza la mayor parte de la gestin de datos mientras que el usuario cuenta con un mdulo de cliente DBMS que gestiona los datos que se almacenan en la cache del cliente, adems gestiona bloqueos de transacciones que pueden almacenarse en la cache.
La figura mostrada anterior es comn para los sistemas relacionales en donde la comunicacin entre cliente-servidor est a nivel de las sentencias SQL, es decir que el cliente pasa consultas SQL al servidor sin necesidad de comprender u optimizarlas. Hay diversos tipos de arquitecturas cliente-servidor, uno de los casos ms simples es mltiple cliente-un servidor, en el que se cuenta nicamente con un servidor y a este se pueden acceder varios clientes, concepto que no difiere mucho al de una base de datos centralizada. Una arquitectura cliente-servidor ms sofisticada es aquella que dispone de varios servidores (mltiples clientes-mltiples servidores), para este caso tenemos dos opciones para su administracin que son: Cada cliente administra su propia conexin con el servidor apropiado Cada cliente conoce su "servidor principal", y ste a su vez se comunica con otros servidores segn sea necesario. Para el primer caso se simplifica cdigo del servidor sin embargo carga con responsabilidades adicionales a la mquina del cliente (cliente pesado). Mientras que en el segundo caso las funcionalidades se concentran en el servidor, proporcionando transparencia al acceso de datos en la interfaz del servidor (Cliente ligero).
Desde una perspectiva diferente los DBMS cliente-servidor proporciona la misma vista que los sistemas peer-to-peer es decir que da a los usuarios una apariencia nica de una base de datos lgica mientras que los datos a nivel fsico pueden ser distribuidos. La diferencia entre los sistemas cliente-servidor y los peer-to-peer est en el paradigma arquitectnico que se utiliza para proporcionar la transparencia a los usuarios. Los diferentes tipos de servidores que pueden extenderse a partir de los sistemas cliente-servidor son: Client servers, ejecutan la interfaz de usuario. Application servers, ejecutan las programas de aplicacin. Database servers, ejecutan las funciones de administracin de bases de datos. Esta clasificacin nos lleva a una arquitectura de niveles donde los sitios se encuentran organizados como servidores especializados y no como ordenadores de uso general.
El enfoque del servidor de base de datos como una extensin de la arquitectura cliente-servidor presenta algunas ventajas como se muestra a continuacin: El enfoque nico a la gestin de datos permite desarrollar tcnicas especficas para incrementar la fiabilidad y disponibilidad de datos. El rendimiento global de la gestin de la base de datos mejora de manera significativa la integracin del sistema de base de datos y un sistema operativo de base de datos dedicado. Un servidor de base de datos puede aprovechar las arquitecturas de hardware recientes para mejorar el rendimiento y la disponibilidad de datos. Sin embargo puede presentarse una desventaja como es la sobrecarga por la comunicacin adicional entre la aplicacin y los servidores. El enfoque de aplicacin de servidor se puede ampliar mediante la introduccin de mltiples servidores de base de datos y varios servidores de aplicacin. Para este caso el servidor de aplicaciones se dedica a una o pocas aplicaciones mientras que los servidores de base de datos operan en forma de varios servidores.