inst. tec. de morelia isc bases de datos distribuidas verano del 2006 mc. anastacio antolino...

40
Inst. Tec. de Inst. Tec. de Morelia Morelia ISC ISC BASES DE DATOS DISTRIBUIDAS BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 VERANO DEL 2006 MC. Anastacio Antolino MC. Anastacio Antolino Hernández Hernández SISTEMAS DE BASES DE SISTEMAS DE BASES DE DATOS PARALELAS DATOS PARALELAS

Upload: eugenia-tiscareno

Post on 21-Apr-2015

5 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

SISTEMAS DE BASES DE SISTEMAS DE BASES DE DATOS PARALELASDATOS PARALELAS

Page 2: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Actualmente los Sistemas Paralelos se están comercializando con éxito por prácticamente todos los fabricantes de BD.

• Este cambio lo han impulsado las siguientes tendencias:

Los requisitos transaccionales de las empresas han aumentado,

con el uso creciente de las computadoras.

El crecimiento de la WWW y los datos recogidos por los visitantes han producido BD extremadamente grandes en muchas empresas.

Las empresas utilizan volúmenes crecientes de datos para planificar sus actividades y sus tarifas.

Page 3: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

Las consultas utilizadas para estos fines se denominan consultas de Ayuda a la Toma de Decisiones y las necesidades de datos para las mismas pueden llegar a los terabytes.

Los sistemas con un único procesador no son capaces de tratar volúmenes de datos tan grandes a la velocidad necesaria.

La naturaleza orientada a conjuntos de las consultas de BD se presta de manera natural a la paralelización.

Varios sistemas comerciales y de investigación han demostrado la potencia y dimensionalidad del procesamiento paralelo de consultas.

Con el abaratamiento de los microprocesadores, las máquinas paralelas se han vuelto comunes y relativamente baratas.

Page 4: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• El paralelismo se utiliza para proporcionar aceleración, y las consultas se ejecutan más rápido debido a que se proporcionan más recursos, como procesadores y discos.

• El paralelismo también se utiliza para proporcionar ampliabilidad, y las cargas de trabajo crecientes se tratan sin aumentar el tiempo de respuesta mediante un aumento en el grado de paralelismo.

PARALELISMO DE E/SPARALELISMO DE E/S

• En su forma más sencilla, el paralelismo de E/S se refiere a la reducción del tiempo necesario para recuperar relaciones del disco dividiéndolas en varios discos.

Page 5: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• La forma más frecuente de división de datos en un entorno de BD Paralela es la División Horizontal.

• En la división horizontal, las tuplas de las relaciones se dividen entre varios grupos, de modo que cada tupla resida en un disco.

TÉCNICAS DE DIVISIÓNTÉCNICAS DE DIVISIÓN

• Se presentan 3 estrategias básicas para la división de datos.

• Se da por supuesto que hay n discos, D0, D1, …, Dn-1, entre los cuales se van dividir los datos.

Page 6: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 1.- TURNO ROTATORIOTÉCNICA 1.- TURNO ROTATORIO

• La relación se explora en cualquier orden y la i-ésima tupla se envía al disco numerado D i mod n.

• El esquema de turno rotatorio asegura una distribución homogénea de las tuplas entre los discos.

• Cada disco tiene aproximadamente el mismo número de tuplas que los demás.

Page 7: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 1.- TURNO ROTATORIOTÉCNICA 1.- TURNO ROTATORIO

ACCESOACCESO

• El esquema se adapta perfectamente a las aplicaciones que desean leer secuencialmente la relación completa para cada consulta.

• Con este esquema tanto las consultas concretas como las de rango son difíciles de procesar.

• Dado que se debe emplear en la búsqueda cada uno de los n discos.

Page 8: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 2.- DIVISIÓN POR ASOCIACIÓNTÉCNICA 2.- DIVISIÓN POR ASOCIACIÓN

• En esta estrategia de división uno o más atributos del esquema de la relación se designan como atributos de la división.

• Se escoge una función de asociación cuyo rango sea [0, 1, …, n-1].

