Unidad 8 Flashcards
Arquitectura de Sistemas de Bases de Datos
La arquitectura de un sistema de base de datos está influenciada en gran medida por la arquitectura tecnológica subyacente en la 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
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 pueden distinguir dos formas de utilizar las computadoras:
*sistemas monousuario
*sistemas multiusuario.
Sistemas Monousuario
Un sistema monousuario típico es una unidad utilizada por una única persona que dispone de una sola CPU, de unidades de almacenamiento en disco y que trabaja con un sistema operativo que sólo permite un único usuario a la vez accediendo al sistema.
No tienen control de concurrencia
Las facilidades de recuperación en estos sistemas o no existen o son primitivas.
La mayoría de estos sistemas no
admiten SQL y proporcionan un lenguaje de consulta muy simple
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.
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.
Sistemas Multiusuario
Un sistema multiusuario típico dispone de un sistema operativo que permite la conexión simultánea de varios usuarios que se pueden conectar desde computadoras personales o desde terminales. Generalmente existirán uno o más servidores a los que los usuarios se conectarán y éstos brindarán el servicio requerido.
Arquitectura 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.
Cualquier LAN puede ser considerada como un sistema cliente- servidor, desde el momento en que el cliente solicita servicios como datos, ficheros o imprimir desde el servidor. Cuando un usuario se conecta a Internet, interactúa con otras computadoras utilizando el modelo cliente-servidor.
El servidor es la computadora que contiene información (bases de datos, ficheros de texto…). El usuario, o cliente, accede a esos recursos vía programas cliente (aplicaciones) que usan TCP/IP para entregar la información a su computadora.
Cualquier aplicación que tenga una interfaz de usuario que se ejecute localmente en el cliente y un proceso que se ejecute en el servidor está en forma de cliente-servidor.
Características de un Sistema Cliente-Servidor
● 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.
●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.
Partes de un Sistema Cliente-Servidor
● El núcleo (back-end o sección posterior). Es el SGBD propiamente (servidor).
● La interfaz (front-end o sección frontal). Aplicaciones que funcionan sobre el SGBD (cliente).
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 servidor
● Aceptar las solicitudes de la base de datos de los clientes
● Procesar dichas solicitudes
● Transmitir los resultados 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
Tipos de servidores
*iterativos
*concurrentes.
Servidor iterativo
Un servidor iterativo realiza los siguientes pasos:
1. Espera que llegue una consulta de un cliente.
2. Procesa la consulta.
3. Envía la respuesta al cliente que envió la consulta.
4. Vuelve al estado inicial.
El problema del servidor iterativo es el paso 2. Durante el tiempo en el que el servidor está procesando la consulta, ningún otro cliente es servido.
Servidor Concurrente
Un servidor concurrente realiza los siguientes pasos:
1. Espera que llegue la consulta de un cliente.
2. Cuando llega una nueva consulta, comienza un nuevo proceso para manejar esta consulta (cómo se realiza este paso depende del sistema operativo). El nuevo servidor maneja la totalidad de la consulta. Cuando se ha procesado completamente, este nuevo proceso termina.
3. Se vuelve al primer paso.
La ventaja del servidor concurrente es que el servidor ejecuta un nuevo proceso para manejar cada consulta. Cada cliente tiene su “propio” servidor. Asumiendo que el sistema operativo permite la multiprogramación, clientes múltiples y servicio concurrente.
Servidores de transacciones
También llamados sistemas servidores de consultas, proporcionan una interfaz a través de la cual los clientes pueden enviar peticiones para realizar una acción que el servidor ejecutará y cuyos resultados se devolverán al cliente.
Servidores de datos
Los sistemas servidores de datos permiten que los clientes puedan interactuar con los servidores realizando peticiones de lectura o modificación de datos en unidades tales como archivos o páginas.
Tipos de Arquitecturas Cliente-Servidor
*Arquitectura de 2 capas
*Arquitectura de 3 capas