Arquitectura centralizada
Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un único sistema
informá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.
Se distinguen dos formas de utilizar las computadoras: como sistemas monousuario o como sistemas
multiusuario. En la primera categoría están las computadoras personales y las estaciones de trabajo. Un
sistema monousuario típico es una unidad de sobremesa 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.
Normalmente, los sistemas de bases de datos diseñados para funcionar sobre sistemas monousuario,
como las computadoras personales, no suelen proporcionar muchas de las facilidades que ofrecen los
sistemas multiusuario.
Aunque hoy en día las computadoras de propósito general tienen varios procesadores, utilizan
paralelismo de grano grueso, disponiendo de unos pocos procesadores (normalmente dos o cuatro) que
comparten la misma memoria principal.
Las bases de datos diseñadas para las máquinas monoprocesador ya disponen de multitarea,
permitiendo que varios procesos se ejecuten a la vez en el mismo procesador, usando tiempo compartido,
mientras que de cara al usuario parece que los procesos se están ejecutando en paralelo. De esta manera,
desde un punto de vista lógico, las máquinas paralelas de grano grueso parecen ser idénticas a las máquinas
monoprocesador, y pueden adaptarse fácilmente los sistemas de bases de datos diseñados para máquinas de tiempo compartido para que puedan ejecutarse sobre máquinas paralelas de grano grueso.
ARQUITECTURA DE BASES DE DATOS
CLIENTE/SERVIDOR
Con el aumento de la velocidad y potencia de las computadoras personales y el decremento en su
precio, 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.
La computación cliente/servidor es la extensión lógica de la programación modular. El supuesto
principal de la programación modular es la división de un programa grande en pequeños programas
(llamados módulos), siendo más fáciles el desarrollo y la mantenibilidad (divide y vencerás).
CARACTERÍSTICAS DE UN SISTEMA CLIENTE/SERVIDOR.
Un sistema cliente/servidor es aquel en el que uno o más clientes y uno o más servidores,
conjuntamente con un sistema operativo subyacente y un sistema de comunicación entre procesos, forma un
sistema compuesto que permite cómputo distribuido, análisis, y presentación de los datos. Si existen
múltiples servidores de procesamiento de base de datos, cada uno de ellos deberá procesar una base de datos distinta, para que el sistema sea considerado un sistema cliente/servidor. Cuando dos servidores procesan la
misma base de datos, el sistema ya no se llama un sistema cliente/servidor, sino que se trata de un sistema de
base de datos distribuido.
Los clientes, a través de la red, pueden realizar consultas al servidor. El servidor tiene el control
sobre los datos; sin embargo los clientes pueden tener datos privados que residen en sus computadoras. Las
principales características de la arquitectura cliente/servidor son:
- El servidor presenta a todos sus clientes una interfaz única y bien definida.
- El cliente no necesita conocer la lógica del servidor, sólo 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.
PARTES DE UN SISTEMA CLIENTE/SERVIDOR
Los principales componentes de un sistema cliente/servidor son:
- El núcleo (back-end o sección posterior). Es el SGBD propiamente (servidor).
- El interfaz (front-end o sección frontal). Aplicaciones que funcionan sobre el SGBD (cliente).
ARQUITECTURA DE BASES DE DATOS
DISTRIBUIDAS
Una de las principales tendencias de la informática a lo largo de los últimos años ha sido el pasar de
grandes computadoras centralizadas (que daban como resultado gigantescas bases de datos monolíticas en
los setenta y principios de los ochenta) a redes distribuidas de sistemas informáticos (con una mayor
descentralización y autonomía del procesamiento). Con la llegada de las minicomputadoras, las tareas de
procesamiento de datos, tales como el control de inventarios y el procesamiento de pedidos pasaron de
mainframes corporativas a sistemas departamentales más pequeños. El explosivo aumento de popularidad de
las computadoras personales en los años ochenta llevó la potencia de las computadoras directamente a las
mesas de los despachos de millones de personas.
Conforme las computadoras y las redes de computadoras se extendían a través de las organizaciones,
los datos ya no residían en un único sistema bajo el control de un único SGBD. En vez de ello, los datos se
fueron extendiendo a través de muchos sistemas diferentes, cada uno con su propio gestor de base de datos.
Con frecuencia los diferentes sistemas informáticos y los diferentes sistemas de gestión de base de datos
procedían de diferentes fabricantes.
Los usuarios acceden a la base de datos distribuida a través de aplicaciones. Estas aplicaciones se
pueden clasificar en aquellas que no requieren datos de otros computadores (aplicaciones locales) y aquellos
que requieren datos de otros computadores (aplicaciones globales). Un SGBDD tiene las siguientes
características:
- Una colección de datos compartidos y relacionados lógicamente.
- Los datos están divididos en fragmentos.
- Los fragmentos se pueden duplicar.
- Los fragmentos se colocan en varios emplazamientos (computadores).
- Dichos emplazamientos están conectados por una red.
- Los datos de cada emplazamiento están bajo el control de un SGBD.
- El SGBD en cada emplazamiento puede manejar aplicaciones locales autónomamente.
- Cada SGBD participa en al menos una aplicación global.
No es necesario que todos los emplazamientos en el sistema tengan su propia base de datos local,
como se muestra en la siguiente topología de un SGBDD:
VENTAJAS E INCONVENIENTES
La distribución de los datos y aplicaciones tiene ventajas potenciales con respecto a los sistemas de
bases de datos centralizados. Desgraciadamente, hay también desventajas. En este punto vamos a ver las
ventajas e inconvenientes de los SGBDD. 51
Existen varias razones que justifican la construcción de sistemas distribuidos de bases de datos:
- Compartimiento de datos: La mayor ventaja de los sistemas distribuidos de bases de datos es que
proporcionan un entorno en el que los usuarios de un emplazamiento pueden ser capaces de acceder a los
datos que residen en otros emplazamientos. Por ejemplo, un usuario del emplazamiento de Ciudad Real
puede acceder a los datos del emplazamiento de Valdepeñas. Sin esta capacidad, un usuario que deseara
realizar una transferencia entre dos emplazamientos distintos tendría que recurrir a algún mecanismo externo
para poner en contacto los sistemas existentes.
- Autonomía: La ventaja principal del compartimiento de datos por medio de la distribución de los
mismos es que cada emplazamiento puede conservar un cierto grado de control sobre los datos que tiene
almacenados localmente. En un sistema centralizado hay un administrador local de la base de datos que es
responsable del sistema completo. Cada administrador local de las bases de datos recibe una parte de las
responsabilidades del administrador central. Cada administrador puede tener un grado de autonomía local
diferente, dependiendo del diseño del sistema distribuido de bases de datos. La posibilidad de autonomía
local es, con frecuencia, una ventaja fundamental de las bases de datos distribuidas.
- Disponibilidad: Si en un sistema distribuido falla un emplazamiento, los emplazamientos restantes
pueden continuar funcionando. En particular si se duplican los elementos de datos en varios
emplazamientos, una transacción que necesite un determinado elemento de datos puede encontrarlo en
cualquiera de dichos emplazamientos. De esta manera, el fallo de un emplazamiento no implica
necesariamente el cierre del sistema.
No hay comentarios:
Publicar un comentario