• Cada tupla de la relación original se asocia en términos de los atributos de la división.

• Si la función de asociación devuelve i, la tupla se ubica en el disco Di.

Page 9: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 2.- DIVISIÓN POR ASOCIACIÓNTÉCNICA 2.- DIVISIÓN POR ASOCIACIÓN

ACCESOACCESO

• Este esquema se adapta mejor a las consultas concretas basadas en el atributo de división.

• Por ejemplo si se divide una relación en términos del atributo No_Ctrl, se puede responder a la consulta: “Buscar el registro del alumno con número de control = 97120543”.

• Aplicando la función de división por asociación a “97120543” y buscando luego en ese disco.

• Dirigir la consulta a un solo disco ahorra el costo de iniciar una consulta en varios discos.

Page 10: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 2.- DIVISIÓN POR ASOCIACIÓNTÉCNICA 2.- DIVISIÓN POR ASOCIACIÓN

ACCESOACCESO

• Este esquema también es útil para las exploraciones secuenciales de la relación completa.

• Si la función de asociación es una buena función aleatoria y los atributos de división forman una clave de la relación, el número de tuplas en cada uno de los discos será aproximadamente el mismo.

• Por lo que el tiempo empleado para explorar la relación es aproximadamente 1/n del tiempo necesario para explorar la relación en un sistema de disco único.

Page 11: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 2.- DIVISIÓN POR ASOCIACIÓNTÉCNICA 2.- DIVISIÓN POR ASOCIACIÓN

ACCESOACCESO

• El esquema, sin embargo, no se adapta bien a las búsquedas concretas en términos de atributos que no sean de división.

• Tampoco se adapta bien a las respuestas a consultas de rangos, dado que, generalmente, las funciones de asociación no conservan la proximidad dentro de los rangos.

• Por lo tanto, hace falta explorar todos los discos para responder a las consultas por rango.

Page 12: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 3.- DIVISIÓN POR RANGOSTÉCNICA 3.- DIVISIÓN POR RANGOS

• Esta estrategia distribuye rangos contiguos de valores de los atributos a cada disco.

• Se escoge un atributo de división, A, como vector de división.

• Sea [v0, v1, …, vn-2] el vector de división, tal que, si i < j, entonces vi < vj.

Page 13: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 3.- DIVISIÓN POR RANGOSTÉCNICA 3.- DIVISIÓN POR RANGOS

La relación se divide como sigue:

• Consideremos una tupla t tal que t[A] = x.

• Si x < v0 entonces t se ubica en el disco D0.

• Si x ≥ vn-2, entonces t se ubica en el disco Dn-1.

• Si vi ≤ x < vi+1, entonces t se ubica en el disco Di+1.

• Por ejemplo, si tenemos los discos 0, 1, 2 se pueden asignar tuplas con valores menores de 5 al disco 0, entre 5 y 40 al disco 1, y con valores mayores de 40 al disco 2.

Page 14: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 3.- DIVISIÓN POR RANGOSTÉCNICA 3.- DIVISIÓN POR RANGOS

ACCESOACCESO

• Este esquema se adapta bien a las consultas concretas y de rangos basados en el atributo de división.

• Para las consultas concretas se puede consultar el vector de división para encontrar el disco en el que reside la tupla.

• Para las consultas de rangos se consulta el vector de división para hallar el rango de discos en que pueden residir las tuplas.

Page 15: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 3.- DIVISIÓN POR RANGOSTÉCNICA 3.- DIVISIÓN POR RANGOS

ACCESOACCESO

• En ambos casos la búsqueda se limita exactamente a aquellos discos que pudieran tener tuplas de interés.

• Una ventaja de esta característica es que, si sólo hay unas pocas tuplas en el rango consultado, la consulta se suele enviar a un disco, en vez de hacerlo a todos.

• Dado que se pueden utilizar otros discos para responder a otras consultas, la división por rangos da lugar a una mayor productividad de consultas a la vez que se mantiene un buen tiempo de respuesta.

Page 16: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TÉCNICA 3.- DIVISIÓN POR RANGOSTÉCNICA 3.- DIVISIÓN POR RANGOS

