Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | violet-mueller |
View: | 53 times |
Download: | 0 times |
SISTEMA DE BASES DE DATOS PARALELAS
Integrantes:Ariany AlejosAlfonso CedilloAmarilis Obelmejía
Caracas, 24 de Enero de 2013
Agenda
• Introducción: ¿Qué es un SMBD Paralelo?• Características de un SMBD Paralelo• Arquitectura
• Memoria compartida• Disco Compartido• Disco sin compartición• Jerárquico
• Paralelismo E/S• Turno Rotatorio• División por asociación• División por rangos
• Paralelismo en consultas• Paralelismo en operaciones
• Ordenación Paralela• Ordenación División rango• Reunión Paralela
• Reunión por División• Reunión por fragmentos y replicas• Reunión por asociación dividida• Reunión con Índices• Otras operaciones
• Paralelismo entre operaciones• Paralelismo de Encauzamiento• Paralelismo Independiente
• Ventajas y desventajas del uso de SMBD Paralelos• Ejemplo: Teradata
Agenda
¿Qué es un procesamiento paralelo?
• Los sistemas paralelos constan de: procesadores y discos
• Medidas de rendimiento para sistemas de BD:
La productividad
El tiempo de respuesta
Page 4
Introducción
• Las operaciones paralelas se ejecutan de manera
simultanea.
• Mejoran la velocidad de procesamiento y de E/S.
• Existen dos tipos de máquinas paralelas:
De grano fino
De grano grueso
• El paralelismo se usa para
aumentar la amplicidad.
Características
• Requisito importante
• SBDP debe considerar, también:
Recuperación
Reorganización interactiva
• Las máquinas paralelas se diseñan para
afrontar fallas de dispositivos.
- Los datos son guardados en réplicas
funcionales
• SBDP no están disponibles durante la
creación de índices y cambios de esquemas.
.
Diseño de SBDP
Memoria Compartida
Los procesadores y los
discos tienen acceso a
una memoria común,
normalmente a través
de un bus o de una red
de interconexión.
Arquitectura
Disco Compartido
Los procesadores
pueden acceder
directamente a todos
los discos a través de
una red de
interconexión, pero
los procesadores
tienen memorias
privadas
Arquitectura
Sin Compartimiento
Cada nodo de la
máquina consta de un
procesador, memoria y
uno o más discos
Arquitectura
Jerárquico
Combina las
características
de las
arquitecturas de
memoria
compartida, de
disco compartido
y sin
compartimiento
Arquitectura
• En el paralelismo de E/S las relaciones se dividen
entre los discos disponibles para recuperar datos
de forma rápida
• Se da por hecho que hay n disco, 0,d1…..,dn-1, entre los
cuales se van a dividir los datos.
Técnicas de división
• Turno rotatorio
• División por asociación
• División por rango
Paralelismo de E/S
Turno Rotatorio
• i-ésima tupla se envía al Di mod n, donde n: es la
cantidad de discos
• Provee una distribución homogénea.
Paralelismo de E/S
División por Asociación:
• Cada tupla se asocia en términos de los atributos de asociación.
• Función de asociación: fx(tupla) = i, donde i: índice del disco al que será enviado
Ejemplo: se tiene el atributo num-tlf, se puede responder a la consutla <buscar el registro del empleado> = 5555 se aplica fx(5555) = i, se ubica en el DI.
Paralelismo de E/S
División por Rangos
• Distribuye rangos contiguos de valores.
• Se escoge atributo de la relación como
vector de división
• Si hay pocas duplas en el rango consultado
la consulta se envía a un disco.
Paralelismo de E/S
• Las consultas o transacciones se ejecutan en paralelo entre si.
• El tiempo de respuesta de cada transacción no es menor que si se ejecutara de forma aislada
• Ampliación de los sistemas de procesamiento de transacciones
• Forma mas sencilla de paralelismo en los SBD sobre todo en los sistemas paralelos de memoria compartida
• Complicado en las arquitecturas de disco compartido y sin compartimiento.
Paralelismo entre consultas
• Complicado en las arquitecturas de disco compartido y sin compartimiento.
• Coherencia de Cache.
• Protocolos para garantizar la coherencia de chace de los sistemas de disco compartido.
1.-
• Bloqueo de modo compartido o exclusivo antes de cualquier operación de L/E
2.-
• Antes de una transacción libere el bloqueo exclusivo de una página
Paralelismo entre consultas
• Ejecución en paralelo de una única consulta en varios procesadores y discos.
• El paralelismo entre consultas no acelera las consultas de ejecución prolongada, dado que cada consulta se ejecuta de manera secuencial.
• Existen dos formas de ejecución en paralelo de una sola consulta.
1.- • Paralelismo en Operaciones
2.- • Paralelismo entre Operaciones
Paralelismo entre consultas
• La operaciones se pueden paralelizar ejecutándolas sobre subconjuntos diferentes de las relaciones en paralelo.
• El numero de tuplas de cada relación puede ser grande, el grado de paralelismo es potencialmente enorme
Paralelismo entre consultasParalelismo en operaciones
• Ordenación Paralela• Ordenación División de Rangos
Se divide por rangos la relación
Se ordena cada partición
Paralelismo entre consultasParalelismo en operaciones
Reunión Paralela (Comparación de tuplas para ver si satisfacen la condición de reunión).• Reunión división de rango
• Es posible dividir las dos relaciones de entrada entre los procesadores.
• Procesar localmente la reunión de cada relación.
• Sea r y s dos relaciones que hay que reunir, existen dos maneras diferentes de dividirlas
• División por rangos de los atributos de la reunión.
• División por asociación de los atributos de la reunión.
Paralelismo entre consultasParalelismo en operaciones
Reunión Paralela • Reunión por fragmentos y replicas.
• No es aplicable a todos los tipos de reuniones.
• Primero se considerará un caso especial de fragmentos y replicas (reunión con fragmentos y réplicas asimétricos).
Paralelismo entre consultasParalelismo en operaciones
Paralelismo en ConsultasParalelismo en Operaciones
• Reunión Paralelas• Reunión por asociación dividida en paralelo• Suponiendo que se tienen n procesadores p1,p2,…, pn y dos relaciones s y r divididas en varios discos, se debe escoger la relación menor como relación de construcción
• Si el tamaño de s es menor que el de r, el algoritmo de reunión por asociación paralela procede con los siguientes pasos:
Paralelismo en ConsultasParalelismo en Operaciones
• Reunión por asociación dividida en paralelo• Pasos
1. Se escoge una función de asociación que tome el valor del atributo reunión de la relación menor de cada tupla y asigna esa tupla a uno de los n procesadores
2. A medida que el procesador destino recibe las tuplas, las vuelve a dividir de acuerdo con otra función de asociación, para procesarlas de manera local
3. Se llevan a cabo los pasos 1 y 2 para la relación mayor
Paralelismo en ConsultasParalelismo en Operaciones
S11 R11 S12 R12 S1n R1n…
(H1) (H1) (H1) (H1) (H1) (H1)
P1 P2 Pn
(H2) (H2) (H2)
…
…
Función
Ordena Local
• Reunión Paralelas• Reunión con Índices
• Si se tienen dos relaciones s y r, con la relación r en división
• Hay un índice basado en un atributo de reunión de la relación r en cada una de sus particiones
• Se replica la relación s en las divisiones de r
• Luego cada procesador realiza una reunión indexada entre la relación s y la partición i-ésima de la relación r
Paralelismo en ConsultasParalelismo en Operaciones
• Otras operaciones relacionales Selección Eliminación de duplicados Proyección Agregación
Paralelismo en ConsultasParalelismo en Operaciones
Paralelismo en ConsultasParalelismo entre Operaciones
Paralelismo de encauzamiento
Paralelismo independiente
Paralelismo en ConsultasParalelismo entre Operaciones
El Paralelismo de Encauzamiento
• El encauzamiento es una importante fuente de economía de calculo para el procesamiento de las consultas de bases de datos
• Es posible ejecutar simultáneamente dos operaciones A y B en procesadores diferentes de modo que B consuma las tuplas en paralelo con su producción por A
• La principal ventaja de la ejecución encauzada de las evaluaciones secuenciales es que se puede ejecutar una secuencia de operaciones sin escribir en el disco ninguno de los resultados intermedios
Paralelismo en ConsultasParalelismo entre Operaciones
El Paralelismo Independiente
• Las operaciones en las expresiones de las consultas que son independientes entre si pueden ejecutarse en paralelo
• El paralelismo independiente no proporciona un alto grado de paralelismo
Ventajas y DesventajasBD Paralelas
Ventajas Desventajas• Mejoramiento en la velocidad de procesamiento y en E/S.
• Se contempla en el diseño que aunque falle un procesador, el resto de los procesadores puedan seguir teniendo acceso a los datos que guarda
• Interferencia o retardo en la ejecución de los procesos debido al uso compartido de recursos.
• Nivel de dificultad en la implementación.
• Sesgo. Es vital el equilibrio de la carga de procesamiento entre todos los elementos
Ejemplo: Selección en Paralelo. Oracle La siguiente imagen muestra cómo se puede
crear una tabla a partir de la selección, en paralelo, de los datos de otra tabla.Lo que hace es dividir la selección de los datos de la tabla origen en cinco consultas paralelas, que posteriormente se unirán para crear la tabla de destino.