Arquitecturas de Bases de Datos Carlos A. Olarte ([email protected]) BDII Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Contenido 1 Introducción 2 Arquitectura Centralizada 3 Arquitectura Cliente-Servidor 4 Arquitecturas Paralelas 5 Bases de Datos Distribuidas Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Introducción Evolución de los sistemas de cómputo Ventajas de los sistemas actuales Relación directa entre el sistema de computo y la arquitectura de la base de datos Arquitecturas Disponibles: Centralizada Cliente-Servidor Paralelas Distribuidas Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Arquitectura Centralizada Sistemas con un único servidor que se encarga de todas las tareas (terminales brutas) Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos 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) Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Distinción entre el cliente y el servidor Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Continuación El Cliente: manejo de la interfaz gráfica, entradas, reportes, algunas validaciones, notificaciones, etc (la parte visible al usuario). Otras formas de cliente: Hojas de cálculo, 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ón entre el cliente y el servidor (JDBC, ODBC) Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos 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ón de bloqueos y detección de interbloqueos Proceso escritor: Volcado a disco de bloques en memoria principal Escritor de registros: Escritura del registro histórico Proceso de puntos de revisión Monitor de Procesos: Revisión y recuperación de otros procesos Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Continuación 1 1 Tomado de Oracle9i Database Concepts. Release 2 (9.2) Carlos A. Olarte ([email protected]) 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ón entre los nodos Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Arquitecturas Paralelas Solución 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 Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos continuación Niveles de Paralelismo Grano Grueso: Cada transacción en un procesador diferente Grano Fino: Las operaciones de cada transacción 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ás largas en menos tiempo. Puede ser medida en: Lotes: Base de datos mas grande (mayor número de registros), las transacciones duran mas tiempo Transacciones: Aumenta el número de transacciones que llegan a la base de datos y crece el tamaño de la misma Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Continuación Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Inconvenientes con el Paralelismo Costo de Inicio: Tiempo para iniciar un proceso. Interferencia: Cuellos de botella para acceder a los recursos compartidos Sesgo: La partición de las tareas en procesos paralelos no siempre es uniforme Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Comunicación de los nodos Bus Malla Hipercubo Estrella Costos?, tolerancia ante fallos?, velocidad? Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Esquema con Memoria Compartida Comunicación a través de escrituras en memoria Lı́mite del número de procesadores por el canal de comunicación Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Esquema con Disco Compartido Creación de Cluster Aumento de la redundancia (tolerancia a fallos) Cuello de botella el acceso a los discos Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Esquema sin Compartimento Alta ampliabilidad Deficiencia en la comunicación de datos entre nodos Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Esquema Jerárquico Combinación de las anteriores. Obtener las ventajas de cada esquema Memoria virtual distribuida Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Bases de Datos Distribuidas Nodos (Emplazamiento) distribuidos geográficamente Administración independiente (Autónoma) de cada nodo Canales de comunicación mas lentos Utilización de transacciones globales, locales y remotas Sistemas distribuidos heterogéneos Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Ventajas Compartimento de Datos: Los usuarios de cada nodo pueden acceder a los datos de otros nodos (transacciones globales) Autonomı́a: La administración de cada nodo es local (independiente de los otros) distribuyendo ası́ la carga del DBA Disponibilidad: La existencia de réplicas permite que la caida de un nodo no implique la caida total del sistema ( se aumenta en complejidad de recuperación pero se gana en disponibilidad del sistema) Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos Desventajas Complejidad en la coordinación de la distribución de los datos Costos en el desarrollo de software Aumento en la probabilidad de errores Mayor sobrecarga de procesamiento Carlos A. Olarte ([email protected]) BDII Arquitecturas de Bases de Datos