Arquitectura de Bases de Datos: Centralizada, Cliente-Servidor, Paralela y Distribuida

Clasificado en Informática

Escrito el en español con un tamaño de 17,7 KB

Aspectos sobresalientes de la Arquitectura de Bases de Datos

  • Conexión en red: En esta conexión de computadoras se verá la ejecución de tareas en un sistema servidor y en sistemas clientes. De aquí se deriva el sistema Cliente-Servidor.
  • Procesamiento Paralelo dentro de una computadora: Agiliza el proceso de las tareas dentro de una base de datos.
  • Distribución de Datos: Permite la accesibilidad de diferentes departamentos o puntos.

Sistemas Centralizados

Se ejecuta en el único sistema informático, sin interactuar con ningún otro sistema. La arquitectura está centralizada en un servidor central al que solo tienen acceso los usuarios del departamento correspondiente, no puede estar ubicada en varias partes sino en su totalidad en un solo equipo, a él podrán ingresar los usuarios que necesiten hacer uso de ella.

Características Funcionales

  • El ordenador central es el único ordenador de la organización.
  • Él contiene todos los datos y es el responsable de la consolidación de la información.
  • Desde el ordenador central se controla el acceso a múltiples terminales conectados a través de productos integrados en la arquitectura de red del suministrador.
  • Los terminales funcionan como esclavos del ordenador central.

Características físicas

  • Único ordenador corporativo dimensionado para soportar todos los procesos de la organización, todos los datos y las posibles comunicaciones con las delegaciones.
  • Una gran base de datos donde residen todos los datos del organismo.
  • Impresoras y terminales como puestos de trabajo conectados en grupos al ordenador central.

Características lógicas

  • En ejecución de todos los procesos en el ordenador corporativo.
  • Si la empresa está dispersa geográficamente y dispone de comunicaciones, todos los puestos de trabajo están conectados al ordenador formando una estrella.

Ventajas

  • Alto rendimiento, alta disponibilidad.
  • Entorno probado y personal experimentado.
  • Alto nivel de seguridad.
  • Control total del ordenador, al ser este el único y residente en un único centro de proceso de datos.

Inconvenientes

  • Arquitectura apropiada.
  • Alto precio del ordenador, al requerirse mucha potencia de tratamiento para dar servicio a todos los usuarios que estén conectados y gran espacio en disco para albergar todos los datos del organismo.
  • Alta dependencia de las comunicaciones si existen.
  • Interfaces de usuarios de caracteres y por lo tanto poco amigables.

Sistemas Cliente-Servidor

Arquitectura cliente-servidor

Es un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes.

Arquitectura múltiples cliente-servidor

Son más flexibles, ya que la base de datos es distribuida en varios servidores.

Arquitectura de igual a igual

Un DBMS verdadero no distingue entre cliente y servidor. Igualmente, cada máquina puede desempeñar la funcionalidad del cliente y de servidor.

Características

  • El servidor presenta a todos sus clientes una interfaz única y bien definida.
  • El cliente no necesita conocer la lógica del servidor, solo su interfaz externa.
  • El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra ni de su Sistema Operativo.
  • Los cambios en el servidor implican pocos o ningún cambio en el cliente.

Niveles

Primer nivel

Dicha distribución se realiza mediante el uso de productos para el maquillaje de las pantallas del mainframe. Esa técnica no exige el cambio en las aplicaciones orientadas a terminales, pero dificulta su mantenimiento. El servidor ejecuta todos los procesos y almacena la totalidad de los datos. En este caso se dice que hay una presentación distribuida.

Segundo nivel

La aplicación está soportada directamente por el servidor, excepto la presentación que es totalmente remota y reside en el cliente. En este caso se dice que hay una presentación remota.

Tercer nivel

La lógica de los procesos se divide entre los distintos componentes del cliente-servidor. El diseñador de la aplicación debe definir los servicios y las interfaces del sistema de información de forma que los papeles del cliente y servidor sean intercambiables, excepto el control de los datos que es responsabilidad exclusiva del servidor. En este caso se dice que hay proceso distribuido o cooperativo.

Cuarto nivel

El cliente realiza tanto las funciones de presentación como los procesos. El servidor almacena y gestiona los datos que permanecen en una base de datos centralizada. En este caso se dice que hay una gestión de datos remota.

Quinto nivel

El reparto de tareas es como el anterior y además el gestor de Base de Datos divide sus componentes entre el cliente-servidor. Las interfaces entre ambos están dentro de las funciones del gestor de datos y por lo tanto no tienen impacto en el desarrollo de las aplicaciones. En este nivel se conoce como bases de datos distribuidas.

Tipos

Arquitectura de 2 capas

Es una solución de 2 capas. Este consta de 3 componentes distribuidos en 2 capas: cliente (solicitante del servicio) y servicio (proveedor de servicios).

Componentes
  • Interfaz de usuario.
  • Gestión del procesamiento.
  • Gestión de la Base de Datos.
