RESUMEN. Tipos de Arquitectura



Arquitectura de Sistemas de Bases de Datos

La arquitectura de un sistema de base de datos está influenciada en gran medida por el sistema informático subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura de un sistema de base de datos se reflejan aspectos como la conexión en red, el paralelismo y la distribución:

- La conexión en red de varias computadoras permite que algunas tareas se ejecuten en un sistema servidor y que otras se ejecuten en los sistemas clientes. Esta división de trabajo ha conducido al desarrollo de sistemas de bases de datos cliente-servidor.

- La distribución de datos a través de las distintas sedes o departamentos de una organización permite que estos datos residan donde han sido generados o donde son más necesarios, pero continuar siendo accesibles desde otros lugares o departamentos diferentes. El hecho de guardar varias copias de la base de datos en diferentes sitios permite que puedan continuar las operaciones sobre la base de datos aunque algún sitio se vea afectado por algún desastre natural, como una inundación, un incendio o un terremoto.

- El procesamiento paralelo dentro de una computadora permite acelerar las actividades del sistema de base de datos, proporcionando a las transacciones unas respuestas más rápidas, así como la capacidad de ejecutar más transacciones por segundo. Las consultas pueden procesarse de manera que se explote el paralelismo ofrecido por el sistema informático subyacente. La necesidad del procesamiento paralelo de consultas ha conducido al desarrollo de los sistemas de bases de datos paralelos.



ARQUITECTURA CENTRALIZADA


La arquitectura centralizada es la más clásica. En ella, el SGBD está implantado en una sola plataforma u ordenador desde donde se gestiona directamente, de modo centralizado, la totalidad de los recursos. Es la arquitectura de los centros de proceso de datos tradicionales. Se basa en tecnologías sencillas, muy experimentadas y de gran robustez.

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.



 


ARQUITECTURA DE BASES DE DATOS CLIENTE/SERVIDOR


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).

Según esta definición, los sistemas cliente/servidor no están limitados a aplicaciones de bases de datos. Cualquier aplicación que tenga una interfaz de usuario (front-end, sección frontal o parte cliente) que se ejecute localmente en el cliente y un proceso que se ejecute en el servidor (back-end, sección posterior, o sistema subyacente) está en forma de computación cliente/servidor.
Conceptualmente, las plataformas cliente/servidor son parte del concepto de sistemas abiertos, en el cual todo tipo de computadores, sistemas operativos, protocolos de redes y otros, software y hardware, pueden interconectarse y trabajar coordinadamente para lograr los objetivos del usuario.



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.




ARQUITECTURA DE BASES DE DATOS DISTRIBUIDAS


Un sistema de computación distribuida consiste en un conjunto de computadores (que no necesariamente tienen que ser homogéneos), que están interconectados entre sí formando una red, y que cooperan para realizar una determinada tarea.

Un sistema de computación distribuida parte un problema grande en pequeñas piezas, y soluciona cada una de ellas eficientemente de una manera coordinada.

Podemos definir una base de datos distribuida (BDD o DDB ‘Distributed Database System) como aquella cuyos datos están repartidos entre más de una máquina, y un sistema de gestión de bases de datos distribuidas (SGBDD o DDBMS ‘Distributed Database Management System’) como el software que gestiona una base de datos distribuida haciendo que la distribución de los datos sea transparente al usuario, es decir, los usuarios actúan como si todo estuviese junto en una sola base de datos.

 En la arquitectura distribuida el SGBD y la BD no están asociados a un determinado ordenador, sino a una red cuyos nodos se reparten las funciones. Una base de datos distribuida es vista por las aplicaciones igual que si fuera centralizada. Es el SGBDD el que se encarga de preservar la integridad y coherencia de la BD.

Se suele distinguir entre sistemas homogéneos y heterogéneos. Un sistema es homogéneo si el SGBD usado en todas las máquinas es el mismo. Si existe más de un SGBD distinto el sistema se denomina heterogéneo.


Un SGBD que soporte una arquitectura de base de datos distribuida es mucho más complejo que uno para base de datos centralizada y el número de SGBDD disponibles en el mercado es mucho menor. Existen algunos SGBDs que ofrecen la posibilidad de implementar una BD distribuida sólo para sistemas homogéneos. Es una tecnología que no está tan probada como la centralizada.

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: