Você está na página 1de 32

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

Introduccion

Paralelismo de I/O

Paralelismo entre Consultas

OPS

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

Introduccion

Por que tener bases de datos paralelas?


Tipos de arquitecturas:
Memoria Compartida
Disco Compartido
Sin Compartimento
Jerarquica

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

Paralelismo de I/O

Division de las relaciones en varios discos (particiones)


Aumento de la velocidad en el acceso a los datos
Tecnicas de division
Turno Rotatorio: Asignar la i-esima tupla al Disco i mod n.
Asegura distribuci
on homogenea
Division por Asociaci
on: Definir una funci
on
F (a1 , ..an ) Particion
Division 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

Comparacion entre las tecnicas de division

Turno Rotatorio
D. Asociacion

Exploracion
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
division

Consulta
Rangos
Deficiente
Deficiente

Ok si coinciden con el
atributo de
division

Bases de Datos Paralelas

Sesgo

La division entre los discos no es equitativa


Clasificacion:
Sesgo de valores de los atributos: Un determinado valor para
un atributo es mas frecuente que otro
Sesgo de la divisi
on: Desequilibrio en la carga de la
distribucion aunque no haya sesgo en los atributos

La operacion mas larga en paralelo es la que determina el tiempo


total de la operacion

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

Paralelismo entre Consultas

Varias transacciones al tiempo


El tiempo de una transaccion es el mismo pero se incrementa
la productividad (throughput)
Consideraciones de implementacion:
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 arbol
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 particion de los datos para cada


procesador (depende del esquema de particionamiento
utilizado). Hacer merge de cada una de las partes ordenadas
Reunion:
Por division: Solo para equireuniones y los atributos de reunion
deben ser los mismos del particionamiento. Las dos relaciones
deben particionarse con la misma funci
on o rango. Cada
procesador se encarga de seleccionar las tuplas que concuerdan
Reunion con fragmentos y replicas: Para reuniones con
condiciones de desigualdad Se parte una de las relaciones y se
replica la otra en cada procesador. La relaci
on peque
na 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

Continuacion

Por Division

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Fragmentos y Replicas

Bases de Datos Paralelas

Paralelismo en otras Operaciones

Seleccion: Si la condicion es una condicion de


particionamiento, cada procesador puede seleccionar algunas
tuplas y luego reunirlas
Eliminacion de duplicados: Utilizar un ordenamiento paralelo y
luego realizar la eliminacion
Agregacion: 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 operacion consume el resultado de otra
No siempre es u
til pues una operaci
on puede requerir la
totalidad de las tuplas y no bastarle resultados parciales
No siempre las operaciones son tan largas para esperar

Paralelismo Independiente:
Cada operacion se realiza por separado y luego otra operacion
las reune

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

Tiempo de ejecucion en Paralelo

Problemas del Paralelismo


Sesgo
Cuello de botella en los recursos
Costo de reuni
on y de inicio

Tiempo de ejecucion
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 cada

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


Visualizacion del cluster como si fuera una u
nica maquina
Escalabilidad: Adicion de nuevos nodos para mejorar el
desempe
no
Alta disponibilidad: Rapida recuperacion ante fallos y
redistribucion de la carga para seguir funcionando
Transparencia: Las aplicaciones ve el OPS como una u
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

continuacion...

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 multiversion 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 intercomunicacion.
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 estan disponibles as un nodo falle
Pueden crecer facilmente

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

continuacion...

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

continuacion...

Non-Uniform Disk Access: El costo de los accesos vara 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
umero de nodos no esta limitado

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

continuacion...

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Bases de Datos Paralelas

Tendencia

La tendencia es disminuir el n
umero 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


Vision 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


simultaneamente.
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 informacion de los nodos. Si no obtiene la informacion
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

Interconexion del Cluster

IPC (Inter-Process Communication): Definicion de interfaces


y protocolos para el paso de mensajes
Basado en un modelo asncrono y por colas
Los servicios de comunicacion 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
umero de instancias de acuerdo al
n
umero 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
na (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 interconexion 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,
sincronizacion 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

Você também pode gostar