Tipos
  • Clientes obesos: la mayor parte de la lógica de la aplicación reside junto a la lógica de la presentación en el cliente, con la porción de acceso a datos en el servidor.
  • Clientes delgados: solo la lógica de la presentación reside en el cliente, con el acceso a datos y la mayoría de la lógica de la aplicación en el servidor.

Ojo: Es posible que un servidor funcione como cliente de otro servidor, esto se llamó diseño de dos capas encadenado.

Limitaciones
  • El número máximo de usuarios es de 100. Más allá de este número de usuarios se excede la capacidad de procesamiento.
  • No hay independencia entre la interfaz de usuario y los tratamientos, lo que hace delicada la evolución de las aplicaciones.
  • Dificultad de relocalizar las capas de tratamiento consumidoras de cálculo.
  • Reutilización delicada del programa desarrollado bajo esta arquitectura.

Arquitectura de 3 capas

Esta surgió para superar limitaciones de la arquitectura de 2 capas. La tercera capa está entre el interfaz de usuario y el gestor de datos. La capa intermedia proporciona gestión del procesamiento. Permite cientos de usuarios. Esta es usada cuando se necesita un diseño cliente/servidor que proporcione, en comparación con la arquitectura de 2 capas, incrementar el rendimiento, flexibilidad, mantenibilidad, reusabilidad y escalabilidad mientras se esconde la complejidad del procesamiento distribuido al usuario.

Limitaciones
  • Facilidad de desarrollo y comprobación.
  • Facilidad de administración.
  • Escalabilidad de los servicios.
  • Funcionamiento.
El Middleware

Es el software que proporciona un conjunto de servicios que permiten el acceso transparente a los recursos en una red. Es un módulo intermedio que actúa como conductor entre dos módulos de software. Es el encargado del acceso a los datos: acepta las consultas y datos recuperados directamente de la aplicación y los transmite por la red.

Ventajas

  • Aumento de la productividad: los usuarios pueden utilizar herramientas que le son familiares, como hojas de cálculo y herramientas de acceso a base de datos.
  • Menores costos de operación: permite un mayor aprovechamiento de los sistemas existentes protegiendo la inversión. Proporciona un mejor acceso a los datos.
  • Mejora en el rendimiento de la red: Tanto el cliente como el servidor pueden escalarse para ajustarse a las necesidades de las aplicaciones. La existencia de varias UCP proporciona una red más fiable. Las arquitecturas eliminan la necesidad de mover grandes bloques de información por la red hacia los ordenadores personales o estaciones de trabajo para su proceso.

Inconvenientes

  • Hay una alta complejidad tecnológica al tener que integrar una gran variedad de productos.
  • Requiere un fuerte rediseño de todos los elementos involucrados en los sistemas de información.
  • Es más difícil asegurar un elevado grado de seguridad en una red de clientes y servidores que en un sistema con un único ordenador centralizado.

Fase de implantación

Fase de iniciación

Esta etapa se centra sobre todo en la distribución física de los componentes entre plataformas. Existen 2 tipos de plataforma: Una plataforma cliente para la presentación. Una plataforma servidora para la ejecución de procesos y la gestión de los datos.

Fase de proliferación

Se caracteriza por la proliferación de plataformas clientes y servidores. Ahora, el entorno para la intersección entre clientes y servidores se hace mucho más complejo. Puede hacer una distinción entre:

  • Datos de servidores a los que se accede a través de una red de área extensa.
  • Datos a los que se accede a través de una red de área local.

Fase de control

En esta fase se consolidan los caminos de acceso desde una plataforma cliente particular a una plataforma servidora particular. Los conceptos en los que se debe poner especial énfasis son los siguientes:

  • Transparencia en la localización: Significa que la aplicación cliente no necesita saber nada acerca de la localización de los datos o procesos.
  • Gestión de copias: el sistema se debe configurar de forma que se permita copiar la información de los servidores.
  • Especialización de los equipos servidores en servidores de bases de datos o en servidores de aplicaciones.

Fase de integración

Se caracteriza por el papel conjunto que juega la gestión de accesos, la gestión de copias y la gestión de recursos.

Fase de madurez

Se caracteriza por una visión más flexible de las plataformas físicas del sistema que se contemplan como única unidad lógica.

Los sistemas Cliente-Servidor. Tipos de servidores

Servidor de Transacciones

También llamado sistemas servidores de consultas, proporcionan una interfaz a través de la cual los clientes consultan a la base de datos.

Servidor de datos

Permiten que los clientes puedan interactuar con los servidores realizando peticiones de lectura o modificación de datos en unidades tales como archivos o páginas. Sus características son:

  • Envío de páginas.
  • Bloqueo, gestionado por el servidor.
  • Caché de datos, agiliza el envío de datos muy comunes.
  • Caché de bloqueos.

Sistemas Paralelos

Supone la introducción de varios procesadores para resolver un problema. Si paralelizamos nuestro programa, es decir, dividimos la carga computacional entre varios procesadores distintos, vamos a obtener una mejora en la relación entre costos y rendimiento. Estos mejoran la velocidad del procesamiento y E/S mediante la utilización de UCP y discos paralelos. Su objetivo es acelerar la ejecución de un cierto programa en un único ordenador y están compuestos por múltiples procesadores que suelen compartir memoria y reloj.

