SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Bases de datos
Distribuidas y bases
de datos Cliente-
Servidor
Conceptos básicos
Bases de Datos Distribuidas:

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente
relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor
corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD
tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones
locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual
múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma
que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red
exactamente como si estos fueran accedidos de forma local.

Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principales
factores 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 para
transmitir 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 se
reparten 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 de
computadoras.

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 la
gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño
del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se
ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos
específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del




                                                                                                        1
correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica
seguirá siendo la misma.

Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en
diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el
grado de distribución del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay
distribució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án
conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se
cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto
significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él
se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que
son 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 en
caso 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 sitio
web requiere una arquitectura cliente-servidor, ya que el servidor web sirve las páginas web al
navegador (al cliente). Por ejemplo al logueate con tu cuenta de Twitter, la computadora y el
navegador 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 del
usuario solicita buscar la cuenta de otro usuario, el servidor de Twitter recopila toda la
información a mostrar en la base de datos de Twitter, la articula en una página web, y la envía de
nuevo 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 tres
personas juegan en un solo computador existirían dos servidores, un cliente y tres usuarios. Si
cada usuario instala el juego en su propio ordenador existirían dos servidores, tres clientes y tres
usuarios.




                                                                                                       2
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
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
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
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 uno
centralizado.



    ҉ 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
҉ 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
Bibliografía / Referencias en Internet

* Cliente-servidor

o http://bit.ly/WXnu5R

* Cliente/servidor y Bases de Datos distribuidas. Implementación práctica de soluciones
distribuidas

o http://bit.ly/WEZdQW

* BASES DE DATOS DISTRIBUIDAS

o http://bit.ly/11qSA6U

* Bases de datos distribuidas

o http://bit.ly/11nhGbq

* BASE DE DATOS DISTRIBUIDAS

O http://bit.ly/WG6jHD

* Comparativa Arquitectura Cliente/Servidor y Distribuida

o http://bit.ly/VrVRAg




                                                                                          8

Más contenido relacionado

La actualidad más candente

Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
259730295 unidad-1-contexto-de-la-programacion-cliente-servidor
259730295 unidad-1-contexto-de-la-programacion-cliente-servidor259730295 unidad-1-contexto-de-la-programacion-cliente-servidor
259730295 unidad-1-contexto-de-la-programacion-cliente-servidornoysielm098
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareLia IS
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlPipe Muñoz
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)marianela0393
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidasTensor
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Active Directory
Active DirectoryActive Directory
Active Directoryjessica
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datosralbarracin
 

La actualidad más candente (20)

cliente servidor
cliente servidorcliente servidor
cliente servidor
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
259730295 unidad-1-contexto-de-la-programacion-cliente-servidor
259730295 unidad-1-contexto-de-la-programacion-cliente-servidor259730295 unidad-1-contexto-de-la-programacion-cliente-servidor
259730295 unidad-1-contexto-de-la-programacion-cliente-servidor
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de Software
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
 
Ensayo de php
Ensayo de phpEnsayo de php
Ensayo de php
 

Destacado

Comparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y DistribuidaComparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y DistribuidaSergio Olivares
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidasMax Perez
 
DAP - Configuracion ambiente de desarrollo
DAP - Configuracion ambiente de desarrolloDAP - Configuracion ambiente de desarrollo
DAP - Configuracion ambiente de desarrolloYesith Valencia
 
Desarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónDesarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónYesith Valencia
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Base De Datos Moviles
Base De Datos MovilesBase De Datos Moviles
Base De Datos Movilesguest8d7627
 
Programación Web - Introducción
Programación Web - IntroducciónProgramación Web - Introducción
Programación Web - IntroducciónYesith Valencia
 
NuSoap & Test Web Services
NuSoap & Test Web ServicesNuSoap & Test Web Services
NuSoap & Test Web ServicesYesith Valencia
 
Base de datos distribuidas vs centralizadas
Base de datos distribuidas vs centralizadasBase de datos distribuidas vs centralizadas
Base de datos distribuidas vs centralizadasEduardo Simon Hernandez
 
Estándares para los centros de computo
Estándares para los centros de computoEstándares para los centros de computo
Estándares para los centros de computoJessy Zuñiga
 

Destacado (20)

BASE DE DATOS DISTRIBUIDAS
BASE DE DATOS DISTRIBUIDASBASE DE DATOS DISTRIBUIDAS
BASE DE DATOS DISTRIBUIDAS
 
Comparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y DistribuidaComparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y Distribuida
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Java script
Java scriptJava script
Java script
 