ACCESOACCESO

• Por otro lado, si hay muchas tuplas en el rango consultado, hay que recuperar muchas tuplas de pocos discos.

• Lo que origina un cuello de botella de E/S (Punto Caliente) en esos discos.

• Esto se le conoce como Sesgo de Ejecución, donde todo el procesamiento tiene lugar en una partición (o en sólo unas pocas).

Page 17: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

CARACTERÍSTICAS DE LAS TÉCNICASCARACTERÍSTICAS DE LAS TÉCNICAS

• El tipo de división afecta a operaciones relacionales, como las reuniones.

• La elección de la técnica de división también depende de las operaciones que haya que ejecutar.

• En general, las divisiones por asociación y en rangos se prefieren al turno rotatorio.

Page 18: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

ALMACENAMIENTOALMACENAMIENTO

• Una vez que se ha dividido una relación entre varios Una vez que se ha dividido una relación entre varios discos, se puede recuperar en paralelo utilizándolos todos.discos, se puede recuperar en paralelo utilizándolos todos.

• De modo parecido, cuando se está dividiendo una De modo parecido, cuando se está dividiendo una relación, se puede escribir en paralelo en varios discos.relación, se puede escribir en paralelo en varios discos.

• De esta manera las velocidades de transferencia para la De esta manera las velocidades de transferencia para la lectura o escritura de una relación completa son mucho lectura o escritura de una relación completa son mucho mayores con paralelismo de E/S que sin él.mayores con paralelismo de E/S que sin él.

• Sin embargo, la lectura de una relación completa, o Sin embargo, la lectura de una relación completa, o Exploración de la RelaciónExploración de la Relación es sólo uno de los tipos de es sólo uno de los tipos de acceso a los datos.acceso a los datos.

Page 19: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

El acceso a los datos puede clasificarse de la siguiente El acceso a los datos puede clasificarse de la siguiente manera:manera:

1.1. Explorar la relación completa.Explorar la relación completa.

2.2. Localizar una tupla de manera asociativa. Estas consultas Localizar una tupla de manera asociativa. Estas consultas denominadas denominadas Consultas ConcretasConsultas Concretas, buscan tuplas que , buscan tuplas que tengan un valor concreto para un atributo concreto.tengan un valor concreto para un atributo concreto.

3.3. Localizar todas las tuplas cuyo valor de un atributo dado Localizar todas las tuplas cuyo valor de un atributo dado se halle en un rango especificado.se halle en un rango especificado. (p. e.: (p. e.: 5000 < 5000 < SueldoSueldo < 9000 < 9000))

• Las diferentes técnicas de división permiten estos tipos de Las diferentes técnicas de división permiten estos tipos de acceso a diferentes niveles de eficacia.acceso a diferentes niveles de eficacia.

Page 20: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• En un sistema con muchos discos, la forma de dividir una En un sistema con muchos discos, la forma de dividir una relación en un número determinado de discos, puede relación en un número determinado de discos, puede escogerse de la siguiente manera:escogerse de la siguiente manera:

o Si una relación sólo contiene unas pocas tuplas que caben en un Si una relación sólo contiene unas pocas tuplas que caben en un solo bloque de disco, es mejor asignar la relación a uno solo.solo bloque de disco, es mejor asignar la relación a uno solo.

o Las relaciones grandes se dividen preferiblemente entre todos los Las relaciones grandes se dividen preferiblemente entre todos los discos disponibles.discos disponibles.

o Si una relación consta de Si una relación consta de mm bloques de disco y hay bloques de disco y hay nn discos discos disponibles en el sistema, se deberá ubicar la relación en disponibles en el sistema, se deberá ubicar la relación en minmin((mm, , nn) discos.) discos.

Page 21: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

TRATAMIENTO DEL SESGOTRATAMIENTO DEL SESGO

• La distribución de las tuplas al dividir una relación La distribución de las tuplas al dividir una relación (excepto para el (excepto para el Turno RotatorioTurno Rotatorio) puede estar ) puede estar sesgadasesgada, , con un porcentaje alto de tuplas ubicado en algunas con un porcentaje alto de tuplas ubicado en algunas divisiones y menos en otros.divisiones y menos en otros.

