32
Bases de Datos Paralelas Carlos A. Olarte ([email protected]) BDII Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Embed Size (px)

Citation preview

Page 1: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Bases de Datos Paralelas

Carlos A. Olarte ([email protected])BDII

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 2: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Contenido

1 Introduccion

2 Paralelismo de I/O

3 Paralelismo entre Consultas

4 OPS

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 3: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Introduccion

Por que tener bases de datos paralelas?

Tipos de arquitecturas:

Memoria CompartidaDisco CompartidoSin CompartimentoJerarquica

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 4: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

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 distribucion homogeneaDivision por Asociacion: Definir una funcionF (a1, ..an)→ ParticionDivision por Rangos: Dado un atributo partirlo en rangos ycada rango se almacena en un disco.

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 5: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Comparacion entre las tecnicas de division

ExploracionCompleta

ConsultaConcreta

ConsultaRangos

Turno Rotatorio Ok Deficiente Deficiente

D. Asociacion Ok Ok si coinci-den con losatributos deF

Deficiente

D. Rangos Ok Ok si coin-ciden con elatributo dedivision

Ok si coin-ciden con elatributo dedivision

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 6: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Sesgo

La division entre los discos no es equitativa

Clasificacion:

Sesgo de valores de los atributos: Un determinado valor paraun atributo es mas frecuente que otroSesgo de la division: Desequilibrio en la carga de ladistribucion aunque no haya sesgo en los atributos

La operacion mas larga en paralelo es la que determina el tiempototal de la operacion

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 7: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Paralelismo entre Consultas

Varias transacciones al tiempo

El tiempo de una transaccion es el mismo pero se incrementala productividad (throughput)

Consideraciones de implementacion:

Coherencia del cacheEvitar que dos procesadores modifiquen al tiempo un mismodato (Protocolos de Bloqueo)

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 8: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Paralelismo en Consultas

Los conjuntos son parte constitutiva de las bases de datos ypor tanto son susceptibles a ser paralelizables

Se pueden hacer en paralelo cada uno de los nodos del arbolde operaciones.

Puede presentare paralelismo en o entre operaciones

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 9: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Paralelismo en Operaciones

Ordenamiento: Realizar una particion de los datos para cadaprocesador (depende del esquema de particionamientoutilizado). Hacer merge de cada una de las partes ordenadas

Reunion:

Por division: Solo para equireuniones y los atributos de reuniondeben ser los mismos del particionamiento. Las dos relacionesdeben particionarse con la misma funcion o rango. Cadaprocesador se encarga de seleccionar las tuplas que concuerdanReunion con fragmentos y replicas: Para reuniones concondiciones de desigualdad Se parte una de las relaciones y sereplica la otra en cada procesador. La relacion pequena suelereplicarse. En general, se pueden dividir ambas relaciones yconstruir una “matriz de procesadores”

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 10: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Continuacion

Por Division Fragmentos y Replicas

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 11: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Paralelismo en otras Operaciones

Seleccion: Si la condicion es una condicion departicionamiento, cada procesador puede seleccionar algunastuplas y luego reunirlas

Eliminacion de duplicados: Utilizar un ordenamiento paralelo yluego realizar la eliminacion

Agregacion: Calcular resultados parciales y luego calcular elresultado total

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 12: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Paralelismo entre operaciones

Paralelismo de encauzamiento:

Una operacion consume el resultado de otraNo siempre es util pues una operacion puede requerir latotalidad de las tuplas y no bastarle resultados parcialesNo siempre las operaciones son tan largas para esperar

Paralelismo Independiente:

Cada operacion se realiza por separado y luego otra operacionlas reune

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 13: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Tiempo de ejecucion en Paralelo

Problemas del Paralelismo

SesgoCuello de botella en los recursosCosto de reunion y de inicio

Tiempo de ejecucion

Ti = Tinicio + max(op0, ..., opn) + Treunion

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 14: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

ORACLE PARALLEL SERVER

Es un ambiente de computo robusto que permite que variosnodos (cluster) trabajen como un solo equipo.1

Todos los nodos pueden ejecutar transacciones al mismotiempo sobre la base de datos

Se encarga de mantener la consistencia y la integridad en losdatos sin importar la concurrencia de las transacciones

Es un componente importante para los sistemas que requierentolerancia a fallos y un corto tiempo de caıda

1Tomado de Oracle8i Parallel Server ConceptsReal Application Cluster 9i

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 15: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Ventajas

