Arquitecturas de Bases de Datos

Anuncio
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
Descargar