• Por la manera en que puede aparecer el sesgo, se clasifica Por la manera en que puede aparecer el sesgo, se clasifica de la siguiente manera:de la siguiente manera:

o Sesgo de los valores de los atributosSesgo de los valores de los atributos

o Sesgo de la divisiónSesgo de la división

Page 22: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• El El Sesgo de los Valores de los AtributosSesgo de los Valores de los Atributos se refiere al se refiere al hecho de que algunos valores pueden aparecer en los hecho de que algunos valores pueden aparecer en los atributos de división de muchas tuplas.atributos de división de muchas tuplas.

• Todas las tuplas con el mismo valor del atributo de Todas las tuplas con el mismo valor del atributo de división terminan en la misma partición, lo que da lugar al división terminan en la misma partición, lo que da lugar al sesgosesgo..

• El El Sesgo de la DivisiónSesgo de la División se refiere al hecho de que puede se refiere al hecho de que puede haber un desequilibrio en la carga de la división, aunque haber un desequilibrio en la carga de la división, aunque no haya sesgo en los atributos.no haya sesgo en los atributos.

Page 23: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Un sesgo pequeño puede dar lugar a una disminución Un sesgo pequeño puede dar lugar a una disminución significativa del rendimiento.significativa del rendimiento.

• El sesgo se transforma en un problema creciente al El sesgo se transforma en un problema creciente al aumentar el grado de paralelismo.aumentar el grado de paralelismo.

• Por ejemploPor ejemplo: Si una relación de 1 000 tuplas se divide en 10 : Si una relación de 1 000 tuplas se divide en 10 partes y la división está sesgada, puede haber algunas particiones partes y la división está sesgada, puede haber algunas particiones de tamaño menor que 100 y otras de tamaño mayor que 100.de tamaño menor que 100 y otras de tamaño mayor que 100.

• Incluso se puede dar la casualidad de que una partición tenga el Incluso se puede dar la casualidad de que una partición tenga el tamaño de 200.tamaño de 200.

• Teniendo una aceleración, al tener acceso en paralelo a las Teniendo una aceleración, al tener acceso en paralelo a las particiones, de sólo 5, en lugar del valor de 10 que se cabría particiones, de sólo 5, en lugar del valor de 10 que se cabría esperar.esperar.

Page 24: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Se esperaba una aceleración de 10 veces más rápido que Se esperaba una aceleración de 10 veces más rápido que haciéndolo en un solo disco; pero debido al sesgo (con 200 haciéndolo en un solo disco; pero debido al sesgo (con 200 tuplas, se tiene 1000/200 = 5) sólo se obtiene una aceleración de tuplas, se tiene 1000/200 = 5) sólo se obtiene una aceleración de 5.5.

• Si la misma relación, con las 1 000 tuplas, tiene que dividirse en Si la misma relación, con las 1 000 tuplas, tiene que dividirse en 100 partes, las particiones tendrán de media 10 tuplas.100 partes, las particiones tendrán de media 10 tuplas.

• Si una partición llega a tener hasta 40 tuplas (lo que es posible Si una partición llega a tener hasta 40 tuplas (lo que es posible dado el gran número de particiones) la aceleración que se dado el gran número de particiones) la aceleración que se obtendría al tener acceso a ellas en paralelo sería de 25 (1000/40 obtendría al tener acceso a ellas en paralelo sería de 25 (1000/40 = 25), en vez de 100.= 25), en vez de 100.

• Por lo tanto, se puede ver que la pérdida de aceleración debido al Por lo tanto, se puede ver que la pérdida de aceleración debido al sesgo aumenta con el paralelismo.sesgo aumenta con el paralelismo.

Page 25: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

PARALELISMO ENTRE CONSULTASPARALELISMO ENTRE CONSULTAS

• Se ejecutan en paralelo entre sí diferentes consultas o Se ejecutan en paralelo entre sí diferentes consultas o transaccionestransacciones..