Mejoramiento del Throughput y la velocidad de procesamiento

“Visualizacion” del cluster como si fuera una unica maquina

Escalabilidad: Adicion de nuevos nodos para mejorar eldesempeno

Alta disponibilidad: Rapida recuperacion ante fallos yredistribucion de la carga para seguir funcionando

Transparencia: Las aplicaciones “ve” el OPS como una unicainstancia de base de datos

Manejo del Buffer de Cache: Control del cache de cada unode los nodos sin perder las ventajas de los mismos

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 16: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

continuacion...

Escrituras diferidas: Solo escribe cuando:

Los bloques en memoria ppal no se han utilizadofrecuentemente o se termina el espacioDurante los puntos de chequeoCuando otra instancia necesita dichos bloques

Control multiversion de los datos por registro

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 17: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Arquitecturas de Hardware Paralelas

Nodo: Equipo de computo con CPU, memoria,almacenamiento e intercomunicacion.

Uniform Memory Access: Todos los procesadores acceden a lamemoria a la misma velocidad. (Symmetric Multi-ProcessingSystem)

Non-Uniform Memory Access: El acceso a memoria tiene uncosto dependiendo del nodo

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 18: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Tightly Coupled Shared Memory System

Acceso a memoria menoscostoso

Mas sencillo que administrarque un cluster

Capacidad limitada al ancho debanda del bus de memoria

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 19: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Acceso a Disco en Clusters

Uniform Disk Access: o Acceso a disco compartido, el costode acceso es igual para todos los nodos (granjas de discos)

Los datos son compartidos y estan disponibles ası un nodo fallePueden crecer facilmente

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 20: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

continuacion...

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 21: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

continuacion...

Non-Uniform Disk Access: El costo de los accesos varıa entrelos nodos

Los requerimientos de lectura pasan por una capa de softwareque se encarga del control

Conocidos como sin-compartimento

Ventaja: El numero de nodos no esta limitado

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 22: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

continuacion...

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 23: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Tendencia

La tendencia es disminuir el numero de nodos del cluster ,cada nodo con un potente sistema SMP y el acceso a discocompartido

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 24: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Arquitectura del OPS

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 25: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

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 procesosasociados al mismo (lo marca como inactivo)

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 26: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Node Monitor

Informa el estado de los recursos de un nodo

Informa al Oracle Server cuando se inician y apagan instanciasde Oracle

Detecta cambios en el estado de los nodos

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 27: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Distributed Lock Manager

Mantener la consistencia de los datos que son accedidossimultaneamente.

Transparencia: Las aplicaciones siguen utilizando los mismosmecanismos de bloqueo que para una arquitectura no paralela

Cada nodo participa en el control de los candados y estecomponente tiene control sobre todos los candados

Detecta Dead Locks Se apoya en el Cluster Manager paraobtener informacion de los nodos. Si no obtiene la informacionnecesaria, apaga la instancia (cada instancia debe preocuparsede las otras instancias para controlar el acceso a los recursos).

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 28: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Interconexion del Cluster

IPC (Inter-Process Communication): Definicion de interfacesy protocolos para el paso de mensajes

Basado en un modelo asıncrono y por colas

Los servicios de comunicacion son implementados sobre estos

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 29: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Escalabilidad del OPS

Aumento de la velocidad distribuyendo los procesos en losdiferentes nodos

Mas procesos por unidad de tiempo (throughput)

Aumentar y disminuir el numero de instancias de acuerdo alnumero de usuarios concurrentes sobre el sistema

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 30: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Medidas de la Eficiencia

Scale-Up: Cuanto trabajo puede ser hecho en el mismotiempo 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 ([email protected]) BDII Bases de Datos Paralelas

Page 31: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Aplicaciones apropiadas para el OPS

Data Warehousing: Muchas consultas concurrentes y losbloques pueden residir en los buffers

Departmentalized Application: Cada nodo puede tomar acargo un departamento de la companıa (importante que lastablas a actualizar no sean comunes)

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas

Page 32: Bases de Datos Paralelas - atlas.puj.edu.coatlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases... · instancia de base de datos ... El motor paraleliza las consultas o un agente

Niveles de Escalabilidad

Escalabilidad de HW y RED: La interconexion entre los nodoses 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 oun agente externo

Carlos A. Olarte ([email protected]) BDII Bases de Datos Paralelas