Bases de datosDistribuidas y basesde datos Cliente-ServidorConceptos básicos
Bases de Datos Distribuidas:Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamenterela...
correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básicaseguirá siendo la misma.U...
Tabla 1. Diferencias entre bases de datos Cliente-servidor y Distribuidas.Enumeración de ventajas y desventajas.Bases de d...
se tiene.                             2) El paradigma de C/S clásico no tiene la                                robustez d...
5) Economía - es más barato crear una red de                 muchas computadoras pequeñas, que tener                 una s...
los fragmentos en sitios específicos.Reglas de operación que tienen las bases de datos distribuidas:El principio fundament...
҉ Independencia con respecto a la red: El sistema debe poder ejecutarse en diferentes  redes.҉ Todos los usuarios accesan ...
Bibliografía / Referencias en Internet* Cliente-servidoro http://bit.ly/WXnu5R* Cliente/servidor y Bases de Datos distribu...
Upcoming SlideShare
Loading in...5
×

Bases de datos distribuidas y bases de datos cliente

1,401

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,401
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
65
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bases de datos distribuidas y bases de datos cliente

  1. 1. Bases de datosDistribuidas y basesde datos Cliente-ServidorConceptos básicos
  2. 2. Bases de Datos Distribuidas:Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamenterelacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidorcorriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDDtienen la capacidad de realizar procesamiento autónomo, esto permite realizar operacioneslocales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cualmúltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal formaque, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la redexactamente como si estos fueran accedidos de forma local.Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principalesfactores que distinguen un SBDD de un sistema centralizado son los siguientes:Hay múltiples computadores, llamados sitios o nodos.Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones paratransmitir datos y órdenes entre los sitios.Aplicaciones de las bases de datos distribuidas:Las Bases de Datos Distribuidas se utilizan cuando los datos se encuentran en diferentes máquinas,generalmente situados en localizaciones geográficas diferentes (homogéneas o no).Bases de datos Cliente-servidor:La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas sereparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes,llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta.Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora,aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red decomputadoras.En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores,aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de lagestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseñodel sistema.La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no seejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tiposespecíficos de servidores incluyen los servidores web, los servidores de archivo, los servidores del 1
  3. 3. correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básicaseguirá siendo la misma.Una disposición muy común son los sistemas multicapa en los que el servidor se descompone endiferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así elgrado de distribución del sistema.La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no haydistribución, tanto a nivel físico como a nivel lógico.La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes estánconectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que secuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Estosignifica que todas las gestiones que se realizan se concentran en el servidor, de manera que en élse disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos queson de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que,por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente encaso de que se esté utilizando en una red mixta.Aplicaciones de bases de datos Cliente-servidor:La mayoría de los servicios de Internet son tipo de cliente-servidor. La acción de visitar un sitioweb requiere una arquitectura cliente-servidor, ya que el servidor web sirve las páginas web alnavegador (al cliente). Por ejemplo al logueate con tu cuenta de Twitter, la computadora y elnavegador web del usuario serían considerados un cliente; y las computadoras, las bases de datos,y los usos que componen Twitter serían considerados el servidor. Cuando el navegador web delusuario solicita buscar la cuenta de otro usuario, el servidor de Twitter recopila toda lainformación a mostrar en la base de datos de Twitter, la articula en una página web, y la envía denuevo al navegador web del cliente.Otro ejemplo podría ser el funcionamiento de un juego online. Si existen dos servidores de juego,cuando un usuario lo descarga y lo instala en su computadora pasa a ser un cliente. Si trespersonas juegan en un solo computador existirían dos servidores, un cliente y tres usuarios. Sicada usuario instala el juego en su propio ordenador existirían dos servidores, tres clientes y tresusuarios. 2
  4. 4. Tabla 1. Diferencias entre bases de datos Cliente-servidor y Distribuidas.Enumeración de ventajas y desventajas.Bases de datos Ventajas 1) Centralización del control: los accesos,“Cliente/Servidor”: recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema. Esta centralización también facilita la tarea de poner al día datos u otros recursos (mejor que en las redes P2P).. 2) Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores). 3) Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus clientes no se verán afectados por ese cambio (o se afectarán mínimamente). Esta independencia de los cambios también se conoce como encapsulación. 4) Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de empleo. Desventajas 1) La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de clientes envían peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para éste (a mayor número de clientes, más problemas para el servidor). Al contrario, en las redes P2P como cada nodo en la red hace también de servidor, cuantos más nodos hay, mejor es el ancho de banda que 3
  5. 5. se tiene. 2) El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un servidor está caído, las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de redes P2P, los recursos están generalmente distribuidos en varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros pueden todavía acabar de descargar consiguiendo datos del resto de los nodos en la red. 3) El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el coste. 4) El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicación es una Web, no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana previa de impresión de los navegadores.Bases de datos Ventajas 1) Refleja una estructura organizacional - los“Distribuidas”: fragmentos de la base de datos se ubican en los departamentos a los que tienen relación. 2) Autonomía local - un departamento puede controlar los datos que le pertenecen. 3) Disponibilidad - un fallo en una parte del sistema solo afectará a un fragmento, en lugar de a toda la base de datos. 4) Rendimiento - los datos generalmente se ubican cerca del sitio con mayor demanda, también los sistemas trabajan en paralelo, lo cual permite balancear la carga en los servidores. 4
  6. 6. 5) Economía - es más barato crear una red de muchas computadoras pequeñas, que tener una sola computadora muy poderosa. 6) Modularidad - se pueden modificar, agregar o quitar sistemas de la base de datos distribuida sin afectar a los demás sistemas (módulos).Desventajas 1) Complejidad - Se debe asegurar que la base de datos sea transparente, se debe lidiar con varios sistemas diferentes que pueden presentar dificultades únicas. El diseño de la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida, por lo cual no podemos pensar en hacer joins que afecten varios sistemas. 2) Economía - la complejidad y la infraestructura necesaria implica que se necesitará una mayor mano de obra. 3) Seguridad - se debe trabajar en la seguridad de la infraestructura así como cada uno de los sistemas. 4) Integridad - Se vuelve difícil mantener la integridad, aplicar las reglas de integridad a través de la red puede ser muy caro en términos de transmisión de datos. 5) Falta de experiencia - las bases de datos distribuidas son un campo relativamente nuevo y poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados. 6) Carencia de estándares - aún no existen herramientas o metodologías que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido. 7) Diseño de la base de datos se vuelve más complejo - además de las dificultades que generalmente se encuentran al diseñar una base de datos, el diseño de una base de datos distribuida debe considerar la fragmentación, replicación y ubicación de 5
  7. 7. los fragmentos en sitios específicos.Reglas de operación que tienen las bases de datos distribuidas:El principio fundamental es que para el usuario un sistema distribuido debe ser igual que unocentralizado. ҉ Autonomía Local: Los sitios distribuidos deben ser autónomos, es decir que todas las operaciones en un sitio dado se controlan en ese sitio. ҉ No dependencia de un sitio central: No debe de haber dependencia de un sitio central para obtener un servicio. ҉ Operación Continua: Nunca debería apagarse para que se pueda realizar alguna función, como añadir un nuevo sitio. ҉ Independencia con respecto a la localización: No debe de ser necesario que los usuarios sepan dónde están almacenados físicamente los datos, sino que más el usuario lo debe de ver como si solo existiera un sitio local. ҉ Independencia con respecto a la fragmentación: La fragmentación es deseable por razones de desempeño, los datos, pueden almacenarse en la localidad donde se utilizan con mayor frecuencia de manera que la mayor parte de las operaciones sean sólo locales y se reduzca el tráfico en la red. ҉ Independencia de réplica: Si una relación dada (es decir, un fragmento dado de una relación) se puede presentar en el nivel físico mediante varias copias almacenadas o réplicas, en muchos sitios distintos. ҉ Procesamiento Distribuido de Consultas: El objetivo es convertir transacciones de usuario en instrucciones para manipulación de datos, y así reducir el trafico en la red implica que el proceso mismo de optimización de consultas debe ser distribuido. ҉ Manejo Distribuido de Transacciones: Tiene dos aspectos principales, el control de recuperación y el control de concurrencia, cada uno de los cuales requiere un tratamiento más amplio en el ambiente distribuido. ҉ Independencia con respecto al equipo: El SGBDD debe ser ejecutable en diferentes plataformas hardware. ҉ Independencia con respecto al Sistema Operativo: El sistema debe ser ejecutable varios diferentes SO. 6
  8. 8. ҉ Independencia con respecto a la red: El sistema debe poder ejecutarse en diferentes redes.҉ Todos los usuarios accesan a la BDD a través de un esquema global en forma transparente al usuario. Debe ser posible ejecutar diferentes SGBDD locales que utilicen distintos modelos de datos. 7
  9. 9. Bibliografía / Referencias en Internet* Cliente-servidoro http://bit.ly/WXnu5R* Cliente/servidor y Bases de Datos distribuidas. Implementación práctica de solucionesdistribuidaso http://bit.ly/WEZdQW* BASES DE DATOS DISTRIBUIDASo http://bit.ly/11qSA6U* Bases de datos distribuidaso http://bit.ly/11nhGbq* BASE DE DATOS DISTRIBUIDASO http://bit.ly/WG6jHD* Comparativa Arquitectura Cliente/Servidor y Distribuidao http://bit.ly/VrVRAg 8

×