Arquitectura de los Sistemas paralelos

  • Memoria compartida: Cualquier procesador tiene acceso a cualquier módulo de memoria o unidad de disco a través de una interconexión rápida.
  • Un punto intermedio lo es discos compartidos: Donde cualquier procesador tiene acceso a cualquier unidad de disco a través de la interconexión, pero solo tienen acceso a su memoria principal.
  • No compartir nada: Cada procesador tiene acceso exclusivo a su memoria principal y a sus unidades de disco.
  • Jerárquico: Es un híbrido de las anteriores.

Ganancia de ampliabilidad

Es la capacidad para procesar tareas más largas en el mismo tiempo mediante un incremento de los recursos.

Tipos

Ampliabilidad por lotes

Aumenta el tamaño de la base de datos y las tareas son trabajos más largos cuyos tiempos de ejecución dependen del tamaño de la base de datos. El problema es el tamaño.

Ampliabilidad de transacciones

Aumenta la velocidad a la que se envía las peticiones a la Base de Datos y el tamaño crece proporcionalmente a la tasa de transacción. Se adapta muy bien a la ejecución paralela, ya que las transacciones se ejecutan de forma concurrente. Las transacciones duran lo mismo, por lo que es factible un paralelismo lineal.

Procesamiento de consultas y optimización

  • Paralelismo intraoperación: esta consiste en ejecutar una operación en varios nodos de una máquina con varios procesadores.
  • Paralelismo interoperación: Ocurre cuando dos o más operaciones son ejecutadas en paralelo, utilizando esto de manera independiente.
  • Paralelismo independiente: Ocurre cuando las operaciones al mismo tiempo o en orden arbitrario. Es posible solo cuando las operaciones no involucran los mismos datos.

Problemas del paralelismo

  • Costes de inicio: El inicio de un único proceso lleva asociado un coste de inicio. En una operación paralela compuesta por miles de procesos, el tiempo de inicio puede ser mayor que el de procesamiento.
  • Interferencia: Problema en el ascenso a recursos compartidos que traen consigo bloqueos y abrazos mortales.
  • Sesgo: Al dividir cada tarea en un cierto número de pasos paralelos se reduce el tamaño del paso medio, pero el tiempo para completar la tarea viene dada por el tiempo de completar el paso más lento.

Redes de interconexión de arquitectura paralela

  • Bus: Todos los componentes del sistema pueden enviar o recibir datos de un único bus de comunicaciones.
  • Malla: Los componentes se organizan como nodos de una retícula.
  • Hipercubo: Sistema de conexión n-bidimensional basado en la representación binaria de los componentes.

Sistemas Distribuidos

La información se almacena en varios ordenadores, dichos ordenadores están conectados por redes de comunicación de alta velocidad o líneas telefónicas, por lo que pueden realizar transacciones globales, según tenga que acceder solo a sus datos o los datos almacenados en la base de datos distribuidos. El objetivo es el comportamiento fácil y eficiente de los recursos entre múltiples usuarios. Este puede verse como un sistema formado por varios ordenadores haciendo algo conjuntamente de que se desprende tres características:

  • Compuesto por múltiples ordenadores: Un sistema distribuido está compuesto de más de un sistema independiente, cada uno con una o más CPU, memoria local y en general conexiones con periféricos de acceso inmediato.
  • Hay interconexiones entre ellos: Parece claro que si varios ordenadores distintos van a colaborar en la realización de tareas, deben comunicarse y sincronizarse entre ellos, por lo que debe haber alguna línea o red de interconexión.
  • Tienen un estado compartido: Si los ordenadores realizan un trabajo conjuntamente, deben mantener un estado compartido, es decir, todos los ordenadores tienen la misma visión del estado del sistema distribuido.

Ventajas

  • El comportamiento de recursos.
  • Apertura.
  • Concurrencia.
  • Escalabilidad.
  • Tolerancia de fallas.
  • Transparencia.

Desventajas

  • Complejidad.
  • Seguridad.
  • Manejabilidad.
  • Impredecibilidad.

Problemas de los Sistemas distribuidos

  • Mayor costo de desarrollo del software: al tener que reunir una serie de características especiales.
  • Mayor probabilidad de errores: como los emplazamientos operan en paralelo es más difícil asegurar la corrección de los algoritmos.
  • Mayor sobrecarga de procesamiento: El intercambio de mensajes y el cómputo adicional necesario para conseguir la coordinación entre los distintos emplazamientos constituyen una forma especial de sobrecarga.

Redes de comunicaciones utilizadas

  • En la interconexión de los sistemas distribuidos y cliente/servidor, se utilizan las redes de comunicación entre ordenadores.
  • LAN: Son redes de pequeño tamaño y de bajo costo utilizado en edificios.
  • MAN: Redes de fibra, de tamaño inferior y se utilizan para unir distintas sucursales de una entidad.
  • WAN: Redes globales que abarcan grandes áreas. Suelen basarse en esquemas punto a punto con routers y gateways para dar acceso a las mismas.

Entradas relacionadas: