490 likes | 1.73k Views
Integrantes: Ariany Alejos Alfonso Cedillo Amarilis Obelmejía. Sistema de Bases de Datos paralelas. 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
E N D
Integrantes: ArianyAlejos Alfonso Cedillo Amarilis Obelmejía Sistema de Bases de Datos paralelas 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
Agenda • 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
Introducción • ¿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
Características • 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.
Diseño de SBDP • 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. .
Arquitectura 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
Paralelismo de E/S • 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-ésimatupla 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 • Comparación de las técnicas de división
Paralelismo entre consultas 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.
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.
Paralelismo entre consultas Paralelismo en operaciones 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 consultas Paralelismo en operaciones Ordenación Paralela Ordenación División de Rangos
Paralelismo entre consultas Paralelismo 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 consultas Paralelismo 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 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 • 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 • 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 • 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 … Función (H2) (H2) (H2) … Ordena Local
Paralelismo en ConsultasParalelismo en Operaciones • 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 I1 P1 S R11 I2 P2 S R12 … … … In Pn S R1n
Paralelismo en ConsultasParalelismo en Operaciones • Otras operaciones relacionales • Selección • Eliminación de duplicados • Proyección • Agregación
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
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.