Вы находитесь на странице: 1из 47

Diseo de

Bases de datos
distribuidas

Introduccin
Sistemas de cmputo distribuido involucran
la toma de decisiones en:
Posicionamiento de datos y
Programas.
En DBMSs distribuidos (DDBSs) el
posicionamiento de aplicaciones implica:
1. La distribucin de los DBMSs (software).
2. La distribucin de los programas de
aplicacin.

Organizacin de sistemas
distribuidos

Diseo
Top - Down

Cuestiones sobre el diseo de


distribucin
Por

qu fragmentar?
Cmo debemos fragmentar?
Qu tanto debemos fragmentar?
Hay alguna manera de verificar si la
fragmentacin se realiz
correctamente?
Cmo debemos distribuir (en los
sitios)?
Cul informacin es la necesaria para
distribuir y fragmentar?

Justificacin de la
fragmentacin
Una relacin (tabla) no es una unidad
adecuada.
Las aplicaciones definen vistas y estn
en lugares distintos, la relacin entera:

No se replica.
Se replica parcial o total.

La descomposicin (fragmentos) permite


transacciones de ejecucin concurrente
(concurrencia intra-consulta).

Alternativas de
fragmentacin

Alternativas de
fragmentacin

Alternativas de fragmentacin

Nivel de fragmentacin
Fragmentar

todo?
Fragmentar por tupla?

Reglas para una correcta


fragmentacin
Aseguramos que la base de datos no sufra
cambios semnticos durante la fragmentacin.
1) Completitud: Si una instancia de relacin R
se descompone en fragmentos F R: {R1, R2,
, Rn} cada seccin de datos que puede
encontrarse en R tambin puede
encontrarse en una o ms R is. Propiedad
de la descomposicin sin prdida de la
normalizacin.

Reglas para una correcta


fragmentacin
2)

3)

Reconstruccin: Si la relacin R se
descompone en fragmentos F R: {R1, R2, ,
Rn} es posible definir un operador relacional
tal que
R= Ri, Ri FR
Disyuncin: Si una relacin R est
horizontalmente descompuesta en
fragmentos FR: {R1, R2, , Rn} y la seccin de
datos di est en Rj, este no se encontrar en
otro fragmento Rk (kj).

Alternativas de
distribucin

Requerimientos de
informacin
Fragmentacin (cualitativas):
Base de datos.
Aplicaciones.
Distribucin (cuantitativas):
Red de comunicacin.
Sistemas computacionales (de
computadoras).

FRAGMENTACIN

Fragmentacin horizontal
Versiones de la fragmentacin horizontal:
Primaria: Se desarrolla utilizando
predicados que son definidos en la
relacin (tabla).
Derivada: resulta de predicados que son
definidos en otras relaciones.

Informacin de la base de
datos
Dueo o fuente (L1)= PAY

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

Dueo o fuente
Miembro u
objetivo
(L1)= EMP
Miembro u
objetivo

Informacin de la aplicacin
Consiste

de los predicados de las consultas de


los usuarios.
Regla del 80/20
Necesitamos encontrar predicados simples. Dada
una relacin R (A1, A2, , An), donde A1es un
atributo definido sobre el dominio D i, un simple
predicado pj definido en R tiene la forma
pj: Ai Valor
Donde {=, <, , >, >=, <=} y Valor se escoje
del dominio de Ai.

Informacin de la aplicacin
Dado

un conjunto Pri={pi1, pi2, , pim} de


predicados simples para la relacin R i, el
conjunto de predicados trminos
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.

Informacin de la aplicacin
Posibles

predicados simples de la
relacin PAY.

Informacin de la aplicacin
Trminos

simples.

basados en los predicados

