Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ar Quite Ctur As
Ar Quite Ctur As
Contenido
Introducci on Arquitectura Centralizada Arquitectura Cliente-Servidor Arquitecturas Paralelas Bases de Datos Distribuidas
Introducci on
Evoluci on de los sistemas de c omputo Ventajas de los sistemas actuales Relaci on directa entre el sistema de computo y la arquitectura de la base de datos Arquitecturas Disponibles: Centralizada Cliente-Servidor Paralelas Distribuidas
Arquitectura Centralizada
Sistemas con un u nico servidor que se encarga de todas las tareas (terminales brutas)
Arquitectura Cliente-Servidor
De la arquitectura centralizada a la arquitectura Cliente-Servidor Mejoras en los equipos del lado del cliente:
Memoria Procesador Disco Tarjeta de V deo (Soporte de las GUIs del sistema)
Continuaci on
El Cliente: manejo de la interfaz gr aca, entradas, reportes, algunas validaciones, noticaciones, etc (la parte visible al usuario). Otras formas de cliente: Hojas de c alculo, paquetes estad sticos, etc El Servidor: Manejo de las transacciones, procesamiento, validaciones de integridad, control de concurrencia, etc. Posibles arquitecturas: Servidor de Transacciones y Servidor de Datos La Interfaz (Api): Mecanismo de comunicaci on entre el cliente y el servidor (JDBC, ODBC)
Servidor de Transacciones
Los clientes env an peticiones (SQL), el servidor las resuelve y retorna el resultado al cliente. Componentes: Procesos servidor: Proceso o hilo que atiende las peticiones del usuario Gestor de bloqueos: Concesi on de bloqueos y detecci on de interbloqueos Proceso escritor: Volcado a disco de bloques en memoria principal Escritor de registros: Escritura del registro hist orico Proceso de puntos de revisi on Monitor de Procesos: Revisi on y recuperaci on de otros procesos
Continuaci on
1
1 Tomado de Oracle9i Database Concepts. Release 2 (9.2) Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Arquitecturas de Bases de Datos
Servidor de Datos
Utiles en BDOO 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 on entre los nodos
Arquitecturas Paralelas
Soluci on al problema de transacciones masivas Paralelismo a nivel de disco (I/O) y de procesador Medidas del rendimiento en:
Productividad (Throughput): #Tareas /U .Tiempo Tiempo de Respuesta: T para una tarea
continuaci on
Niveles de Paralelismo Grano Grueso: Cada transacci on en un procesador diferente Grano Fino: Las operaciones de cada transacci on se pueden distribuir en varios procesadores Ganancia o escalamiento: Velocidad: A mayor sea la cantidad de recursos, mayor es la velocidad del sistema Ampliabilidad: Tareas m as largas en menos tiempo. Puede ser medida en:
Lotes: Base de datos mas grande (mayor n umero de registros), las transacciones duran mas tiempo Transacciones: Aumenta el n umero de transacciones que llegan a la base de datos y crece el tama no de la misma
Continuaci on
Costo de Inicio: Tiempo para iniciar un proceso. Interferencia: Cuellos de botella para acceder a los recursos compartidos Sesgo: La partici on de las tareas en procesos paralelos no siempre es uniforme
Bus
Malla
Hipercubo
Estrella
Comunicaci on a trav es de escrituras en memoria L mite del n umero de procesadores por el canal de comunicaci on
Creaci on de Cluster Aumento de la redundancia (tolerancia a fallos) Cuello de botella el acceso a los discos
Combinaci on de las anteriores. Obtener las ventajas de cada esquema Memoria virtual distribuida
Nodos (Emplazamiento) distribuidos geogr acamente Administraci on independiente (Aut onoma) de cada nodo Canales de comunicaci on mas lentos Utilizaci on de transacciones globales, locales y remotas Sistemas distribuidos heterog eneos
Ventajas
Compartimento de Datos: Los usuarios de cada nodo pueden acceder a los datos de otros nodos (transacciones globales) Autonom a: La administraci on de cada nodo es local (independiente de los otros) distribuyendo as la carga del DBA Disponibilidad: La existencia de r eplicas permite que la caida de un nodo no implique la caida total del sistema ( se aumenta en complejidad de recuperaci on pero se gana en disponibilidad del sistema)
Desventajas
Complejidad en la coordinaci on de la distribuci on de los datos Costos en el desarrollo de software Aumento en la probabilidad de errores Mayor sobrecarga de procesamiento