DAP - Configuracion ambiente de desarrollo
DAP - Configuracion ambiente de desarrolloDAP - Configuracion ambiente de desarrollo
DAP - Configuracion ambiente de desarrollo
 
Desarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales IntroducciónDesarrollo de aplicaciones empresariales Introducción
Desarrollo de aplicaciones empresariales Introducción
 
MVC: El modelo
MVC: El modeloMVC: El modelo
MVC: El modelo
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Base De Datos Moviles
Base De Datos MovilesBase De Datos Moviles
Base De Datos Moviles
 
Programación Web - Introducción
Programación Web - IntroducciónProgramación Web - Introducción
Programación Web - Introducción
 
MVC: La Vista
MVC: La VistaMVC: La Vista
MVC: La Vista
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
NuSoap & Test Web Services
NuSoap & Test Web ServicesNuSoap & Test Web Services
NuSoap & Test Web Services
 
SOAP
SOAPSOAP
SOAP
 
1 introduccion
1 introduccion1 introduccion
1 introduccion
 
Web services
Web servicesWeb services
Web services
 
Base de datos distribuidas vs centralizadas
Base de datos distribuidas vs centralizadasBase de datos distribuidas vs centralizadas
Base de datos distribuidas vs centralizadas
 
Html
HtmlHtml
Html
 
Estándares para los centros de computo
Estándares para los centros de computoEstándares para los centros de computo
Estándares para los centros de computo
 

Similar a Bases de datos distribuidas y bases de datos cliente

Similar a Bases de datos distribuidas y bases de datos cliente (20)

Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Modelo cliente servidor
Modelo cliente servidor Modelo cliente servidor
Modelo cliente servidor
 
Aliaga
AliagaAliaga
Aliaga
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitectura Cliente Servidor desarrollo
Arquitectura Cliente Servidor desarrolloArquitectura Cliente Servidor desarrollo
Arquitectura Cliente Servidor desarrollo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Tendenia
TendeniaTendenia
Tendenia
 
Tendencia
TendenciaTendencia
Tendencia
 
Tendencia
TendenciaTendencia
Tendencia
 
Tendencia
TendenciaTendencia
Tendencia
 
Tendencia
TendenciaTendencia
Tendencia
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Bases de datos distribuida
Bases de datos distribuidaBases de datos distribuida
Bases de datos distribuida
 
Servidor - Cliente
Servidor - ClienteServidor - Cliente
Servidor - Cliente
 
Diferencias y semejanzas
Diferencias y semejanzasDiferencias y semejanzas
Diferencias y semejanzas
 
Concepto de redes
Concepto de redesConcepto de redes
Concepto de redes
 
Redes informaticas
Redes informaticasRedes informaticas
Redes informaticas
 
Desarrollo de pag
Desarrollo de pagDesarrollo de pag
Desarrollo de pag
 

Bases de datos distribuidas y bases de datos cliente

  • 1. Bases de datos Distribuidas y bases de datos Cliente- Servidor Conceptos básicos
  • 2. Bases de Datos Distribuidas: Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local. Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principales factores 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 para transmitir 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 se reparten 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 de computadoras. 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 la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del 1
  • 3. correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema. La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribució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án conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son 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 en caso 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 sitio web requiere una arquitectura cliente-servidor, ya que el servidor web sirve las páginas web al navegador (al cliente). Por ejemplo al logueate con tu cuenta de Twitter, la computadora y el navegador 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 del usuario solicita buscar la cuenta de otro usuario, el servidor de Twitter recopila toda la información a mostrar en la base de datos de Twitter, la articula en una página web, y la envía de nuevo 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 tres personas juegan en un solo computador existirían dos servidores, un cliente y tres usuarios. Si cada usuario instala el juego en su propio ordenador existirían dos servidores, tres clientes y tres usuarios. 2
  • 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. 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. 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. 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 uno centralizado. ҉ 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. ҉ 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. Bibliografía / Referencias en Internet * Cliente-servidor o http://bit.ly/WXnu5R * Cliente/servidor y Bases de Datos distribuidas. Implementación práctica de soluciones distribuidas o http://bit.ly/WEZdQW * BASES DE DATOS DISTRIBUIDAS o http://bit.ly/11qSA6U * Bases de datos distribuidas o http://bit.ly/11nhGbq * BASE DE DATOS DISTRIBUIDAS O http://bit.ly/WG6jHD * Comparativa Arquitectura Cliente/Servidor y Distribuida o http://bit.ly/VrVRAg 8