Post on 19-May-2018
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 Introduccion
2 Paralelismo de I/O
3 Paralelismo entre Consultas
4 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 CompartidaDisco CompartidoSin CompartimentoJerarquica
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 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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (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 incrementala productividad (throughput)
Consideraciones de implementacion:
Coherencia del cacheEvitar que dos procesadores modifiquen al tiempo un mismodato (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 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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
Continuacion
Por Division Fragmentos y Replicas
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (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 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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (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 lamemoria a la misma velocidad. (Symmetric Multi-ProcessingSystem)
Non-Uniform Memory Access: El acceso a memoria tiene uncosto dependiendo del nodo
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (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 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 (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 numero de nodos del cluster ,cada nodo con un potente sistema SMP y el acceso a discocompartido
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 procesosasociados 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 instanciasde 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 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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas
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 (carlosolarte@puj.edu.co) BDII Bases de Datos Paralelas