|
Hay varias formas de utilizar un SGBD desde el punto de vista del emplazamiento en red del SGBD con respecto a las aplicaciones. En este artículo tratamos de repasar de manera muy general las más comunes.
Para ilustrarlas, supondremos que estamos desarrollando una aplicación que va a hacer uso de un SGBD que almacenará sus datos en una base de datos.
No todos los SGBD permiten todas las configuraciones que vamos a describir a continuación.
I-Servidor SGBD al que las aplicaciones acceden a través de una red.
Esta es probablemente la configuración más frecuente. El SGBD se ejecuta de manera independiente en una máquina, mientras que la aplicación se ejecuta en otra. El SGBD y la aplicación se comunican a través de un sistema de red.

Ese sistema de red puede ser de cualquier tipo: una red de área local, una red privada de área extensa, una comunicación punto a punto, o incluso Internet.
En este supuesto, la aplicación funciona en su ordenador, y cuando requiere datos o necesita almacenarlos envía órdenes a través de la red al SGBD acerca de lo que necesita.
El usuario de la aplicación la utiliza desde el ordenador en el que se encuentra la aplicación y, normalmente, la existencia del SGBD es completamente transparente para él.
Por supuesto, varias aplicaciones pueden estar utilizando el mismo SGBD simultáneamente por este sistema.

Este sistema presenta algunas ventajas. Por ejemplo,
- Dado que un SGBD consume muchos recursos en términos de CPU, memoria y almacenamiento secundario, al estar ejecutándose en una máquina aparte, esta máquina puede tener buen hardware, sin necesidad de que lo tengan las máquinas que tienen las aplicaciones.
- El ordenador del SGBD no tiene por qué estar a disposición de los usuarios de las aplicaciones, con lo que se reduce el riesgo de fallos por manipulación indebida.
- Se hace también más fácil la administración y configuración de los datos. El administrador de bases de datos (DBA) tiene los datos y el SGBD centralizados en un ordenador.
- La copia de seguridad de los datos es mucho más sencilla, al estar los datos centralizados. Si uno de los ordenadores que tiene una aplicación no funciona bien, la aplicación puede trasladarse rápidamente a otro ordenador. Los datos están salvaguardados por el SGBD.
No obstante, también hay inconvenientes. El principal es que si el SGBD deja de funcionar bien, también lo harán todas las aplicaciones que lo utilicen. En este tipo de configuraciones es muy importante que el SGBD tenga una alta disponibilidad.
II - El SGBD y la aplicación están en el mismo ordenador: el del usuario
Esta forma de trabajar sólo tiene sentido en proyectos pequeños, en los que sólo un usuario utiliza la aplicación (o bien un grupo de usuarios, pero no simultáneamente). Es la configuración típica de los programas que utilizamos para mantener en orden nuestra colección de DVDs o libros, o incluso de los programas de contabilidad o nóminas que utilizan las empresas pequeñas o unipersonales.
Aquí además podemos hacer una clasificación más:
- El SGBD y la aplicación se ejecutan en la misma máquina, pero de manera independiente.
- El SGBD y la aplicación se ejecutan en la misma máquina y, además, en el mismo proceso (SGBD ‘embebido' o ‘incrustado')
En el primer caso, aunque ambos programas estén en la misma máquina, cada uno de ellos se ejecuta por separado. Eso implica que el sistema operativo los ejecuta como procesos distintos (aunque se comuniquen entre sí). Así, el SGBD se puede normalmente configurar y administrar por separado, y además, el sistema operativo cede memoria y tiempo de CPU a cada uno de manera independiente.
En el segundo caso (muy pocos SGBD permiten esto), la aplicación y el SGBD comparten la memoria asignada por el sistema operativo y el tiempo de CPU. Esto se hace en SGBD no demasiado potentes. Normalmente mediante alguna librería que se compila o se enlaza junto con la aplicación. Como ventajas, se obtiene una mayor facilidad en la instalación de la aplicación, ya que no es necesario instalar el SGBD por separado. (Nota: la espantosa palabra ‘embebido' proviene de la traducción de la palabra inglesa ‘embedded')

III - La aplicación se instala en un servidor de aplicaciones.
En éste último caso, la aplicación se instala en el espacio de un servidor de aplicaciones. Un servidor de aplicaciones es un programa capaz de permitir que varios usuarios a la vez trabajen con la misma aplicación, cada uno desde una máquina distinta, y teniendo la impresión de que la aplicación se ejecuta en exclusiva para ellos.
Esta es la configuración típica de las aplicaciones de Internet o Intranet, a las cuales el usuario accede utilizando un navegador.
Un servidor de aplicaciones es, en sí, una aplicación, capaz de atender las conexiones de los usuarios a través de su navegador (u otro programa similar, llamados genéricamente ‘clientes ligeros') y, por decirlo de alguna manera sencilla, "replicar" nuestra aplicación para cada uno de ellos.
Por supuesto, programar una aplicación para que funcione de esta manera requiere del aprendizaje de algunas técnicas no demasiado complicadas. A nadie se le escapa que no tiene la misma dificultad hacer una aplicación que va a tener un solo usuario frente a otra que puede tener varios miles de usuarios simultáneamente.

En esta configuración, se obtiene como ventaja que la misma aplicación se distribuye a un número potencialmente muy grande de usuarios, y además, los usuarios no necesitan instalar ni configurar nada en su máquina aparte de un cliente ligero (que suele ser un navegador).
En definitiva, los SGBD son, en la actualidad los grandes custodios de los datos, con algoritmos sumamente eficientes y rápidos, descargando a los programadores de la responsabilidad de programar complejos algoritmos en este sentido. No obstante, un SGBD es capaz de servir a las aplicaciones de distintas maneras. Aunque hemos comentado de manera muy genérica tres esquemas sumamente comunes, podemos encontrar en la realidad muchos más. |