Ventajas de los
sistemas actuales
Relación directa entre
el sistema de computo y la arquitectura
de la base de datos
v Arquitecturas
Disponibles:
v Centralizada
v Cliente-Servidor
v Paralelas
v Distribuidas
ARQUITECTURA
CENTRALIZADA
Sistemas con un único
servidor que se encarga de todas lastareas (terminales brutas)
ARQUITECTURA CLIENTE-SERVIDOR
v De la arquitectura
centralizada a la arquitectura
Cliente-Servidor
v Mejoras en los equipos
del lado del cliente:
Memoria
Procesador
Disco
Tarjeta de Video
(Soporte de las GUIS del sistema)
DISTINCIÓN ENTRE EL CLIENTE
Y EL SERVIDOR
El Cliente:
manejo de la interfaz
grafica, entradas, reportes,algunas validaciones, notificaciones, etc. (la
parte visible alusuario). Otras formas de cliente: Hojas de calculo, paquetes estadísticos, etc. El Servidor: Manejo de las transacciones,
procesamiento, validaciones de
integridad, control de concurrencia, etc. Posibles arquitecturas: Servidor de Transacciones y
Servido de Datos
La Interfaz (Api):
Mecanismo de comunicación entre el cliente y el servidor (JDBC, ODBC)
SERVIDOR DE
TRANSACCIONES
v Los clientes envían
peticiones (SQL), el servidor las resuelve y retorna el resultado al cliente. Componentes:
v Procesos servidor:
Proceso o hilo que atiende las peticiones del usuario
v Gestor de bloqueos:
Concesión de bloqueos y detección de
Interbloqueos
v Proceso escritor:
Volcado a disco de bloques en memoria
Principal
v Escritor de registros:
Escritura del registro histórico
Proceso de
puntos de revisión
v Monitor de Procesos:
Revisión y recuperación de otros
procesos
SERVIDOR DE DATOS
v Útiles en BDOO
v Los datos son enviados
a los clientes y este puede realizar
procesamiento
de los mismos y enviarlos al servidor.
Se requiere un
buen canal de comunicación entre los nodos
ARQUITECTURAS PARALELAS
v Solución al problema
de transacciones masivas
v Paralelismo a nivel de
disco (I/O) y de procesador
v Medidas del
rendimiento en:
v Productividad
(Throughput): #Tareas/U.Tiempo
v Tiempo de Respuesta: T
para una tarea
NIVELES DE PARALELISMO
v Grano Grueso: Cada
transacción en un procesador diferente
v Grano Fino: Las
operaciones de cada transacción se pueden
v distribuir en varios
procesadores
v Ganancia o
escalamiento:
v Velocidad: A mayor sea
la cantidad de recursos, mayor es la
v velocidad del sistema
v Ampliabilidad: Tareas
mas largas en menos tiempo. Puede ser
medida en:
v Lotes: Base de datos
mas grande (mayor numero de registros), las transacciones duran mas tiempo
v Transacciones: Aumenta
el numero de transacciones que llegan
a la base de
datos y crece el tamaño de la misma
INCONVENIENTES CON EL
PARALELISMO
v Costo de Inicio:
Tiempo para iniciar un proceso.
v Interferencia: Cuellos
de botella para acceder a los recursos
Compartidos
v Sesgo: La partición de
las tareas en procesos paralelos no
siempre es
uniforme
ESQUEMA CON MEMORIA
COMPARTIDA
Comunicación a través
de escrituras en memoria, Límite del numero de procesadores por el canal de comunicación
ESQUEMA CON DISCO
COMPARTIDO
Creación de Clúster Aumento de la
redundancia
(tolerancia a fallos)
v Cuello de botella el
acceso a los discos
ESQUEMA SIN
COMPARTIMENTO
v Alta ampliabilidad
v Deficiencia en la
comunicación de datos entre nodos
ESQUEMA JERARQUICO
v Combinación de las
anteriores.
v Obtener las ventajas
de cada esquema
v Memoria virtual
distribuida
Bases de Datos
Distribuidas
v Nodos (Emplazamiento)
distribuidos geográficamente
v Administración independiente
(Autónoma) de cada nodo
v Canales de
comunicación mas lentos
v Utilización de
transacciones globales, locales y remotas
v Sistemas distribuidos
heterogéneos
VENTAJAS
v Compartimento de Datos:
Los usuarios de cada nodo pueden
acceder a los
datos de otros nodos (transacciones globales)
v Autonomía: La
administración de cada nodo es local
(independiente
de los otros) distribuyendo así la carga del
DBA
v Disponibilidad: La
existencia de replicas permite que la caída de un nodo no implique la caída total del sistema ( se aumenta en complejidad de recuperación pero se gana en disponibilidad del sistema)
DESVENTAJAS
v Complejidad en la
coordinación de la distribución de los datos
v Costos en el
desarrollo de software
v Aumento en la
probabilidad de errores
v Mayor sobrecarga de
procesamiento
No hay comentarios:
Publicar un comentario