Los sistemas de bases de datos centralizados son aquellos que se
ejecutan en un único sistema informática sin interaccionar con ninguna otra computadora.
Tales sistemas comprenden el rango desde los sistemas de base de datos monousuario
ejecutándose en computadoras personales hasta los sistemas de base de datos de
alto rendimiento ejecutándose en grandes sistemas.
Una
computadora moderna de propósito general consiste en una o unas pocas CPU’s y
un número determinado de controladores para los dispositivos que se encuentren
conectados a través de un bus común, el cual proporciona acceso a la memoria
compartida. Las CPU’s poseen memorias caché locales donde se almacenan copias
de ciertas partes de la memoria para acelerar el acceso a los datos. Cada
controlador de dispositivo se encarga de un tipo específico de dispositivos
(por ejemplo, una unidad de disco, una tarjeta de sonido o un monitor). La CPU
y los controladores de dispositivo pueden ejecutarse concurrentemente, compitiendo
así por el acceso a la memoria. La memoria caché reduce la disputa por el
acceso a la memoria, ya que la CPU necesita acceder a la memoria compartida un
número de veces menor.
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.
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. Estos sistemas se denominan con frecuencia sistemas servidores.
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. En particular, no tienen control de
concurrencia, que no es necesario cuando solamente un usuario puede generar
modificaciones. Las facilidades de recuperación en estos sistemas, o no existen
o son primitivas; por ejemplo, realizar una copia de seguridad de la base de
datos antes de cualquier modificación. La mayoría de estos sistemas no admiten SQL.
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 que se ejecutan en tales
máquinas habitualmente no intentan dividir una consulta simple entre los
distintos procesadores, sino que ejecutan cada 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 ejecuta más
rápido.
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.
Por el contrario, las máquinas
paralelas de grano fino tienen un gran número de procesadores y los sistemas de
bases de datos que se ejecutan sobre ellas intentan paralelizar las tareas
simples (consultas, por ejemplo) que solicitan los usuarios.
No hay comentarios:
Publicar un comentario