Bases de Datos Paralelas

Anuncio
Bases de Datos Paralelas
Carlos A. Olarte (carlosolarte@puj.edu.co)
BDII
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Contenido
1
Introducción
2
Paralelismo de I/O
3
Paralelismo entre Consultas
4
OPS
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Introducción
Por qué tener bases de datos paralelas?
Tipos de arquitecturas:
Memoria Compartida
Disco Compartido
Sin Compartimento
Jerárquica
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Paralelismo de I/O
División de las relaciones en varios discos (particiones)
Aumento de la velocidad en el acceso a los datos
Técnicas de división
Turno Rotatorio: Asignar la i-esima tupla al Disco i mod n.
Asegura distribución homogénea
División por Asociación: Definir una función
F (a1 , ..an ) → Particion
División por Rangos: Dado un atributo partirlo en rangos y
cada rango se almacena en un disco.
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Comparación entre las técnicas de división
Turno Rotatorio
D. Asociación
Exploración
Completa
Ok
Ok
D. Rangos
Ok
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Consulta
Concreta
Deficiente
Ok si coinciden con los
atributos de
F
Ok si coinciden con el
atributo de
división
Consulta
Rangos
Deficiente
Deficiente
Ok si coinciden con el
atributo de
división
Bases de Datos Paralelas
Sesgo
La división entre los discos no es equitativa
Clasificación:
Sesgo de valores de los atributos: Un determinado valor para
un atributo es mas frecuente que otro
Sesgo de la división: Desequilibrio en la carga de la
distribución aunque no haya sesgo en los atributos
La operación mas larga en paralelo es la que determina el tiempo
total de la operación
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Paralelismo entre Consultas
Varias transacciones al tiempo
El tiempo de una transacción es el mismo pero se incrementa
la productividad (throughput)
Consideraciones de implementación:
Coherencia del cache
Evitar que dos procesadores modifiquen al tiempo un mismo
dato (Protocolos de Bloqueo)
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Paralelismo en Consultas
Los conjuntos son parte constitutiva de las bases de datos y
por tanto son susceptibles a ser paralelizables
Se pueden hacer en paralelo cada uno de los nodos del árbol
de operaciones.
Puede presentare paralelismo en o entre operaciones
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Paralelismo en Operaciones
Ordenamiento: Realizar una partición de los datos para cada
procesador (depende del esquema de particionamiento
utilizado). Hacer merge de cada una de las partes ordenadas
Reunión:
Por división: Solo para equireuniones y los atributos de reunión
deben ser los mismos del particionamiento. Las dos relaciones
deben particionarse con la misma función o rango. Cada
procesador se encarga de seleccionar las tuplas que concuerdan
Reunión con fragmentos y réplicas: Para reuniones con
condiciones de desigualdad Se parte una de las relaciones y se
replica la otra en cada procesador. La relación pequeña suele
replicarse. En general, se pueden dividir ambas relaciones y
construir una “matriz de procesadores”
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Continuación
Por División
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Fragmentos y Réplicas
Bases de Datos Paralelas
Paralelismo en otras Operaciones
Selección: Si la condición es una condición de
particionamiento, cada procesador puede seleccionar algunas
tuplas y luego reunirlas
Eliminación de duplicados: Utilizar un ordenamiento paralelo y
luego realizar la eliminación
Agregación: Calcular resultados parciales y luego calcular el
resultado total
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Paralelismo entre operaciones
Paralelismo de encauzamiento:
Una operación consume el resultado de otra
No siempre es útil pues una operación puede requerir la
totalidad de las tuplas y no bastarle resultados parciales
No siempre las operaciones son tan largas para esperar
Paralelismo Independiente:
Cada operación se realiza por separado y luego otra operación
las reune
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Tiempo de ejecución en Paralelo
Problemas del Paralelismo
Sesgo
Cuello de botella en los recursos
Costo de reunión y de inicio
Tiempo de ejecución
Ti = Tinicio + max(op0 , ..., opn ) + Treunion
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
ORACLE PARALLEL SERVER
Es un ambiente de computo robusto que permite que varios
nodos (cluster) trabajen como un solo equipo.1
Todos los nodos pueden ejecutar transacciones al mismo
tiempo sobre la base de datos
Se encarga de mantener la consistencia y la integridad en los
datos sin importar la concurrencia de las transacciones
Es un componente importante para los sistemas que requieren
tolerancia a fallos y un corto tiempo de caı́da
1
Tomado de Oracle8i Parallel Server Concepts
Real Application Cluster 9i
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Ventajas
Mejoramiento del Throughput y la velocidad de procesamiento
“Visualización” del cluster como si fuera una única máquina
Escalabilidad: Adición de nuevos nodos para mejorar el
desempeño
Alta disponibilidad: Rápida recuperación ante fallos y
redistribución de la carga para seguir funcionando
Transparencia: Las aplicaciones “ve” el OPS como una única
instancia de base de datos
Manejo del Buffer de Cache: Control del cache de cada uno
de los nodos sin perder las ventajas de los mismos
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
continuación...
Escrituras diferidas: Solo escribe cuando:
Los bloques en memoria ppal no se han utilizado
frecuentemente o se termina el espacio
Durante los puntos de chequeo
Cuando otra instancia necesita dichos bloques
Control multiversión de los datos por registro
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Arquitecturas de Hardware Paralelas
Nodo: Equipo de computo con CPU, memoria,
almacenamiento e intercomunicación.
Uniform Memory Access: Todos los procesadores acceden a la
memoria a la misma velocidad. (Symmetric Multi-Processing
System)
Non-Uniform Memory Access: El acceso a memoria tiene un
costo dependiendo del nodo
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Tightly Coupled Shared Memory System
Acceso a memoria menos
costoso
Mas sencillo que administrar
que un cluster
Capacidad limitada al ancho de
banda del bus de memoria
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Acceso a Disco en Clusters
Uniform Disk Access: o Acceso a disco compartido, el costo
de acceso es igual para todos los nodos (granjas de discos)
Los datos son compartidos y están disponibles ası́ un nodo falle
Pueden crecer fácilmente
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
continuación...
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
continuación...
Non-Uniform Disk Access: El costo de los accesos varı́a entre
los nodos
Los requerimientos de lectura pasan por una capa de software
que se encarga del control
Conocidos como sin-compartimento
Ventaja: El número de nodos no está limitado
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
continuación...
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Tendencia
La tendencia es disminuir el número de nodos del cluster ,
cada nodo con un potente sistema SMP y el acceso a disco
compartido
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Arquitectura del OPS
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Cluster Manager
Control de los miembros del cluster
Visión global del cluster
Provisto por otros proveedores
Detecta fallas en los nodos y termina todos los procesos
asociados al mismo (lo marca como inactivo)
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Node Monitor
Informa el estado de los recursos de un nodo
Informa al Oracle Server cuando se inician y apagan instancias
de Oracle
Detecta cambios en el estado de los nodos
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Distributed Lock Manager
Mantener la consistencia de los datos que son accedidos
simultáneamente.
Transparencia: Las aplicaciones siguen utilizando los mismos
mecanismos de bloqueo que para una arquitectura no paralela
Cada nodo participa en el control de los candados y este
componente tiene control sobre todos los candados
Detecta Dead Locks Se apoya en el Cluster Manager para
obtener información de los nodos. Si no obtiene la información
necesaria, apaga la instancia (cada instancia debe preocuparse
de las otras instancias para controlar el acceso a los recursos).
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Interconexión del Cluster
IPC (Inter-Process Communication): Definición de interfaces
y protocolos para el paso de mensajes
Basado en un modelo ası́ncrono y por colas
Los servicios de comunicación son implementados sobre estos
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Escalabilidad del OPS
Aumento de la velocidad distribuyendo los procesos en los
diferentes nodos
Mas procesos por unidad de tiempo (throughput)
Aumentar y disminuir el número de instancias de acuerdo al
número de usuarios concurrentes sobre el sistema
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Medidas de la Eficiencia
Scale-Up: Cuanto trabajo puede ser hecho en el mismo
tiempo por un sistema mas potente
Scale − Up = Vol Paralelo/Vol Original
Speed-up: El sistema puede realizar la tarea en menos tiempo
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Aplicaciones apropiadas para el OPS
Data Warehousing: Muchas consultas concurrentes y los
bloques pueden residir en los buffers
Departmentalized Application: Cada nodo puede tomar a
cargo un departamento de la compañı́a (importante que las
tablas a actualizar no sean comunes)
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Niveles de Escalabilidad
Escalabilidad de HW y RED: La interconexión entre los nodos
es de vital importancia (latencia en el B.W. Y en el I/O)
Escalabilidad del S.O: Manejo de la memoria compartida,
sincronización y acceso a los recursos
Escalabilidad del DBMS: El motor paraleliza las consultas o
un agente externo
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Bases de Datos Paralelas
Descargar