3. diseño de bases de datos distribuidas

47
Diseño de Bases de datos distribuidas

Transcript of 3. diseño de bases de datos distribuidas

Page 1: 3. diseño de bases de datos distribuidas

Diseño de Bases de datos distribuidas

Page 2: 3. diseño de bases de datos distribuidas

IntroducciónSistemas de cómputo distribuido involucran la toma de decisiones en: Posicionamiento de datos y Programas.En DBMS’s distribuidos (DDBS’s) el posicionamiento de aplicaciones implica:1. La distribución de los DBMS’s (software).2. La distribución de los programas de

aplicación.

Page 3: 3. diseño de bases de datos distribuidas

Organización de sistemas distribuidos

Page 4: 3. diseño de bases de datos distribuidas

Diseño Top - Down

Page 5: 3. diseño de bases de datos distribuidas

Cuestiones sobre el diseño de distribución ¿Por qué fragmentar? ¿Cómo debemos fragmentar? ¿Qué tanto debemos fragmentar? ¿Hay alguna manera de verificar si la

fragmentación se realizó correctamente?

¿Cómo debemos distribuir (en los sitios)?

¿Cuál información es la necesaria para distribuir y fragmentar?

Page 6: 3. diseño de bases de datos distribuidas

Justificación de la fragmentación Una relación (tabla) no es una unidad

adecuada. Las aplicaciones definen vistas y están

en lugares distintos, la relación entera: No se replica. Se replica parcial o total.

La descomposición (fragmentos) permite transacciones de ejecución concurrente (concurrencia intra-consulta).

Page 7: 3. diseño de bases de datos distribuidas

Alt

ern

ati

vas

de

fragm

enta

ción

Page 8: 3. diseño de bases de datos distribuidas

Alt

ern

ati

vas

de

fragm

enta

ción

Page 9: 3. diseño de bases de datos distribuidas

Alternativas de fragmentación

Page 10: 3. diseño de bases de datos distribuidas

Nivel de fragmentación ¿Fragmentar todo? ¿Fragmentar por tupla?

Page 11: 3. diseño de bases de datos distribuidas

Reglas para una correcta fragmentaciónAseguramos que la base de datos no sufra cambios semánticos durante la fragmentación.1) Completitud: Si una instancia de relación R

se descompone en fragmentos FR: {R1, R2, …, Rn} cada sección de datos que puede encontrarse en R también puede encontrarse en una o más Ri’s. Propiedad de la descomposición sin pérdida de la normalización.

Page 12: 3. diseño de bases de datos distribuidas

Reglas para una correcta fragmentación2) Reconstrucción: Si la relación R se

descompone en fragmentos FR: {R1, R2, …, Rn} es posible definir un operador relacional tal que

R= Ri, Ri FR

3) Disyunción: Si una relación R está horizontalmente descompuesta en fragmentos FR: {R1, R2, …, Rn} y la sección de datos di está en Rj, este no se encontrará en otro fragmento Rk (kj).

Page 13: 3. diseño de bases de datos distribuidas

Alternativas de distribución

Page 14: 3. diseño de bases de datos distribuidas

Requerimientos de informaciónFragmentación (cualitativas): Base de datos. Aplicaciones.Distribución (cuantitativas): Red de comunicación. Sistemas computacionales (de

computadoras).

Page 15: 3. diseño de bases de datos distribuidas

FRAGMENTACIÓN

Page 16: 3. diseño de bases de datos distribuidas

Fragmentación horizontalVersiones de la fragmentación horizontal: Primaria: Se desarrolla utilizando

predicados que son definidos en la relación (tabla).

Derivada: resulta de predicados que son definidos en otras relaciones.

Page 17: 3. diseño de bases de datos distribuidas

Información de la base de datos

Dueño o fuente (L1)= PAY

Miembro u objetivo (L1)= EMP

Dueño o fuente

Miembro u objetivo

Cardinalidad (R)1(PAY)M(EMP)

Page 18: 3. diseño de bases de datos distribuidas

Información de la aplicación Consiste de los predicados de las consultas de

los usuarios. “Regla del 80/20”

Necesitamos encontrar predicados simples. Dada una relación R (A1, A2, …, An), donde A1es un atributo definido sobre el dominio Di, un simple predicado pj definido en R tiene la forma

pj: Ai Valor

Donde {=, <, , >, >=, <=} y Valor se escoje del dominio de Ai.

Page 19: 3. diseño de bases de datos distribuidas

Información de la aplicación Dado un conjunto Pri={pi1, pi2, …, pim} de

predicados simples para la relación Ri, el conjunto de predicados “términos” Mi={ mi1, mi2, …, miz} se define como

donde P*ik=Pik o P*

ik= Pik. Así cada predicado se puede encontrar en su forma natural y en su forma negada.

Page 20: 3. diseño de bases de datos distribuidas

Información de la aplicación Posibles predicados simples de la

relación PAY.

Page 21: 3. diseño de bases de datos distribuidas

Información de la aplicación “Términos” basados en los predicados

simples.

Page 22: 3. diseño de bases de datos distribuidas

Información de la aplicación En términos de información cuantitativa

