El servidor satisface las peticiones realizadas por el sistema cliente.
Existen dos tipos de servidores:
a.Servidores de transacciones o servidor de consultas. Los clientes envían peticiones para realizar una acción que el servidor ejecutará devolviendo los resultados al cliente.
b.Servidores de datos. El servidor envía los datos a los clientes realizándose en estos el procesamiento de los datos para después enviar el resultado de vuelta al servidor.
La estructura de un sistema cliente-servidor puede verse en el siguiente esquema:
Son sistemas que han surgido debido a la necesidad de manejar sistemas de bases de datos extremadamente grandes (del orden de terabytes, esto es 1012 bytes), o que deben procesar gran cantidad de transacciones por segundo.
Estos sistemas mejoran la velocidad de procesamiento de Entrada-Salida (E/S) mediante el empleo de una CPU y de discos en paralelo, realizando muchas operaciones de manera simultánea y a una velocidad elevada que disminuye el tiempo empleado para realizar una tarea dada.
Se distinguen dos tipos de máquinas en paralelo:
Máquinas de grano grueso que consisten en un pequeño número de potentes procesadores.
Máquinas masivamente paralelas o de grano fino que utilizan miles de procesadores pequeños.
Entre sus inconvenientes se encuentran:
Costes de inicio. Una operación paralela puede estar compuesta por miles de procesos, pudiendo llegar a ser mucho mayor el tiempo de inicio que el tiempo real de procesamiento.
Interferencia. Pueden darse interferencias entre todos los procesos que se ejecutan en paralelo y que acceden de manera simultánea a los recursos compartidos del sistema.
Sesgo. El tiempo empleado para una tarea vendrá determinado por el tiempo empleado en el proceso más lento. No puede dividirse una tarea en partes exactamente iguales, por lo que se dice que habrá una distribución sesgada de tamaños.
Los sistemas en paralelo están formados por una serie de componentes (procesadores, memoria y discos) que se interconectan a través de una red de conexión. Se distinguen tres tipos de redes:
Bus. Los componentes se encuentra conectados a través de un único bus (canal) de conexión.
Malla. Los componentes se encuentran conectados formando una red reticular en la que los vértices se encuentran ocupados por los componentes.
Hipercubo. Los componentes se alojan en los vértices de una red cúbica tridimensional.
Aplicación práctica
Suponga que trabaja como administrador de una base de datos en una empresa que crece rápidamente cada año, y donde el trabajo principal consiste en el procesamiento de un elevado número de transacciones. ¿Qué sistema elegiría?
SOLUCIÓN
La empresa crece rápidamente, luego el tamaño de la base de datos también crecerá de manera exponencial. Por otro lado el trabajo principal del SGBD consiste en procesar un elevado número de transacciones.
La elección de un sistema en paralelo sería la más adecuada. Estos sistemas son capaces de manejar bases de datos extremadamente grandes, y además pueden procesar gran cantidad de transacciones por segundo.
5.4.Sistemas distribuidos
En estos sistemas la base de datos se almacena en varios ordenadores conectados a través de redes de alta velocidad o líneas telefónicas. Los ordenadores que componen el sistema, también denominados sitios o nodos, no comparten ni memoria ni discos, y pueden variar en tamaño y función. Además, estos nodos pueden encontrarse en lugares geográficos muy distintos.
Existen dos tipos de transacciones:
Transacciones locales. Cuando se accede a datos del nodo que inició la transacción.
Transacciones globales. Cuando se accede a datos de un nodo distinto o acceso a datos de varios nodos distintitos.
En cuanto a las ventajas que ofrecen los sistemas distribuidos frente a otros:
Acceso a los datos alojados en sitios distintos. Por ejemplo, dos sucursales bancarias.
Cada sistema es autónomo, y por tanto controlado por su propio administrador del sistema.
Seguridad y disponibilidad de los datos. Por ejemplo, si falla un nodo los datos pueden encontrarse disponibles a través de otro si se encuentran duplicados.
Sabía que...
Existen básicamente dos tipos de redes: redes de área local, en las que los equipos que la componen (ordenadores, discos, impresoras, etc.) se encuentran en áreas geográficas pequeñas (edificios, almacenes, centros de trabajo, etc.), y redes de área amplia, donde los equipos que la componen se encuentran distribuidos en un área geográfica extensa, como puede ser un país, varios o incluso el mundo.
Las bases de datos distribuidas pueden almacenar la información de dos maneras: mediante Réplica o mediante Fragmentación. En la primera el sistema mantiene copias idénticas de la información, y guarda copias en sitios diferentes. En la segunda, la información se divide en fragmentos y se guarda cada fragmento en sitios distintos.
Читать дальше