Arquitecturas de Bases de Datos: Centralizada, Servidor de Archivos, Cliente/Servidor y n-Capas
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 8,01 KB
Tipos de Arquitecturas en las Bases de Datos
Arquitectura Centralizada
- Un solo servidor (mainframe) que almacena los datos y las aplicaciones que los procesan.
- Los clientes se comportan como terminales tontos y sólo sirven para introducir datos.
Ventajas:
- Alta seguridad
- Fácil de administrar
Inconvenientes:
- Alto coste
- Mainframe muy cargado
Arquitectura Servidor de Archivos
- Uno o varios servidores que almacenan los datos.
- Los clientes son activos (reciben los archivos y ejecutan las aplicaciones).
Ventajas:
- Bajo coste
- Escalable
Inconvenientes:
- Clientes potentes
- Importancia de las comunicaciones
Arquitectura Cliente/Servidor (C/S)
- Dos tipos de aplicaciones ejecutándose de forma independiente.
- Una de las aplicaciones actúa como servidora y la otra como cliente.
Ventajas:
- Escalable
- Menos tráfico de red
- Reparto de cargas
Inconvenientes:
- Nuevas aplicaciones
- Importancia de las comunicaciones
Funciones del Cliente:
- Administrar la interfaz gráfica de usuario.
- Aceptar datos del usuario.
- Procesar la lógica de la aplicación.
- Generar las solicitudes para la base de datos.
- Transmitir las solicitudes de la base de datos al servidor.
- Recibir los resultados del servidor.
- Dar formato a los resultados.
Funciones del SGBD:
Backends:
Almacena y gestiona los datos.
Frontends:
- Herramientas de consulta interactiva.
- Entradas y visualización de resultados.
- Generadores de informes.
- Programas de aplicación (verificación de entradas, etc.)
Aplicaciones Cliente:
- Escritas por los usuarios mediante lenguajes de programación.
- Suministradas por los proveedores:
- Procesadores de lenguajes de consulta
- Generadores de informes
- Subsistemas de gráficas para negocios
- Hojas electrónicas de cálculo
- Procesadores de lenguajes naturales
- Paquetes estadísticos
- Herramientas para administrar copias
- Generadores de aplicaciones
Componentes:
- Servicios de usuario.
- Servicios de negocio.
- Servicios de datos.
Se basa en la existencia de componentes software distribuidos de forma que la lógica del programa pueda ser localizada en servidores centralizados.
Para que se pueda implantar hace falta la existencia de una estructura de objetos que representen los distintos componentes de una aplicación.
Funciones del Servidor:
- Aceptar las solicitudes de la base de datos de los clientes.
- Procesar dichas solicitudes.
- Dar formato a los resultados y transmitirlos al cliente.
- Llevar a cabo la verificación de integridad.
- Mantener los datos generales de la base de datos.
- Proporcionar control de acceso concurrente.
- Llevar a cabo la recuperación.
- Optimizar el procesamiento de consultas y actualización.
Arquitectura C/S de 2 Capas
El sistema se separa en dos partes fijas: cliente y servidor.
La lógica de las aplicaciones debe estar en el cliente o en el servidor.
La comunicación con el servidor es transparente para el usuario.
Limitaciones:
- No es escalable.
- No es manejable.
- Bajo rendimiento.
Arquitectura C/S de 3 Capas
1ª capa (cliente): Interfaz de usuario.
2ª capa (servidor de aplicaciones): Reglas y lógica de procesamiento de datos, tanto del acceso a datos como de la presentación.
3ª capa (servidor de base de datos): Validación de datos y acceso a la BD.
Modelo Cliente/Servidor de n Capas
- En una aplicación distribuida en n-capas, los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas.
- Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos.
- Cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.
Middleware
- Es el software que proporciona un conjunto de servicios que permite el acceso transparente a los recursos en una red.
- Para compartir datos, los dos módulos de software no necesitan saber cómo comunicarse entre ellos, sino cómo comunicarse con el módulo de middleware.
- La finalidad básica es hacer que una aplicación o usuario del cliente acceda a una serie de servicios del servidor sin preocuparse de las diferencias entre servidores.
API
- La función que tienen las API's es la de ser una interfaz entre las aplicaciones y las bases de datos.
- Componentes que forman parte de esta interfaz son los siguientes:
- ODBC: Interfaz común para acceder a bases de datos SQL.
- OLE DB: Interfaz para acceder a bases de datos, incluso no relacionales.
- JDBC: API estándar de acceso a bases de datos con Java.
- CGI: Usado para la creación de interfaces Web/DBMS.
ODBC
- Open DataBase Connectivity es un estándar de acceso a bases de datos.
- Se trata de una API mediante la que accedemos a nuestros gestores de bases de datos.
- El objetivo de ODBC es hacer posible el acceso a cualquier dato desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos almacene los datos.
Interfaces de programación para el acceso a datos
DAO (Data Access Objects). ADO (ActiveX Data Objects). RDO (Remote Data Object).
RDS (Remote Data Service). MIDAS (Middle-tier Distributed Application Service).
DLL: Biblioteca de enlace dinámico. Archivos con código ejecutable que se cargan bajo demanda de un programa por parte del sistema operativo.
DAO (Data Access Objects)
Primera interfaz orientada a objetos para el motor de base de datos de Access (Microsoft Jet), permite usar ODBC para conectar a cualquier base de datos de la que poseamos un driver ODBC. Es apropiado para el desarrollo de aplicaciones dentro de un único sistema o despliegues locales.
ADO (ActiveX Data Objects)
Los objetos de datos ActiveX (ADO) permiten el acceso simplificado a toda la funcionalidad de OLE DB.
ADO facilita un modelo de objetos sencillo con una interfaz única tanto para las bases de datos remotas como para las locales. Presenta un buen rendimiento y facilidad de programación.
RDO (Remote Data Objects)
Es una interfaz de acceso a datos para ODBC orientada a objetos. Se trata de una fina capa que pasa por la API ODBC y del administrador de controladores ODBC. Permite establecer las conexiones, crear cursores y ejecutar procedimientos usando muy pocos recursos en la estación de trabajo.
Con RDO podemos limitar el número de registros que se procesan, ejecutar consultas de manipulación y definición de datos y utilizar procesamiento asíncrono controlado por eventos.
DLL
Una biblioteca de enlace dinámico o más comúnmente DLL (sigla en inglés de dynamic-link library) es el término con el que se refiere a los archivos con código ejecutable que se cargan bajo demanda de un programa por parte del sistema operativo.
Exclusiva de los sistemas operativos Windows, siendo ".dll" la extensión con la que se identifican estos ficheros, aunque el concepto existe en prácticamente todos los sistemas operativos modernos.