Informacin de la aplicacin
En trminos de informacin cuantitativa
acerca de las aplicaciones de los usuarios,
necesitamos dos conjuntos de datos:
1) Selectividad detrminos: nmero de tuplas
de la relacin que sern accesadas por la
consulta especificada de acuerdo a un
trmino dado. sel(mi), 0.25(m2).
2) Frecuencia de acceso: Frecuencia con que
las aplicaciones de usuarios acceden a los
datos. acc(qi).

Fragmentacin horizontal
primaria
Est definida por una operacin
SELECCIN en la relacin dueo de un
esquema de base de datos.
Dada una relacin R, sus fragmentos
horizontales estn dados por
Ri= Fi (R), 1<= i <= w
donde Fi es la frmula de seleccin para
obtener el fragmento Ri. Fi en forma de
conjuncin se convierte en un trmino.

Fragmentacin horizontal
primaria
Ejemplo.

Queremos descomponer la
relacin PROJ y determinamos como
fragmentos:

Fragmentacin 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:

Fragmentacin horizontal
primaria

Fragmentacin horizontal
primaria

Fragmentacin horizontal
primaria
Completitud: los fragmentos son uniformes
lgicamente pues satisfacen el trmino.
Mnima: Si un predicado influencia como se
desempea una fragmentacin debe haber al
menos una aplicacin que acceda a fi y a fj de
maneras diferentes. Si Pr es relevante,
entonces es mnima.

Algoritmo para fragmentacin


Regla 1: Cada fragmento es accedido de
diferente manera por, al menos, una
aplicacin.

Algoritmo para conjunto de predicados

Algoritmo para fragmentacin


horizontal

Algoritmo para fragmentacin


horizontal
Ejemplo:

Suponga que hay solo una


aplicacin 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 ms de $30,000

Algoritmo para fragmentacin


horizontal

Algoritmo para fragmentacin


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
locacin. 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.

Algoritmo para fragmentacin


horizontal

Algoritmo para fragmentacin


horizontal

Fragmentacin horizontal
derivada
Se define en la relacin miembro de un enlace de
acuerdo a la operacin seleccin especificada en
el dueo.
Dado un enlace L donde dueo(L)=S y
miembro(L)=R, los fragmentos horizontales
derivados de R se definen como
Ri= R |X| Si, 1 <= i <= w
donde w es el nmero mximo de fragmentos que
sern definidos en R, y Si= Fi (S), donde Fi es la
frmula de acuerdo a como el fragmento horizontal
primario de S est definido.

Fragmentacin horizontal
derivada Usando como dueo(L )

= 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 ms de $30,000.
1

Fragmentacin horizontal
derivada

Fragmentacin horizontal
derivada
Para llevar a cabo este tipo de fragmentacin son
necesarias tres entradas: El conjunto de particiones
de la relacin dueo, la relacin miembro, y el
conjunto de predicados de semi-reunin entre el
dueo y el miembro.

Fragmentacin horizontal
Existe ms de una posible
derivada fragmentacin horizontal derivada.
La eleccin se basa en dos criterios:
La fragmentacin con mejores
caractersticas de reunin.
La fragmentacin que se usa en
ms aplicaciones.

Fragmentacin horizontal
derivada
El punto nmero uno permite 1) realizar
las consultas en relaciones ms pequeas
y 2) potencialmente realizar reuniones en
paralelo.
Grfico de
reunin
simple.
Grfico de
reunin
particionado.

Fragmentacin horizontal
derivada
Ahora consideremos la relacin ASG bajo lo siguiente:
1.
Existen dos aplicaciones.
2.
La primera aplicacin encuentra los nombres de
ingenieros que trabajan en ciertos lugares. Corre en
los tres sitios y accede a la informacin 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 querrn
acceder a las responsabilidades de los proyectos en
que esos empleados trabajan y saber qu tanto
tiempo trabajarn en esos proyectos.

Fragmentacin horizontal
derivada

Fragmentacin horizontal
derivada
Con

respecto a PROJ

Fragmentacin horizontal
derivada
Con

respecto a EMP

Вам также может понравиться