Arquitectura cliente servidor

18
ARQUITECTURA CLIENTE SERVIDOR Miguel Orquera

Transcript of Arquitectura cliente servidor

Page 1: Arquitectura cliente servidor

ARQUITECTURA CLIENTE

SERVIDOR

Miguel Orquera

Page 2: Arquitectura cliente servidor

La arquitectura de un sistema de bases de datos

está influida en gran medida por el sistema informático subyacente en el que se ejecuta, en concreto por aspectos de la arquitectura de la computadora como la conexión en red, el paralelismo y la distribución: La conexión en red de varias computadoras permite

que algunas tareas se ejecuten en un sistema servidor y que otras se ejecuten en los sistemas clientes. Esta división de trabajo ha conducido al desarrollo de sistemas de bases de datos cliente-servidor.

Arquitectura Cliente servidor

Page 3: Arquitectura cliente servidor

• El procesamiento paralelo dentro de una

computadora permite acelerar las actividades del sistema de base de datos, proporcionando a las transacciones unas respuestas más rápidas, así como la capacidad de ejecutar más transacciones por segundo. Las consultas pueden procesarse de manera que se explote el paralelismo ofrecido por el sistema informático subyacente. La necesidad del procesamiento paralelo de consultas ha conducido al desarrollo de los sistemas de bases de datos paralelos.

Arquitectura paralela de BD

Page 4: Arquitectura cliente servidor

La distribución de datos a través de las distintas sedes de

una organización permite que estos datos residan donde han sido generados o donde son más necesarios, pero continuar siendo accesibles desde otros lugares o departamentos diferentes. El hecho de guardar varias copias de la base de datos en diferentes sitios permite que puedan continuar las operaciones sobre la base de datos aunque algún sitio se vea afectado por algún desastre natural como una inundación, un incendio o un terremoto. Se han desarrollado los sistemas distribuidos de bases de datos para manejar datos distribuidos geográfica o administrativamente a lo largo de múltiples sistemas de bases de datos.

Arquitectura distribuida de BD

Page 5: Arquitectura cliente servidor

Los sistemas de bases de datos centralizados son

aquellos que se ejecutan en un único sistema infor mático sin interaccionar con ninguna otra computadora. Tales sistemas comprenden el rango desde los sistemas de bases de datos monousuario ejecutándose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento ejecutándose en grandes sistemas. Por otro lado, los sistemas cliente -servidor tienen su funcionalidad dividida entre el sistema servidor y múltiples sistemas clientes.

Arquitecturas centralizadas y cliente-servidor

Page 6: Arquitectura cliente servidor

Una computadora moderna de propósito general consiste en

una mas unidades centrales procesamiento y un número determinado de controladores para los dispositivos que se encuentran conectados a través de un bus común, el cual proporciona acceso a la memoria compartida.

Las CPU (unidades centrales de procesamiento) poseen memorias caché locales donde se almacenan copias de ciertas partes de la memoria para acelerar el acceso a los datos. Cada controlador se encarga de un tipo específico de dispositivos (por ejemplo, una unidad de disco, tarjeta de sonido o un monitor). Las CPU y los controladores de dispositivos pueden ejecutarse concurrentemente compitiendo así por el acceso a la memoria. La memoria caché reduce la disputa el acceso a la memoria.

Sistemas centralizados

Page 7: Arquitectura cliente servidor

Se distinguen dos formas de utilizar las computadoras:

como sistemas mono usuario o multiusuario. En la primera categoría se encuentran las computadoras personales y las estaciones de trabajo. Un tema mono usuario típico es una pc utilizada por una única persona que dispone de una sola CPU, de uno o dos discos fijos y que trabaja con un sistema operativo que sólo permite un único usuario. Por el contrario, un sistema multiusuario típico tiene más discos y más memoria, puede disponer de varias CPU y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran número de usuarios que están conectados al sistema a través de terminales.

Sistemas centralizados

Page 8: Arquitectura cliente servidor

Aunque hoy en día las computadoras de propósito general disponen

de varios procesadores, utilizan paralelismo de grano grueso, disponiendo de unos pocos procesadores (normalmente dos o cuatro) comparten la misma memoria principal. Las bases de datos que se ejecutan en tales máquinas habitualmente no intentan dividir una consulta simple entre los distintos procesadores, sino que ejecutan consulta en un único procesador posibilitando la concurrencia de varias consultas. Así, estos sistemas soportan una mayor productividad, es decir, permiten ejecutar un mayor número de transacciones por segundo, a pesar de que cada transacción individualmente no se ejecute más rápido.