• La productividad de transacciones puede aumentarse con La productividad de transacciones puede aumentarse con esta forma de paralelismo.esta forma de paralelismo.

• Sin embargo, el tiempo de respuesta de cada transacción Sin embargo, el tiempo de respuesta de cada transacción no es menor que si éstas se ejecutaran aisladamente.no es menor que si éstas se ejecutaran aisladamente.

• El uso principal del paralelismo entre consultas es ampliar El uso principal del paralelismo entre consultas es ampliar los sistemas de procesamiento de transacciones para los sistemas de procesamiento de transacciones para permitir un número mayor de transacciones por segundo.permitir un número mayor de transacciones por segundo.

Page 26: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• El El paralelismo entre consultasparalelismo entre consultas es la forma más sencilla de es la forma más sencilla de paralelismo que se permite en los sistemas de BD, paralelismo que se permite en los sistemas de BD, especialmente en los especialmente en los Sistemas Paralelos de Memoria Sistemas Paralelos de Memoria CompartidaCompartida..

• Los SBD diseñados para sistemas con un único Los SBD diseñados para sistemas con un único procesador pueden utilizarse en arquitecturas paralelas de procesador pueden utilizarse en arquitecturas paralelas de memoria compartida con pocos o ningún cambio.memoria compartida con pocos o ningún cambio.

• Esto dado que incluso los sistemas secuenciales de BD Esto dado que incluso los sistemas secuenciales de BD permiten el procesamiento concurrente.permiten el procesamiento concurrente.

Page 27: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Las transacciones que se habrían realizado de manera Las transacciones que se habrían realizado de manera concurrente en tiempo compartido en una máquina concurrente en tiempo compartido en una máquina secuencial, se realizan en paralelo en la arquitectura secuencial, se realizan en paralelo en la arquitectura paralela de memoria compartida.paralela de memoria compartida.

• Permitir el paralelismo entre consultas es más complicado Permitir el paralelismo entre consultas es más complicado en las arquitecturas de disco compartido y sin en las arquitecturas de disco compartido y sin compartimiento.compartimiento.

• Los procesadores tienen que realizar algunas tareas, como Los procesadores tienen que realizar algunas tareas, como los bloqueos y el registro histórico, de forma coordinada, los bloqueos y el registro histórico, de forma coordinada, y eso exige que se intercambien mensajes.y eso exige que se intercambien mensajes.

Page 28: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Los sistemas con arquitectura paralela también deben Los sistemas con arquitectura paralela también deben asegurar que dos procesadores no actualicen asegurar que dos procesadores no actualicen simultáneamente los mismos datos de manera simultáneamente los mismos datos de manera independiente.independiente.

• Cuando un procesador tiene acceso a los datos o los Cuando un procesador tiene acceso a los datos o los actualiza, el sistema de BD debe asegurar que el actualiza, el sistema de BD debe asegurar que el procesador tenga la última versión de éstos en memoria procesador tenga la última versión de éstos en memoria intermedia.intermedia.

• Esto último se conoce como el problema de Esto último se conoce como el problema de Coherencia Coherencia CachéCaché..

Page 29: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Se han desarrollado varios protocolos para garantizar la Se han desarrollado varios protocolos para garantizar la Coherencia CachéCoherencia Caché..

• Generalmente los protocolos de la coherencia caché se Generalmente los protocolos de la coherencia caché se integran con los de control de la concurrencia para reducir integran con los de control de la concurrencia para reducir la sobrecarga.la sobrecarga.

• Protocolo para asegurar la Coherencia CachéProtocolo para asegurar la Coherencia Caché

1.1. Antes de cualquier acceso de lectura o de escritura a un dato, una Antes de cualquier acceso de lectura o de escritura a un dato, una transacción lo bloquea en modo compartido o exclusivo. transacción lo bloquea en modo compartido o exclusivo. Inmediatamente después de obtener el bloqueo compartido o Inmediatamente después de obtener el bloqueo compartido o exclusivo del dato, lee también la copia más reciente del dato en exclusivo del dato, lee también la copia más reciente del dato en el disco compartido.el disco compartido.