acerca de las aplicaciones de los usuarios, necesitamos dos conjuntos de datos:

1) Selectividad de“términos”: número de tuplas de la relación que serán accesadas por la consulta especificada de acuerdo a un “término” dado. sel(mi), 0.25(m2).

2) Frecuencia de acceso: Frecuencia con que las aplicaciones de usuarios acceden a los datos. acc(qi).

Page 23: 3. diseño de bases de datos distribuidas

Fragmentación horizontal primaria Está definida por una operación

SELECCIÓN en la relación dueño de un esquema de base de datos.

Dada una relación R, sus fragmentos horizontales están dados por

Ri= Fi (R), 1<= i <= w

donde Fi es la fórmula de selección para obtener el fragmento Ri. Fi en forma de conjunción se convierte en un “término”.

Page 24: 3. diseño de bases de datos distribuidas

Fragmentación horizontal primaria Ejemplo. Queremos descomponer la

relación PROJ y determinamos como fragmentos:

Page 25: 3. diseño de bases de datos distribuidas

Fragmentación horizontal primaria Dos opciones se presentan, determinar

si la nueva tupla se debe insertar en el fragmento PROJ2 o revisar y redefinir los fragmentos tal que:

Page 26: 3. diseño de bases de datos distribuidas

Fragmentación horizontal primaria

Page 27: 3. diseño de bases de datos distribuidas

Fragmentación horizontal primaria

Page 28: 3. diseño de bases de datos distribuidas

Fragmentación horizontal primaria

Completitud: los fragmentos son uniformes lógicamente pues satisfacen el “término”.

Mínima: Si un predicado influencia como se desempeña una fragmentación debe haber al menos una aplicación que acceda a fi y a fj de maneras diferentes. Si Pr es relevante, entonces es mínima.

Page 29: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentaciónRegla 1: Cada fragmento es accedido de diferente manera por, al menos, una aplicación.

Page 30: 3. diseño de bases de datos distribuidas

Alg

ori

tmo p

ara

con

jun

to d

e

pre

dic

ad

os

Page 31: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentación horizontal

Page 32: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentación horizontal Ejemplo: Suponga que hay solo una

aplicación que accede a PAY y los empleados son administrados desde dos sitios; uno maneja a aquellos cuyo salario es menor o igual a $30,000 y el otro a los que ganan más de $30,000

Page 33: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentación horizontal

Page 34: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentación horizontal Ejemplo: Asuma que existen dos

aplicaciones, la primera se ejecuta en tres sitios y encuentra los nombres y presupuestos de los proyectos por su locación. La segunda se ejecuta en dos sitios y administra los proyecto por su presupuesto, en un sitio los que tienen presupuesto menor o igual a $200,000, y en el otro los que son mayores.

Page 35: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentación horizontal

Page 36: 3. diseño de bases de datos distribuidas

Algoritmo para fragmentación horizontal

Page 37: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada Se define en la relación miembro de un enlace de

acuerdo a la operación selección especificada en el dueño.

Dado un enlace L donde dueño(L)=S y miembro(L)=R, los fragmentos horizontales derivados de R se definen comoRi= R |X| Si, 1 <= i <= w

donde w es el número máximo de fragmentos que serán definidos en R, y Si= Fi (S), donde Fi es la fórmula de acuerdo a como el fragmento horizontal primario de S está definido.

Page 38: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada Usando como dueño(L1) = PAY y

miembro (L1)= EMP ponemos a los ingenieros en dos grupos de acuerdo a su salario, aquellos que ganan menor o igual a $30,000 y aquellos que ganan más de $30,000.

Page 39: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada

Page 40: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivadaPara llevar a cabo este tipo de fragmentación son necesarias tres entradas: El conjunto de particiones de la relación dueño, la relación miembro, y el conjunto de predicados de semi-reunión entre el dueño y el miembro.

Page 41: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada Existe más de una posible

fragmentación horizontal derivada. La elección se basa en dos criterios: La fragmentación con mejores

características de reunión. La fragmentación que se usa en

más aplicaciones.

Page 42: 3. diseño de bases de datos distribuidas

El punto número uno permite 1) realizar las consultas en relaciones más pequeñas y 2) potencialmente realizar reuniones en paralelo.

Fragmentación horizontal derivada

• Gráfico de reunión simple.

• Gráfico de reunión particionado.

Page 43: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivadaAhora consideremos la relación ASG bajo lo siguiente:1. Existen dos aplicaciones.2. La primera aplicación encuentra los nombres de

ingenieros que trabajan en ciertos lugares. Corre en los tres sitios y accede a la información acerca de los ingenieros que trabajan en proyectos locales por sobre aquellos que trabajan en otros lugares.

3. En cada sitio administrativo donde los registros de empleados son administrados, los usuarios querrán acceder a las responsabilidades de los proyectos en que esos empleados trabajan y saber qué tanto tiempo trabajarán en esos proyectos.

Page 44: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada

Page 45: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada Con respecto a PROJ

Page 46: 3. diseño de bases de datos distribuidas

Fragmentación horizontal derivada Con respecto a EMP

Page 47: 3. diseño de bases de datos distribuidas