Por el contrario, las máquinas paralelas de grano fino disponen de un gran número de procesadores y los sistemas de bases de datos que se ejecutan sobre ellas intentan hacer paralelas las tareas simples (consultas, por ejemplo) que solicitan los usuarios.

Sistemas centralizados

Page 9: Arquitectura cliente servidor

Sistemas Centralizados

Page 10: Arquitectura cliente servidor

Como las computadoras personales son cada vez más

rápidas, más potentes y más baratas, los sistemas se han ido distanciando de la arquitectura centralizada. Los terminales conectados a un sistema central han sido suplantados por computadoras personales. De igual forma, la interfaz de usuario, que solía estar gestionada directamente por el sistema central, está pasando a ser gestionada, cada vez más, por las computadoras personales. Como consecuencia, los sistemas centralizados actúan hoy como sistemas servidores que satisfacen las peticiones generadas por los sistemas clientes.

Sistemas cliente servidor

Page 11: Arquitectura cliente servidor

Sistemas cliente servidor

Page 12: Arquitectura cliente servidor

La funcionalidad proporcionada por los sistemas de

bases de datos se puede dividir a grandes rasgos en dos partes: la fachada y el sistema subyacente. El sistema subyacente gestiona el acceso a las estructuras, la evaluación y optimización de consultas, el control de concurrencia y la recuperación. La fachada de un sistema de base de datos está formado por herramientas como la interfaz de usuario con SQL, interfaces de formularios, diseñadores de informes y herramientas para la recopilación y análisis de datos. La interfaz entre la fachada y el sistema subyacente puede ser SQL o una aplicación.

Sistemas cliente servidor

Page 13: Arquitectura cliente servidor

Las normas como ODBC y JDBC, se desarrollaron

para hacer de interfaz entre clientes y servidores. Cualquier cliente que utilice interfaces ODBC o JDBC puede conectarse a cualquier servidor que proporcione esta interfaz.

Ciertas aplicaciones como las hojas de cálculo y los paquetes de análisis estadístico utilizan la interfaz cliente-servidor directamente para acceder a los datos del servidor subyacente. De hecho, proporcionan interfaces visibles especiales para diferentes tareas.

Interfaces

Page 14: Arquitectura cliente servidor

Interfaces

Page 15: Arquitectura cliente servidor

Los sistemas que trabajan con una gran

cantidad de usuarios adoptan una arquitectura de tres capas, donde la fachada es el explorador Web que se comunica con un servidor de aplicaciones. El servidor de aplicaciones actúa como cliente del servidor de bases de datos.

Cliente servidor en tres capas

Page 16: Arquitectura cliente servidor

Cliente servidor en tres capas

Page 17: Arquitectura cliente servidor

Los servidores pueden dividirse en servidores de

transacciones y servidores de datos. Los sistemas servidores de transacciones, también

llamados sistemas servidores de consultas proporcionan una interfaz a través de la cual los clientes pueden enviar peticiones para realizar una acción que el servidor ejecutará y cuyos resultados se devolverán al cliente. Normalmente las máquinas cliente envían las transacciones a los sistemas servidores, lugar en el que transacciones se ejecutan, y los resultados se devuelven a los clientes que son los encargados visualizar los datos. Las peticiones se pueden especificar utilizando SQL o mediante la interfaz de una aplicación especializada.

Arquitecturas de sistemas servidores

Page 18: Arquitectura cliente servidor

Los sistemas servidores de datos permiten a los clientes

interaccionar con los servidores realizando peticiones de lectura o modificación de datos en unidades tales como archivos o páginas. Por ejemplo, los servidores de archivos proporcionan una interfaz de sistema de archivos a través de la cual los clientes pueden crear, modificar, leer y borrar archivos. Los servidores de datos de los sistemas de bases de datos ofrecen muchas más funcionalidades; soportan unidades de datos de menor tamaño que los archivos, como páginas, tuplas u objetos. Proporcionan facilidades de indexación de los datos así como facilidades de transacción de modo que los datos nunca sr quedan en un estado inconsistente si falla una máquina cliente o un proceso.

Arquitecturas de sistemas servidores