Page 30: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Protocolo para asegurar la Coherencia Caché...Protocolo para asegurar la Coherencia Caché...

2.2. Antes de que una transacción libere un bloqueo exclusivo de un Antes de que una transacción libere un bloqueo exclusivo de un dato, traslada éste al disco compartido; luego libera el bloqueo.dato, traslada éste al disco compartido; luego libera el bloqueo.

• El protocolo asegura que cuando una transacción El protocolo asegura que cuando una transacción establezca un bloqueo compartido o exclusivo sobre un establezca un bloqueo compartido o exclusivo sobre un dato, obtenga la copia correcta del dato.dato, obtenga la copia correcta del dato.

• Se han desarrollado protocolos más complejos para evitar Se han desarrollado protocolos más complejos para evitar la lectura y escritura reiterada del disco.la lectura y escritura reiterada del disco.

Page 31: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

PARALELISMO EN CONSULTASPARALELISMO EN CONSULTAS

• Se refiere a la ejecución en paralelo de una única consulta Se refiere a la ejecución en paralelo de una única consulta en varios procesadores y disco.en varios procesadores y disco.

• El uso de paralelismo en consultas es importante para El uso de paralelismo en consultas es importante para acelerar las consultas de ejecución larga.acelerar las consultas de ejecución larga.

• El paralelismo entre consultas no ayuda en esta labor, El paralelismo entre consultas no ayuda en esta labor, dado que cada consulta se ejecuta de manera secuencial.dado que cada consulta se ejecuta de manera secuencial.

• Para valorar esta característica, considérese una consulta Para valorar esta característica, considérese una consulta que exija que se ordene una relación:que exija que se ordene una relación:

Page 32: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

PARALELISMO EN CONSULTASPARALELISMO EN CONSULTAS

• Supóngase que la relación se ha dividido en varios discos Supóngase que la relación se ha dividido en varios discos mediante la división por rango, basado en algún atributo.mediante la división por rango, basado en algún atributo.

• Y que se solicita la ordenación basado en el atributo de Y que se solicita la ordenación basado en el atributo de división.división.

• La ordenación se puede realizar de la manera siguiente:La ordenación se puede realizar de la manera siguiente:

• Cada partición se ordena en paraleloCada partición se ordena en paralelo

• Y las particiones ordenadas se concatenan para obtener la Y las particiones ordenadas se concatenan para obtener la relación ordenada final.relación ordenada final.

Page 33: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Por lo que se puede hacer paralela una consulta haciendo Por lo que se puede hacer paralela una consulta haciendo paralelas las operaciones que la forman.paralelas las operaciones que la forman.

• Existe otra fuente de paralelismo para la evaluación de las Existe otra fuente de paralelismo para la evaluación de las consultas: el consultas: el Árbol de OperadoresÁrbol de Operadores de una consulta puede de una consulta puede contener varias operaciones.contener varias operaciones.

• Se puede hacer paralela la evaluación del árbol de Se puede hacer paralela la evaluación del árbol de operadores evaluando en paralelo algunas de las operadores evaluando en paralelo algunas de las operaciones que no tengan ninguna dependencia entre sí.operaciones que no tengan ninguna dependencia entre sí.

• Pueden ejecutarse en paralelo en procesadores separados, Pueden ejecutarse en paralelo en procesadores separados, uno que genere el resultado que consuma el otro.uno que genere el resultado que consuma el otro.

Page 34: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• En resumen, la ejecución de una sola consulta puede En resumen, la ejecución de una sola consulta puede hacerse en paralelo de dos maneras:hacerse en paralelo de dos maneras:

• Paralelismo en OperacionesParalelismo en Operaciones. Se pude acelerar el . Se pude acelerar el procesamiento de consultas haciendo paralela la procesamiento de consultas haciendo paralela la ejecución de cada una de las operaciones, como puede ejecución de cada una de las operaciones, como puede ser la ordenación, la selección, la proyección y la ser la ordenación, la selección, la proyección y la reunión.reunión.

• Paralelismo entre OperacionesParalelismo entre Operaciones. Se puede acelerar el . Se puede acelerar el procesamiento de consultas ejecutando en paralelo las procesamiento de consultas ejecutando en paralelo las diferentes operaciones de las expresiones de las diferentes operaciones de las expresiones de las consultas.consultas.

Page 35: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

REUNIÓN PARALELAREUNIÓN PARALELA

• La operación reunión exige que se comparen pares de tuplas para ver si se satisfacen la condición de reunión.

• Si cumplen, el par se añade al resultado reunido.

• Los algoritmos de reunión paralela intentan repartir entre varios procesadores los pares que hay que comparar.

• Cada procesador procesa localmente parte de la reunión.

• Finalmente, hay que reunir los resultados de cada procesador para producir el resultado final.

Page 36: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

REUNIÓN POR DIVISIÓNREUNIÓN POR DIVISIÓN

• Para ciertos tipos de reuniones, como las equirreuniones y las naturales, es posible dividir las dos relaciones de entrada entre los procesadores, y procesar localmente la reunión en cada uno de ellos.

• Por ejemplo, supóngase que se utilizan N procesadores y que las relaciones que hay que reunir son R y S.

• Cada una de las relaciones se divide en N particiones, denominadas r0, r1, …, rn-1, y s0, s1, …, sn-1.

• Las particiones ri y si se envían al procesador Pi, donde la reunión se procesa localmente.

Page 37: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

REUNIÓN POR DIVISIÓNREUNIÓN POR DIVISIÓN

• Una vez divididas las relaciones se puede utilizar localmente cualquier técnica de reunión en cada procesador Pi para calcular la reunión de ri y si.

P0

P1

P2

P3

r0

r1

r2

r3

s1

s0

s2

s3

r s

Page 38: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

• Se puede optimizar el algoritmo de reunión utilizado localmente en cada procesador para reducir las E/S, no escribiendo en disco algunas de las tuplas sino guardándolas temporalmente en una memoria intermedia.

Reunión con Fragmentos y Réplicas

• Funciona de la siguiente manera:1. Se divide una de las relaciones ( r ). Se puede utilizar en r

cualquier técnica de división.

2. La otra relación, digamos s, se replica entonces en todos los procesadores.

3. El Procesador Pi procesa entonces localmente la reunión de ri con toda s, utilizando cualquier técnica de reunión.

Page 39: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

Principles Of Distributed Database Systems 2ª. Ed.Principles Of Distributed Database Systems 2ª. Ed.

M. Tamer Ozsu y Patrick ValduriezM. Tamer Ozsu y Patrick Valduriez

Prentice HallPrentice Hall

Fundamentos de Bases de Datos 4a. EdiciónFundamentos de Bases de Datos 4a. EdiciónSilberschatz, Korth y SudarshanSilberschatz, Korth y SudarshanMc Graw HillMc Graw Hill

Procesamiento de Bases de Datos 8a. Ed. Procesamiento de Bases de Datos 8a. Ed.

David M. KroenkeDavid M. Kroenke

Pearson.Pearson.

Introducción a los Sistemas de Bases de Datos 7a. Ed.Introducción a los Sistemas de Bases de Datos 7a. Ed.

C. J. DateC. J. Date

Prentice Hall.Prentice Hall.

Page 40: Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández SISTEMAS DE BASES DE DATOS PARALELAS

Inst. Tec. de MoreliaInst. Tec. de Morelia ISCISCBASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS

VERANO DEL 2006VERANO DEL 2006 MC. Anastacio Antolino HernándezMC. Anastacio Antolino Hernández

http://www.cs.cinvestav.mx/BDChapa/Beto/Blanco.htmhttp://www.itlp.edu.mx/publica/tutoriales/basedat1/tema7.htm

http://www.itlp.edu.mx/publica/revistas/revista_isc/anteriores/mzo99/bdoo.html

http://www.elrinconcito.com/articulos/BaseDatos/BasesDatos.htm

http://es.wikipedia.org/wiki/CORBA