procesador en alto nivel cosultas - cinvestavvjsosa/clases/tsbd/bdd_consultas.pdf · optimización...
Post on 30-Jan-2021
2 Views
Preview:
TRANSCRIPT
-
PROCESAMIE
TO DE
PROCESAMIE
TO DE
PROCESAMIE
TO DE
PROCESAMIE
TO DE
3
Dr. V
íctor J. S
osa S
osa
CO
SULTAS
CO
SULTAS
CO
SULTAS
CO
SULTAS
Consulta d
e usuario
en alto
nivel
Procesa
mien
to de C
onsultas
4
Dr. V
íctor J. S
osa S
osa
Procesa
dor
de co
nsultas
Comandos d
e manipulació
n de
dato
s en bajo
nivel
-
Componentes d
el Procesa
mien
to de C
onsultas
�Lenguaje d
e consultas u
tilizado.
SQL “in
tergalactic d
ataspeak
”.
�Meto
dología d
e ejecució
n de co
nsultas.
Los p
asos n
ecesarios p
ara ejecutar u
na co
nsulta d
e alto nivel
5
Dr. V
íctor J. S
osa S
osa
Los p
asos n
ecesarios p
ara ejecutar u
na co
nsulta d
e alto nivel
(declarativ
a)
�Optim
ización de co
nsultas.
¿Cómo determ
inam
os la “m
ejor” estrateg
ia de ejecu
ción?
Componentes d
el Procesa
mien
to de C
onsultas
�Lenguaje d
e consultas u
tilizado.
SQL “In
tergalactic D
ataspeak
”.
�Meto
dología d
e ejecució
n de co
nsultas.
Los p
asos n
ecesarios p
ara ejecutar u
na co
nsulta d
e alto
6
Dr. V
íctor J. S
osa S
osa
Los p
asos n
ecesarios p
ara ejecutar u
na co
nsulta d
e alto
nivel (d
eclarativa).
�Optim
ización de co
nsultas.
¿Cómo determ
inar el “m
ejor” p
lan de ejecu
ción?
-
Altern
ativas de S
elección
SELECT
ENAME
FROM
E, G
WHERE
E.ENO = G
.ENO
A
D
DUR > 37
7
Dr. V
íctor J. S
osa S
osa
Estrateg
ia 1
ΠENAME (σ
DUR>37
∧ E.ENO=G.ENO(E ×
G))
ΠENAME ( E
ENO(σ
DUR>37 (G
)))
Estrateg
ia 2
La estrateg
ia 2 red
uce el p
roducto
cartesiano, asi q
ue es “m
ejor”
Sitio
1
G1 = σ
ENO
≤“E
3” (G
)
¿Cuál es el P
roblem
a?
Sitio
5
Sitio
2
G2 = σ
ENO
≤“E
3” (G
)
Sitio
3
E1 = σ
ENO
≤“E
3” (E
)
Sitio
4
E2 = σ
ENO
≤“E
3” (E
)
Sitio
5
Resu
ltado
Estrateg
ia 1
8
Dr. V
íctor J. S
osa S
osa
Resu
ltado = E1 ’ ∪
E2 ’
G1 ’ =
σDUR>37 (G
1 )
Sitio
1
G2 ’ =
σDUR>37 (G
2 )
Sitio
2G
2 ’G
1 ’
Sitio
5
E1 ’ =
E1 E
NOG
1 ’
Sitio
3
E2 ’ =
E2 E
NOG
2 ’
Sitio
4
-
¿Cuál es el P
roblem
a?
Sitio
1
G1 = σ
ENO
≤“E
3” (G
)
Sitio
2
G2 = σ
ENO
≤“E
3” (G
)
Sitio
3
E1 = σ
ENO
≤“E
3” (E
)
Sitio
4
E2 = σ
ENO
≤“E
3” (E
)
Sitio
5
Resu
ltado
Estrateg
ia 2
9
Dr. V
íctor J. S
osa S
osa
Resu
ltado = (E
1∪
E2 ) E
NO σ
DUR>37 (G
1∪
G2 )
Sitio
1Sitio
2Sitio
3Sitio
4
G1
E1
E2
G2
Sitio
5
�Suponer lo
siguien
te:
tamaño(E) =
400, tam
año (G
) = 1000
costo
de acceso
a tuplas =
1 unidad; co
sto de trasferir u
na tu
pla =
10 unidades
�Estrateg
ia 1.
1. P
roducir G
’: 20*costo
de acceso
a tupla
20
2. T
ransferir G
’ a los lu
gares d
e E: 20*costo
de tran
sferir tupla
200
3. P
roducir E
’: (20*20)*costo
de acceso
a tupla
800
Altern
ativas de C
osto
10
Dr. V
íctor J. S
osa S
osa
3. P
roducir E
’: (20*20)*costo
de acceso
a tupla
800
4. T
ransferir E
’ a los lu
gares resu
ltantes: 2
0*costo
de trasferir tu
pla
200
Costo
Total
1,220
�Estrateg
ia 2.
1. T
ransferir E
al lugar 5
: 400*costo
de tran
sferir tupla
4,000
2. T
ransferir E
al lugar 5
: 1,000*costo
de tran
sferir tupla
10,000
3. P
roducir G
’: 1,000*costo
de acceso
a tupla
1,000
4. R
eunión de E
y G’: 2
0*1,000*costo
de acceso
a tupla
20,000
Costo
Total
35,000
-
Objetiv
o de la
Optim
izació
n de C
onsultas
Minim
izar una fu
nció
n de co
sto
costo
de I/O
+ co
sto de C
PU + co
sto de co
municació
n
Esto
podría ten
er diferen
tes peso
s en diferen
tes ambien
tes distrib
uidos.
�Redes d
e área amplia.
�Los co
stos d
e comunicació
n dominarán
.
11
Dr. V
íctor J. S
osa S
osa
�Los co
stos d
e comunicació
n dominarán
.•
Bajo
ancho de b
anda.
•Baja v
elocid
ad.
•Alta so
brecarg
a de p
rotocolo.
�Muchos alg
oritm
os ig
noran
el resto de co
mponentes d
e costo
s.
�Redes d
e área local.
�Costo
s de co
municació
n no dominantes.
�La fu
nció
n de co
sto to
tal debe ser co
nsid
erada.
Tam
bién
se puede m
axim
izar el desem
peño (th
roughput).
Complejid
ad de la
s Opera
ciones R
elacio
nales
�Suponem
os:
�Relacio
nes d
e cardinalid
cad n.
�Búsqueda secu
encial.
Opera
ción
Complejid
ad
Selecció
n
12
Dr. V
íctor J. S
osa S
osa
O(n
2)
Selecció
n
Proyecció
n(Sin elim
inar d
uplicad
os)
O(n)
Proyecció
n
(Con elim
inació
n de d
uplicad
os)
Agrupam
iento
O(nlogn)
Reunión
Sem
i-reunión
Divisió
n
Operad
ores d
e conjuntos
O(nlogn)
Producto
cartesiano
-
Elem
entos para Optim
izació
n de C
onsultas
(Tipos de O
ptim
izadores)
�Búsqueda ex
haustiv
a.
�Optim
o.
�Basad
o en
costo
.
�Complejid
ad co
mbinato
ria en el n
úmero
de relacio
nes.
Heurística.
13
Dr. V
íctor J. S
osa S
osa
�Heurística.
�No optim
o.
�Reag
rupar su
bexpresio
nes co
munes.
�Desarro
llar prim
ero seleccio
nes y
proyeccio
nes.
�Reem
plazar u
na reu
nión por u
na serie d
e semireu
niones.
�Reordenar o
peracio
nes p
ara reducir el tam
año de las
relaciones in
termedias.
�Optim
izar operacio
nes in
dividuales.
Elem
entos para Optim
izació
n de C
onsultas
(Granularid
ad de la
Optim
izació
n)
�Una co
nsulta a la v
ez.
�No puede u
sar resultad
os in
termedios co
munes.
�Múltip
les consultas a la v
ez.
14
Dr. V
íctor J. S
osa S
osa
�Múltip
les consultas a la v
ez.
�Eficien
te si hay m
uchas co
nsultas sim
ilares.
�El esp
acio de d
ecisión es m
ucho m
ayor.
-
Elem
entos para Optim
izació
n de C
onsultas
(Tiem
po de O
ptim
izació
n)
�Estático
.
�Compilació
n =
optim
izar antes d
e la ejecució
n.
�Difícil d
e estimar el tam
año de lo
s resultad
os in
termedios (p
rovoca
una p
ropagació
n de erro
r).
�El co
sto puede am
ortizarse en
tre muchas ejecu
ciones.
�Sistem
a R*.
�Dinám
ico.
15
Dr. V
íctor J. S
osa S
osa
�Dinám
ico.
�Optim
ización en
tiempo de ejecu
ción.
�Inform
ación ex
acta en lo
s tamaños d
e relaciones in
termedias.
�Se tien
e que reo
ptim
izar para ejecu
ciones m
últip
les.
�Ingres d
istribuido.
�Híbrid
o.
�Compilació
n usan
do un alg
oritm
o estático
.
�Si el erro
r en el tam
año estim
ado es m
ayor q
ue u
n umbral,
reoptim
izar al tiempo de ejecu
ción.
�Merm
aid.
Elem
entos para Optim
izació
n de C
onsultas
(Esta
dística
s)
�Relació
n.
�Card
inalid
ad.
�Tam
año de u
na tu
pla.
�Fracció
n de tu
plas p
articipando en
un reu
nión co
n otra rela-
ción.
16
Dr. V
íctor J. S
osa S
osa
ción.
�Atrib
uto.
�Card
inalid
ad del d
ominio.
�Número
actual d
e valo
res distin
tos.
�Suposicio
nes co
munes.
�Independencia en
tre diferen
tes valo
res de atrib
utos.
�Distrib
ució
n unifo
rme d
e valo
res de atrib
utos en
su dominio.
-
Elem
entos para Optim
izació
n de C
onsultas
(Decisió
n de S
itios)
�Centralizad
o.
�Un so
lo sitio
determ
ina la “m
ejor” estrateg
ia.
�Im
plem
entació
n sim
ple.
�Necesita co
nocer to
da la b
ase de d
atos d
istribuida.
17
Dr. V
íctor J. S
osa S
osa
�Distrib
uido.
�Cooperació
n en
tre sitios p
ara determ
inar la estrateg
ia global.
�Necesita só
lo in
form
ación lo
cal.
�Costo
de co
operació
n.
�Híbrid
o.
�Un sitio
determ
ina la estrateg
ia global.
�Cada sitio
optim
iza las subconsultas lo
cales.
Elem
entos para Optim
izació
n de C
onsultas
(Topología de R
ed)
�Red de área am
plia (W
AN) p
unto a p
unto.
�Características.
•Bajo
ancho de b
anda.
•Baja v
elocid
ad.
•Sobrecarg
a de p
rotocolo.
18
Dr. V
íctor J. S
osa S
osa
�El co
sto de co
municació
n es d
eterminante; se ig
noran
los o
tros
factores d
e costo
�Estrateg
ia global p
ara minim
izar el costo
de co
municació
n.
�Estrateg
ia local aco
rde a la o
ptim
ización de co
nsulta cen
tralizada.
�Red de área lo
cal (LAN).
�El co
sto de co
municació
n no es relev
ante.
�El co
sto de I/O
debe ser co
nsid
erado.
�La d
ifusió
n puede ser ex
plotad
a para las reu
niones.
�Existen
algoritm
os esp
eciales para red
es de tip
o estrella.
-
Meto
dología para Proc. d
e Consultas D
istribuidas
Consultas b
asadas en
cálculo
sobre relacio
nes d
istribuidas
Desco
mposició
n
de C
onsulta
Localiza
ción
de D
atos
Consultas b
asadas en
algebra
sobre relacio
nes d
istribuidas
ESQUEMA
GLOBAL
ESQUEMA DE
FRAGME
TOS
CONTROL
DE
SITIO
S
19
Dr. V
íctor J. S
osa S
osa
de D
atos
Optim
izació
n
Global
Optim
izació
n
Local
Consulta en
fragmentos
Consulta o
ptim
izada en
fragmentos co
n
operacio
nes d
e comunicació
n
Consulta lo
cal optim
izada
FRAGME
TOS
ESTADISTICAS SOBRE
FRAGME
TOS
ESQUEMAS
LOCALES
SITIO
S
A NIV
EL
LOCAL
Paso 1. D
escomposició
n de C
onsulta
Entrad
a: Consulta b
asada en
cálculo so
bre las relacio
nes g
lobales.
�Norm
alización.
�Manipular cu
antificad
ores y
cualificació
n de la co
nsulta.
�Análisis.
�Detectar y
rechazar co
nsultas “in
correctas”.
20
Dr. V
íctor J. S
osa S
osa
�Detectar y
rechazar co
nsultas “in
correctas”.
�Posib
le para só
lo un su
bconjunto del cálcu
lo relacio
nal.
�Sim
plificació
n.
�Elim
inar p
redicad
os red
undantes.
�Restru
cturació
n.
�Tran
sform
ar de co
nsulta b
asada en
cálculo a co
nsulta en
álgebra.
�Más d
e una trad
ucció
n es p
osib
le.
�Usa reg
las de tran
sform
ación.
-
orm
aliza
ción de P
redica
dos de S
elección
�Análisis léx
ico y sin
táctico.
�Verificació
n de v
alidació
n.
�Verificació
n de atrib
utos y
relaciones.
�Poner d
entro
de la fo
rma n
orm
al.
21
Dr. V
íctor J. S
osa S
osa
�Poner d
entro
de la fo
rma n
orm
al.
�Form
a norm
al conjuntiv
a.
(p11 ∨
p12 ∨
... ∨ p
1n ) ∧
... ∧ (p
m1 ∨
pm2 ∨
...∨ p
mn )
�Form
a norm
al disju
ntiv
a.
(p11 ∧
p12 ∧
... ∧ p
1n ) ∨
... ∨ (p
m1 ∧
pm2 ∧
... ∧ p
mn )
Análisis d
e Consultas
�Rech
azar las consultas in
correctas.
�Tipos d
e dato
incorrecto
s.�
Si cu
alquiera d
e sus atrib
utos o
nombres d
e relaciones n
o están
defin
idos en
el esquem
a global.
�Si las o
peracio
nes se ap
lican a atrib
utos d
e tipos in
correcto
s.
�Sem
ánticam
ente in
correcto
.
22
Dr. V
íctor J. S
osa S
osa
Sem
ánticam
ente in
correcto
.�
Componentes q
ue n
o co
ntrib
uyen de n
inguna m
anera a la
generació
n del resu
ltado.
�Solam
ente u
n su
bconjunto de las co
nsultas en
cálculo relacio
nal se
pueden probar en
cuanto a co
rrectez.
�Aquéllas q
ue n
o co
ntien
en disju
ncio
nes y
negacio
nes.
�Los erro
res se pueden detectar co
n lo
s siguien
tes mecan
ismos:
•Grafo
de co
nexión (g
rafo de co
nsulta).
•Grafo
de reu
nión (tip
o esp
ecial de g
rafo de co
nexión).
-
Análisis d
e Consultas -
Ejem
plo
SELECT E
NAME, R
ESP
FROM E
, G, J
WHERE E
.ENO = G.ENO
A
D G
.JNO = J.JN
O
A
D
JNAME = “C
AD/CAM”
A
D D
UR
≥ 36
A
D
TITLE = “P
rogram
mer”
23
Dr. V
íctor J. S
osa S
osa
A
D
TITLE = “P
rogram
mer”
G
JE
RESULTADO
RESP
DUR
≥3
6
JNAME=“C
AD/CAM”
ENAME
E.ENO=G.ENO
TITLE=
“Program
mer”
G.JN
O=J.JN
OG
JE
E.ENO=G.ENO
G.JN
O=J.JN
O
Grafo de C
onsulta
Grafo de R
eunión
Análisis d
e Consultas -
Ejem
plo
Si el g
ráfo de la co
nsulta n
o está en
lazado, la co
nsulta
está equivocad
a.
SELECT E
NAME, R
ESP
FROM E
, G, J
WHERE E
.ENO = G.ENO
A
D
JNAME = “C
AD/CAM”
A
D D
UR
≥ 36
24
Dr. V
íctor J. S
osa S
osa
A
D D
UR
≥ 36
A
D
TITLE = “P
rogram
mer”
G
JE
RESULTADO
RESP
DUR
≥3
6
JNAME=“C
AD/CAM”
ENAME
E.ENO=G.ENO
TITLE=“Program
mer”
-
�¿Por q
ué sim
plificar?
�Recu
érdese el ejem
plo.
�¿C
ómo? U
sar las reglas d
e transfo
rmació
n.
�Elim
inació
n de red
undancias m
edian
te las reglas d
e
idem
poten
cia:
Simplifica
ción de C
onsultas
25
Dr. V
íctor J. S
osa S
osa
idem
poten
cia:
p1 ∧
¬(p
1 ) ⇔fa
lse
p1 ∧
(p1
∨ p
2 ) ⇔ p
1
p1 ∨
false
⇔p1
�Aplicació
n de tran
sitividad.
�Uso de reg
las de in
tegrid
ad.
. . .
Simplifica
ción de C
onsultas-Ejem
plo
SELECT
TITLE
FROM
E
WHERE
E.ENAME = “J. D
oe”
OR
(
OT (E
.TITLE = “P
rogram
mer”)
A
D
(E.TITLE = “P
rogram
mer”
OR
E.TITLE = “E
lect. Eng.”)
26
Dr. V
íctor J. S
osa S
osa
OR
E.TITLE = “E
lect. Eng.”)
A
D
OT (E
.TITLE = “E
lect. Eng.”))
SELECT
TITLE
FROM
E
WHERE
E.ENAME = “J. D
oe”
-
Restru
cturació
n
ΠENAME
σDUR=12 OR DUR=24
σJN
AME=“C
AD/CAM”
Proyecció
n
Selecció
n
�Convertir d
e cálculo relacio
nal a
algebra relacio
nal.
�Hacer u
so de árb
oles d
e consulta.
�Ejem
plo.
Encontrar lo
s nombres d
e emplead
os
diferen
tes a J. Doe q
ue trab
ajaron en
27
Dr. V
íctor J. S
osa S
osa
SELECT E
NAME
FROM E
, G, J
WHERE E
.ENO = G.ENO
A
D G
.JNO = J.JN
O
A
D E
NAME ≠
“J.Doe”
A
D JN
AME = “C
AD/CAM”
A
D (D
UR = 12 OR DUR = 24)
σENAME
≠“J. D
OE”
JNO
ENO
JG
E
Reunión
diferen
tes a J. Doe q
ue trab
ajaron en
el proyecto
CAD/CAM de 1
a 2 añ
os.
�Conmutativ
idad de o
peracio
nes b
inarias.
�R
× S ⇔
S×
R�
RS
⇔S
R
�R
∪S
⇔S
∪R
�Asociativ
idad de o
peracio
nes b
inarias.
Restru
cturació
n -Reglas de T
ransfo
rmació
n
28
Dr. V
íctor J. S
osa S
osa
�Asociativ
idad de o
peracio
nes b
inarias.
�(R
×S) ×
T⇔
R×(S
×T)
�(R
S)
T⇔
R
(S
T)
�Idem
poten
cia en operacio
nes u
narias
�Π
A’ (Π
A’ (R
)) ⇔
ΠA’ (R
)
�σ
p1(A
1) (σ
p2(A
2) (R
)) = σ
p1(A
1) ∧
p2(A
2) (R
)
donde R
[A] y
A’⊆
A, A
’’⊆A y A’⊆
A’’.
�Conmutar selecció
n co
n proyecció
n.
-
�Conmutar selecció
n co
n operacio
nes b
inarias.
�σ
p(A
i) (R×
S) ⇔
(σp(A
i) (R))
×S
�σ
p(A
i) (R
(Aj,B
k)) S) ⇔
(σp(A
i) (R))
(Aj,B
k)) S
�σ
p(A
i) (R∪
T) ⇔
σp(A
i) (R) ∪
σ(A
i) (T)
donde A
perten
ece a Ry T
.
Restru
cturació
n -Reglas de T
ransfo
rmació
n
29
Dr. V
íctor J. S
osa S
osa
donde A
i perten
ece a Ry T
.
�Conmutar p
royecció
n co
n operacio
nes b
inarias.
�Π
C (R×
S)
⇔Π
A’ (R
) ×Π
B’ (S
)
�Π
C (R(A
j,Bk) S
) ⇔ Π
A’ (R
) (Aj,B
k) ΠB’ (S
)
�Π
C (R∪
S)
⇔ Π
C (R)
∪Π
C (S)
donde R
[A] y
S[B]; C
= A’ ∪
B’ d
onde A
’⊆A, B
’⊆B.
Restru
cturació
n -Ejem
plo
ΠENAME
σDUR=12 OR DUR=24
σJN
AME=“C
AD/CAM”
Proyecció
n
Selecció
n
Reto
mando el ejem
plo prev
io:
Encontrar lo
s nombres d
e
emplead
os d
iferentes a J. D
oe
que trab
ajaron en
el proyecto
CAD/CAM de 1
a 2 añ
os.
30
Dr. V
íctor J. S
osa S
osa
SELECT E
NAME
FROM E
, G, J
WHERE E
.ENO = G.ENO
A
D G
.JNO = J.JN
O
A
D E
NAME ≠
“J.Doe”
A
D JN
AME = “C
AD/CAM”
A
D (D
UR = 12 OR DUR = 24)
σENAME
≠“J. D
OE”
JNO
ENO
JG
E
Reunión
CAD/CAM de 1
a 2 añ
os.
-
Equivalen
cia de C
onsultas
σJN
AME = “C
AD/CAM” ∧
(DUR = 12 OR DUR = 24) ∧
ENAME ≠“J.D
OE”
ΠENAME
31
Dr. V
íctor J. S
osa S
osa
JNO ∧
ENO
GJ
E
X
Restru
cturació
n
ΠENAME
JNO
ΠJN
O, E
NAME
32
Dr. V
íctor J. S
osa S
osa
EJ
G
ENO
ΠJN
OΠ
JNO, E
NO
ΠENO, E
NAME
σENAME ≠“J.D
OE”
σJN
AME = “C
AD/CAM”
σDUR = 12 OR DUR = 24
-
Paso 2 -Localiza
ción de D
atos
Entrad
a: Consulta en
álgebra so
bre relacio
nes d
istribuidas.
�Determ
inar cu
áles fragmentos están
involucrad
os.
�Localizació
n de p
rogram
as.
33
Dr. V
íctor J. S
osa S
osa
�Localizació
n de p
rogram
as.
�Sustitu
ir para cad
a consulta g
lobal su
program
a de
localizació
n.
�Optim
izar la expresió
n resu
ltante.
Localiza
ción -Ejem
plo
ΠENAME
σDUR=12 OR DUR=24
σJN
AME=“C
AD/CAM”
σ
Suponer:
�E está frag
mentad
o en
E1 , E
2y
E3como sig
ue:
�E1 = σ
ENO ≤
“E3” (E
)
�E2 = σ
”E3” <
ΕΝ
Ο ≤
“E6” (E
)
�E3 = σ
ENO ≥
“E6”
34
Dr. V
íctor J. S
osa S
osa
JNO
E1
G2
σENAME ≠
“J. DOE”
ENO
∪E2
E3
∪
G1
J
�E3 = σ
ENO ≥
“E6”
�G está frag
mentad
o en
G1y G
2
como sig
ue:
�G
1 = σ
ENO ≤
“E3” (G
)
�G
2 = σ
ΕΝ
Ο>“E
3” (G
)
�Reem
place E
por (E
1∪
E2
∪E3 ) y
G por (G
1∪
G2 ) en
cualq
uier co
nsulta.
-
Proporcio
nando Paralelism
o
∪
35
Dr. V
íctor J. S
osa S
osa
∪
E1
G1
E1
G2
E2
G1
E2
G2
E3
G1
E3
G2
ENO
ENO
ENO
ENO
ENO
ENO
Elim
inando Trabajo Innecesa
rio
∪
36
Dr. V
íctor J. S
osa S
osa
∪
E1
G1
E2
G2
E3
G2
ENO
ENO
ENO
-
�Reducció
n co
n selecció
n.
�Relació
n R
y F
R = {R1 , R
2 , ..., Rw } donde R
j = σ
pj (R
)
σpi (R
j ) = φ
si ∀xen R: ¬
(pi (x) ∧
pj (x))
�Ejem
plo:
Reducció
n por F
H
SELECT *
FROM E
37
Dr. V
íctor J. S
osa S
osa
FROM E
WHERE E
NO = “E
5”
σENO=“E
5”
E1
σENO=“E
5”
∪E2
E3
E2
�Reducció
n co
n reu
nión.
�Es p
osib
le si la fragmentació
n se h
ace sobre u
n atrib
uto que
particip
a en la reu
nión.
�Una reu
nión distrib
uida so
bre u
na u
nión:
Reducció
n por F
HP
38
Dr. V
íctor J. S
osa S
osa
�Una reu
nión distrib
uida so
bre u
na u
nión:
(R1 ∪
R2 ) R
3 ⇔
(R1
R3 )
∪ (R
2
R3 )
�Dado
Ri =
σpi (R
) y R
j = σ
pj (R
)
Ri
Rj =
φ si ∀
xen R
i , ∀yen R
j : ¬(p
i (x) ∧
pj (y))
-
Reducció
n por F
HP
�Ejem
plo de red
ucció
n co
n reu
nión.
�Suponer q
ue E
está fragmentad
a como an
tes y
G1= σ
ENO ≤
“E3”(G
)
G2= σ
ENO > “E
3”(G
)
�Consid
erar la consulta
SELECT
*
FROM
E, G
39
Dr. V
íctor J. S
osa S
osa
FROM
E, G
WHERE
E.ENO = G.ENO
ENO
E1
E3
∪
G1
G2
∪
E2
Reducció
n por F
HP
�Ejem
plo de red
ucció
n co
n reu
nión.
�Distrib
uir la reu
nión so
bre las u
niones.
�Aplicar la reg
la de red
ucció
n.
∪
40
Dr. V
íctor J. S
osa S
osa
∪
E2
G2
ENO
E3
G2
ENO
E1
G1
ENO
-
Reducció
n por F
V
�Encuentra relacio
nes in
termedias in
servibles (v
acias).
Sea la relació
n R
defin
ida so
bre lo
s atributos A
= {A1 , A
2 ,
..., An } frag
mentad
a verticalm
ente en
Ri =
ΠA’ (R
) donde
A’
⊆A, en
tonces:
41
Dr. V
íctor J. S
osa S
osa
A’
⊆A, en
tonces:
ΠD,K (R
i ) es inserv
ible si el co
njunto de la p
royecció
n de
los atrib
utos D
no está en
A’.
Reducció
n por F
V
�Relacio
nes in
termedias in
servibles (v
acias).
Ejem
plo : E
1= Π
ENO, E
NAME (E
); E2= Π
ENO, T
ITLE (E
)
SELECT
ENAME
FROM
E
42
Dr. V
íctor J. S
osa S
osa
FROM
E
ΠENAME
E1
E2
E1
ΠENAME
ENO
-
Reducció
n por F
HD
�Reglas:
�Distru
buye las reu
niones so
bre las u
niones.
�Aplica la red
ucció
n de la reu
nión para la frag
mentació
n
horizo
ntal.
�Ejem
plo:
�G
1 : G E
NOE1
43
Dr. V
íctor J. S
osa S
osa
�G
1 : G E
NOE1
�G
2 : G E
NOE2
�E1 : σ
TITLE = “P
rogram
mer”
(E)
�E2 : σ
TITLE = “P
rogram
mer”
(E)
SELECT
*
FROM
E, G
WHERE
G.ENO = E.ENO
A
D
E.TITLE = “M
ech. E
ng.”
Reducció
n para una FHD
Consulta g
enérica
∪ ∪
σTITLE=“M
ech. E
ng.”
G
ENO
44
Dr. V
íctor J. S
osa S
osa
Prim
eras selecciones
∪
E1
E2
G1
G2
∪
E2
G1
G2
σTITLE=“M
ech. E
ng.”
ENO
-
Reuniones so
bre u
niones
G2
G1
E2
∪
ENO
ENO
σTITLE=“M
ech. E
ng.”
Reducció
n para una FHD
45
Dr. V
íctor J. S
osa S
osa
(Sub-árb
ol izq
uierd
o)
G2
E2
G1
E2
Elim
inació
n de las relacio
nes in
termedias v
acías.
G2
E2
ENO
σTITLE=“M
ech. E
ng.”
Reducció
n para FM
Combina las reg
las especificad
as:
�Elim
inar las relacio
nes v
acías generad
as por seleccio
nes
contrad
ictorias en
fragmentos h
orizo
ntales.
Elim
inar las relacio
nes in
necesarias g
enerad
as por
46
Dr. V
íctor J. S
osa S
osa
�Elim
inar las relacio
nes in
necesarias g
enerad
as por
proyeccio
nes en
fragmentos v
erticales.
�Distrib
uir reu
niones so
bre u
niones p
ara aislar y elim
inar
reuniones in
necesarias.
-
Reducció
n por F
M
Ejem
plo:
�Consid
érese la siguien
te
fragmentació
n m
ixta:
�E1 =
σENO ≤
“E4” (Π
ΕΝ
Ο,Ε
ΝΑ
ΜΕ (Ε
))
ΠENAME
σENO=“E
5”
ΠENAME
47
Dr. V
íctor J. S
osa S
osa
�E1 =
σENO ≤
“E4” (Π
ΕΝ
Ο,Ε
ΝΑ
ΜΕ (Ε
))�E2 =
σENO >
“E4” (Π
ΕΝ
Ο,Ε
ΝΑ
ΜΕ (Ε
))�E3 =
ΠENO, T
ITLE (Ε
)
�Consid
érese la siguien
te consulta:
SELECT E
NAME
FROM E
WHERE E
NO = “E
5”
E1
σENO=“E
5”
∪
E2
E3
E2
ENO
Paso 3 -Optim
izació
n de C
onsulta Global
Entrad
a: Consulta frag
mentad
a.
Encontrar la m
ejor (n
o necesariam
ente la ó
ptim
a) estrategia
global.
�Minim
izar el costo
de u
na fu
nció
n.
�Procesam
iento de reu
nión distrib
uída.
�“Frondoso”vs. árb
oles lin
eales.
48
Dr. V
íctor J. S
osa S
osa
�“Frondoso”vs. árb
oles lin
eales.
�¿C
uál relació
n en
viar a d
ónde?
�Envío co
mpleto
vs. en
vío por d
emanda.
�Decid
ir sobre el u
so de sem
ireuniones.
�Las sem
ireuniones ah
orran
en co
municació
n a co
sta de
más p
rocesam
iento lo
cal.
�Méto
dos d
e reunión.
�Ciclo
s anidados v
s. reuniones o
rdenadas (m
erge jo
in o
hash
join).
-
Optim
izació
n Basada en
Costo
�Espacio
de so
lució
n.
�El co
njunto de ex
presio
nes d
e álgebra eq
uivalen
tes
(árboles d
e consulta).
�Funcio
nes d
e costo
(en térm
inos d
e tiempo).
�Costo
I/O + co
sto CPU + co
sto de co
municació
n.
�Estas p
ueden ten
er diferen
tes peso
s en diferen
tes
49
Dr. V
íctor J. S
osa S
osa
entornos d
istribuidos (L
AN vs. W
AN).
�Pueden tam
bién
maxim
izar el rendim
iento.
�Algoritm
o de b
úsqueda.
�¿C
ómo podem
os m
overn
os d
entro
del esp
acio de
solució
n?
�Búsquedas ex
haustiv
as y alg
oritm
os h
eurístico
s
(mejo
ramien
to iterativ
o, tem
plad
o sim
ulad
o,
algoritm
os g
enético
s, etc.).
Funcio
nes d
e Costo
�Tiem
po to
tal (o co
sto to
tal).
�Reducir cad
a costo
(en térm
inos d
e tiempo) p
or
componente.
�Hacer el co
sto del co
mponente tan
pequeño co
mo sea
posib
le.
50
Dr. V
íctor J. S
osa S
osa
posib
le.
�Optim
izar la utilizació
n de lo
s recurso
s.
�Increm
enta el th
roughput d
el sistema.
�Tiem
po de resp
uesta.
�Hacer tan
tas cosas co
mo sea p
osib
le en paralelo
.
�Pudiera in
crementar el tiem
po to
tal debido al
increm
ento de activ
idad to
tal.
-
Costo
Total
Sumato
ria de to
dos lo
s factores d
e costo
:
Costo
total =
costo
de C
PU + co
sto I/O
+ co
sto de co
municació
n
donde
51
Dr. V
íctor J. S
osa S
osa
Costo
de C
PU
= co
sto por u
nidad de in
strucció
n * No. d
e instru
cciones
Costo
de I/O
= co
sto por u
nidad de I/O
a disco
* No. d
e I/Os a d
isco
Costo
de co
municació
n
= in
icio de m
ensaje +
transm
isión
Costo
Total de lo
s Facto
res
�Redes d
e cobertu
ra amplia.
�Inicio
de m
ensaje y
costo
de tran
smisió
n alto
s.
�El co
sto de p
rocesam
iento lo
cal es bajo
(main
frames
rápidas o
minico
mputad
oras).
52
Dr. V
íctor J. S
osa S
osa
rápidas o
minico
mputad
oras).
�Relació
n de co
stos d
e comunicació
n a I/O
= 20:1.
�Redes d
e área local.
�Los co
stos d
e procesam
iento lo
cal y co
municació
n
son sim
ilares.
�Relació
n de co
stos d
e comunicació
n a I/O
= 1:1.6.
-
Tiem
po de R
espuesta
Tiem
po en
tre el inicio
y la term
inació
n de u
na co
nsulta.
Tiem
po de resp
uesta
= tiem
po de C
PU + tiem
po I/O
+ tiem
po de co
municació
n
Tiem
po de C
PU
= unidad de tiem
po por in
strucció
n * No. d
e instru
cciones
53
Dr. V
íctor J. S
osa S
osa
= unidad de tiem
po por in
strucció
n * No. d
e instru
cciones
secuenciales
Tiem
po de I/O
= unidad de tiem
po I/O
* No. de I/O
s secuenciales
Tiem
po de co
municació
n
= unidad de tiem
po del m
ensaje d
e inicio
* No. de
mensajes secu
enciales +
tiempo de u
nidad de
transm
isión * No. d
e bytes secu
enciales
Ejem
plo de F
uncio
nes d
e Costo
Suponem
os q
ue só
lo se co
nsid
era el costo
de co
municació
n.
Tiem
po to
tal = 2 * tiem
po de in
icialización de m
ensaje +
Sitio
1
Sitio
2
Sitio
3
xunidades
yunidades
54
Dr. V
íctor J. S
osa S
osa
Tiem
po to
tal = 2 * tiem
po de in
icialización de m
ensaje +
tiempo de u
nidad de tran
smisió
n * (x+
y)
Tiem
po de resp
uesta =
max {tiem
po de en
viar x
de 1
a 3,
tiempo de en
viar y
de 2
a 3}
Tiem
po de en
viar x
de 1
a 3 = tiem
po de in
icialización de
mensaje +
tiempo de u
nidad de tran
smisió
n * x
Tiem
po de en
viar y
de 2
a 3 = tiem
po de in
icialización de
mensaje +
tiempo de u
nidad de tran
smisió
n * y
-
Esta
dística
s de O
ptim
izació
n
�Facto
r de co
sto prim
ario: tam
año de relacio
nes in
termedias.
�Para cad
a relación R[A
1 , A2 , ..., A
n ] con frag
mentos R
1 , R2 , ...,
Rr .
�Longitu
d de cad
a atributo: lo
ng(A
i ).
55
Dr. V
íctor J. S
osa S
osa
i
�Número
de v
alores d
istintos p
ara cada atrib
uto en
cada
fragmento: ca
rd(Π
Ai R
j ).
�Valo
res máxim
o y m
ínim
o en
el dominio de cad
a
atributo: m
in(A
i ), max(A
i ).
�Card
inalid
ad de cad
a dominio: ca
rd(d
om[A
i ]).
�Card
inalid
ad de cad
a fragmento: ca
rd(R
j ).
Esta
dística
s de O
ptim
izació
n
�Facto
r de selectiv
idad de cad
a operació
n para relacio
nes.
�Para reu
niones
FS
(R,S) =
card(R
S)
56
Dr. V
íctor J. S
osa S
osa
�Mayor p
recisión => m
ayor co
sto para m
anten
er.
FS
(R,S) =
card(R
S)
card(R) *
card(S)
-
Tamaño de R
elacio
nes In
termedias
Selecció
n.
tamaño(R) =
card(R) *
long(R)
card(σ
F (R) =
FS
σ (F) *
card(R)
donde
1
57
Dr. V
íctor J. S
osa S
osa
FS
σ (A =
valo
r) =1
card(∏
A (R))
FS
σ (A >
valo
r) =max(A
) -va
lor
max(A
) -min(A)
FS
σ (A <
valo
r) =va
lor-min(A)
max(A
) -min(A)
Tamaño de R
elacio
nes In
termedias
y donde
FS
σ ( p(A
i ) ∧ p(A
j ) )
= F
Sσ ( p
(Ai )) *
FS
σ ( p(A
j ) )
58
Dr. V
íctor J. S
osa S
osa
= F
Sσ ( p
(Ai )) *
FS
σ ( p(A
j ) )
FS
σ ( p(A
i ) ∨ p(A
j ) )
= F
Sσ ( p
(Ai )) +
FS
σ ( p(A
j ) )
-(F
Sσ ( p
(Ai )) *
FS
σ ( p(A
j ) ) )
FS
σ ( A ∈
{va
lores}
)
= F
Sσ ( A
=va
lor) *
card({
valo
res})
-
Tamaño de R
elacio
nes In
termedias
Proyecció
n.
card(Π
K (R)) =
card(R)
Producto
cartesiano.
card(R
×S) =
card(R) *
card(S)
59
Dr. V
íctor J. S
osa S
osa
Unión.
Lím
ite superio
r: card(R
∪S) =
card(R) +
card(S)
Lím
ite inferio
r: card(R
∪S) =
max{
card(R), ca
rd(S)}
Diferen
cia.
Lím
ite superio
r: card(R
-S) =
card(R)
Lím
ite inferio
r: 0
Tamaño de R
elacio
nes In
termedias
Reunión.
�Caso
especial. A
es una llav
e de R
y B
es una llav
e
forán
ea de S
; Aes u
na llav
e forán
ea de R
y B
es una
llave d
e S.
card(R
A=B S
) = ca
rd(R)
60
Dr. V
íctor J. S
osa S
osa
card(R
A=B S
) = ca
rd(R)
�Caso
general.
card(R
S
) = FS
* ca
rd(R) *
card(S)
Sem
ireunión.
card(R
AS
) = F
S (S
.A) *
card(R)
donde
FS
(R A
S) =
FS
(S.A) =
card(Π
Α(S))
card(d
om[A])
-
�IN
GRES.
�Dinám
ica.
�Interp
retativa.
Optim
izació
n de C
onsultas C
entra
lizada
61
Dr. V
íctor J. S
osa S
osa
�Interp
retativa.
�System
R.
�Estática.
�Búsqueda ex
haustiv
a.
Algoritm
o de I
GRES
�Desco
mponer cad
a consulta m
ultiv
ariable en
una
secuencia d
e consultas m
onovariab
le con una v
ariable
común.
�Procesa cad
a una m
edian
te un procesad
or d
e consultas
monovariab
le.
62
Dr. V
íctor J. S
osa S
osa
monovariab
le.
�Elig
e un plan
inicial d
e ejecució
n (h
eurística).
�Ordena el resto
consid
erando tam
años d
e
relaciones in
termedias
Nota: n
o m
antien
e inform
ación estad
ística.
-
Algoritm
o de D
escomposició
n de I
GRES
�Reem
plazo
de v
ariable. S
e sustitu
ye u
na v
ariable n
de la
consulta q
por u
na serie d
e consultas
q1 →
q2 →
... → q
n
donde q
i usa el resu
ltado de q
i-1 .
Separació
n de co
nsulta. S
e separa la co
nsulta q
en q’ →
63
Dr. V
íctor J. S
osa S
osa
�Separació
n de co
nsulta. S
e separa la co
nsulta q
en q’ →
q’’ d
onde q
’ yq’’ tien
en una v
ariable co
mún, la cu
al es el
resultad
o de q
’.
�Sustitu
ción de tu
pla
. Se reem
plaza el v
alor d
e cada tu
pla
con lo
s valo
res actuales, y
se simplifica la co
nsulta.
q(V
1 , V2 , ...,
Vn ) →
{q’ (t1
i , V2 , V
3 , ...,V
n ), t1i ∈
R1 }
Separació
n de C
onsulta
SELECT
V2 .A
2 , V3 .A
3 , ..., Vn .A
n
FROM
R1V
1 , ..., Rn V
n
WHERE
P1 (V
1 .A1 ’)
A
D
P2 (V
1 .A1 , V
2 .A2 , ..., V
n .An )
⇓
q:
64
Dr. V
íctor J. S
osa S
osa
SELECT
V1 .A
1I
TO
R1 ’
FROM
R1V
1
WHERE
P1 (V
1 .A1 )
SELECT V
2 .A2 , V
3 .A3 , ..., V
n .An
FROM
R1 ’ V
1 , R2V
2 , ..., RnV
n
WHERE
P2 (V
1 .A1 , V
2 .A2 , ..., V
n .An )
⇓q’:
q’’:
-
Ejem
plo de S
eparació
n
SELECT
E.ENAME
FROM
E, G
, J
WHERE
E.ENO = G.ENO
A
D
G.JN
O = J.JN
O
A
D
J.JNAME = “C
AD/CAM”
⇓
q:
65
Dr. V
íctor J. S
osa S
osa
SELECT
J.JNO I
TO
JVAR
FROM
J
WHERE
J.JNAME = “C
AD/CAM”
SELECT
E.ENAME
FROM
E, G
, JVAR
WHERE
E.ENO = G.ENO
A
D
G.JN
O = JV
AR.JN
O
⇓q11 :
q’:
Ejem
plo de S
eparació
n
SELECT
E.ENAME
FROM
E, G
, JVAR
WHERE
E.ENO = G.ENO
A
D
G.JN
O = JV
AR.JN
O
⇓
q’:
66
Dr. V
íctor J. S
osa S
osa
SELECT
G.ENO I
TO
GVAR
FROM
G, JV
AR
WHERE
G.JN
O = JV
AR.JN
O
⇓
q12 :
SELECT
E.ENAME
FROM
E, G
VAR
WHERE
E.ENO = GVAR.ENO
q13 :
-
Sustitu
ción de T
uplas
�La co
nsulta q
11 es m
ono-variab
le; mien
tras que q
12y q
13 están
sujetas a su
stitució
n de tu
plas.
�Suponem
os q
ue G
VAR tien
e únicam
ente d
os tu
plas: <
E1> y
<E2>.
�La su
stitució
n para q
13queda d
e la siguien
te manera
67
Dr. V
íctor J. S
osa S
osa
SELECT
E.E
2AM
E
FROM
E
WHERE
E.E
2O=“E1”
q131 :
SELECT
E.E
2AM
E
FROM
E
WHERE
E.E
2O=“E2”
q132 :
Algoritm
o de S
ystem
R
�Consultas sim
ples (ejem
. mono-relació
n) so
n
ejecutad
as de acu
erdo al m
ejor cam
ino de acceso
�Ejecu
ción de Jo
ins
68
Dr. V
íctor J. S
osa S
osa
�Ejecu
ción de Jo
ins
2.1 Determ
ina el p
osib
le orden de lo
s joins
2.2 Determ
ina el co
sto de cad
a orden
2.3 Elig
e el orden de jo
in co
n co
sto m
ínim
o
-
Algoritm
o de S
ystem
R
Para lo
s Joins, tien
e 2 alg
oritm
os altern
ativos:
�Ciclo
s Anidados
Para cada tu
pla d
e relación ex
terna (card
inalid
ad n
1 )
Para cada tu
pla d
e relación in
terna (card
inalid
ad n
2 )
join de d
os tu
plas si el p
redicad
o del jo
in es v
erdadero69
Dr. V
íctor J. S
osa S
osa
join de d
os tu
plas si el p
redicad
o del jo
in es v
erdadero
Fin
Fin
�Complejid
ad: n
1 * n
2
�Mezclar Jo
in
Ordena relacio
nes
Mezcla relacio
nes
�Complejid
ad: n
1 + n
2Si las relacio
nes so
n prev
iamente
ordenadas y
equijo
in
Algoritm
o de S
ystem
R -Ejem
plo
Nombres d
e emplead
os q
ue trab
ajan en
el
proyecto
CAD/CAM
Asumir:
�E tien
e un ín
dice so
bre E
NO
70
Dr. V
íctor J. S
osa S
osa
�E tien
e un ín
dice so
bre E
NO
�G tien
e un ín
dice so
bre JN
O
�J tien
e un ín
dice so
bre JN
O y un ín
dice so
bre JN
AME
G
EJ
JNO
ENO
-
Algoritm
o de S
ystem
R -Ejem
plo (co
nt..)
�Elig
e el mejo
r camino de acceso
para cad
a relación
�E: b
úsqueda secu
encial (n
o hay selecció
n so
bre E
)
�G: b
úsqueda secu
encial (n
o selecció
n so
bre G
)
�J: ín
dice so
bre JN
AME (h
ay una selecció
n so
bre
J basad
o en
JNAME)
71
Dr. V
íctor J. S
osa S
osa
J basad
o en
JNAME)
�Determ
inar el m
ejor o
rden de Jo
in�
E G
J
�G J E
�J G
E
�G E
J�
E X
J G
�J X
E G
�Seleccio
nar el m
ejor o
rden basad
o en
los co
stos d
el Join
evalu
ado de acu
erdo a lo
s dos m
étodos
Algoritm
o de S
ystem
R
Altern
ativas
EG
J
E G
E x J G
E G
x J J G
J x E
72
Dr. V
íctor J. S
osa S
osa
E G
E x J G
E G
x J J G
J x E
pruned p
runed p
runed p
runed
(G E
) J (J G
) E
((G E
) J)
((J G) E
)
El m
ejor o
rden del jo
in to
tal es uno de
-
Algoritm
o de S
ystem
R
�((J G
) E) tien
e un ín
dice ú
til sobre lo
s atributos d
el
select y accesa d
irectamente lo
s atributos d
el Join de G
y E
�Por lo
tanto, eleg
irlo co
n lo
s siguien
tes méto
dos d
e
73
Dr. V
íctor J. S
osa S
osa
�Por lo
tanto, eleg
irlo co
n lo
s siguien
tes méto
dos d
e
acceso:�
Seleccio
nar J u
sando el ín
dice so
bre JN
AME
�entonces u
nir co
n G utilizan
do el in
dice so
bre JN
O
�desp
ués u
nir co
n E utilizan
do el ín
dice so
bre E
NO
Ordenar Join en
Consultas de F
ragmentos
�Ordenan Jo
ins
�IN
GRES Distrib
uido
�System
R*
74
Dr. V
íctor J. S
osa S
osa
�System
R*
�Ordenan Sem
iJoins
�SDD-1
�Algoritm
os A
pers-H
evner-Y
ao
-
Ordenar Join
Consid
erar dos relacio
nes so
lamente
Si ta
maño(R
) < ta
maño(S)
Si ta
maño(R
) > ta
maño(S)
RS
75
Dr. V
íctor J. S
osa S
osa
Con m
últip
les relaciones es m
ás complejo
debido a
que ex
isten m
uchas altern
ativas
�Procesar el co
sto de to
das las altern
ativas y
evalu
ar la mejo
r
* Es n
ecesario procesar el tam
año de relacio
nes
interm
edias lo
cual es d
ificil
�Uso de h
eurísticas
Ordenar Join -Ejem
plo
Consid
erar
J JNOE E
NOG
Sitio
2
G
76
Dr. V
íctor J. S
osa S
osa
Sitio
1Sitio
3
G
EJ
ENO
JNO
-
Ordenar Join -Ejem
plo
Altern
ativas d
e ejecució
n:
E →
Sitio
2
Sitio
2 procesa E
’=E G
E’ →
Sitio
3
Sitio
3 procesa E
’ J
G →
Sitio
1
Sitio
1 procesa E
’=E G
E’ →
Sitio
3
Sitio
3 procesa E
’ J
1.
2.
77
Dr. V
íctor J. S
osa S
osa
Sitio
3 procesa E
’ J
G →
Sitio
3
Sitio
3 procesa G
’=G J
G’ →
Sitio
1
Sitio
1 procesa G
’ E
E →
Sitio
2
J →Sitio
2
Sitio
2 procesa E
J G
Sitio
3 procesa E
’ J
J →Sitio
2
Sitio
2 procesa J’=
J G
J’ →Sitio
1
Sitio
1 procesa J’ E
3.5.
4.
Algoritm
os de S
emiJoin
Consid
erar el join de d
os relacio
nes:
R[A
] (ubicad
a en el sitio
1)
S[A
] (ubicad
a en el sitio
2)
Altern
ativas:
78
Dr. V
íctor J. S
osa S
osa
Altern
ativas:
1 H
acer el join R A
S
2 E
fectuar u
no de lo
s semijo
ins eq
uivalen
tes
R A
S ⇔
(R A
S) A
S
⇔R A
(S A
R)
⇔(R A
S) A
(S A
R)
-
Algoritm
os de S
emiJoin
�Efectu
ar el Join
�Enviar R
al Sitio
2
�El S
itio 2 Procesa R
AS
Consid
erar Sem
iJoin (R
AS) A
S
79
Dr. V
íctor J. S
osa S
osa
Consid
erar Sem
iJoin (R
AS) A
S
�S’←
ΠΑ
(S)
�S’ →
Sitio
1
�Sitio
1 procesa R
’ = R A
S’
�R’ →
Sitio
2
�Sitio
2 procesa R
’ AS
Sem
iJoin es m
ejor si
tamaño(Π
Α(S
)) + ta
maño(R A
S)) <
tamaño(R)
Procesa
mien
to de C
onsultas D
istribuido
Algoritm
os
Tiem
po
Optim
o
Objetiv
o
de la fu
n.
Facto
res a
optim
.
Topología
de R
ed
Sem
i
Joins
Estad
isticas*Frag
men.
INGRES
Distrib
uido
Dinám
icoTiem
po de
Resp
uesta
o Costo
Total
Tam
año del
Mensaje,
Procesam
iento
General o
Brao
dcast
no
1Horiz.
R*
Estático
Costo
Total
#Msg, T
am.
.Msg, IO
, CPU
General o
Local
no
1,2
No
80
Dr. V
íctor J. S
osa S
osa
R*
Estático
Total
.Msg, IO
, CPU
Local
no
1,2
No
SDD-1
Estático
Costo
Total
Tam
. Msg
General
si1,3,4,5
No
AHY
Estático
Tiem
po de
Resp
uesta
o Costo
Total
#Msg M
sg size,
General
si1,3,5
No
1: card
inalid
ad de la relació
n, 2
: número
de v
alores ú
nico
s por atrib
uto, 3
: factor d
e selectividad del jo
in
4: tam
año de p
royecció
n so
bre cad
a atributo jo
in, 5
: tamaño del atrib
uto y de la tu
pla
-
Algoritm
o de I
GRES Distrib
uido
Igual q
ue la v
ersión cen
tralizada ex
cepto
�El m
ovim
iento de relacio
nes (y
fragmentos) n
ecesita
ser consid
erado
81
Dr. V
íctor J. S
osa S
osa
ser consid
erado
�Optim
ización co
n resp
ecto al p
osib
le costo
de
comunicacio
nes o
tiempo de resp
uesta
Algoritm
o de R
*
�El co
sto de fu
nció
n in
cluye p
rocesam
iento lo
cal así como
transm
isión
�Consid
era sólo jo
ins
82
Dr. V
íctor J. S
osa S
osa
�Búsqueda ex
haustiv
a
�Compilació
n
-
Algoritm
o de R
*
Eficien
cia en Jo
ins
�Traslad
a todo
�Gran
des tran
sferencia d
e dato
s
�Pequeño número
de m
ensajes
�Es m
ejor si las relacio
nes so
n pequeñas
83
Dr. V
íctor J. S
osa S
osa
�Es m
ejor si las relacio
nes so
n pequeñas
�Ir a B
uscar
�número
de m
ensajes =
O(card
inalid
ad de relació
n
extern
a)
�La tran
sferencia d
e dato
s por m
ensaje es m
ínim
a
�Es m
ejor si las relacio
nes so
n gran
des y
la
selectividad es b
uena
Algoritm
o de R
* -
Partició
n Vertica
l y Joins
Mover tu
plas d
e una relació
n ex
terior al sitio
de u
na
relación in
terior
1.
(a) Extraer tu
plas ex
teriores
84
Dr. V
íctor J. S
osa S
osa
(a) Extraer tu
plas ex
teriores
(b) E
nviarlas al sitio
de la relació
n in
terior
(c) Unirlas co
mo vayan lleg
ando
Costo
Total =
costo
(extraer tu
plas ex
teriores cu
alificadas)
+ no. de tu
plas ex
teriores fetch
ed *
costo
(extraer tu
plas in
teriores calificad
as)
+ co
st. msg * (n
o. tu
plas ex
teriores fetch
ed *
tamaño prom. d
e tuplas ex
teriores) / tam
año m
sg.
-
Algoritm
o de R
* -
Partició
n Vertica
l y Joins
Mover tu
plas d
e relación in
terior al sitio
de
relación ex
terior
2.
No se p
ueden unir co
mo van lleg
ando; n
ecesitan ser alm
acenadas
85
Dr. V
íctor J. S
osa S
osa
Costo
Total =
costo
(extraer tu
plas ex
teriores cu
alificadas)
+ no. de tu
plas ex
teriores fetch
ed *
costo
(extraer tu
plas in
teriores m
atching del alm
acén tem
poral)
+ co
sto(ex
traer tuplas in
teriores cu
alificadas)
+ co
sto(alm
acenar to
das las tu
plas in
ternas cu
alificadas en
almacén
temporal)
+ co
st. msg * (n
o. tu
plas in
teriores fetch
ed *
tamaño prom. de tu
pla in
terior) / tam
año m
sg.
Algoritm
o de R
* -
Partició
n Vertica
l y Joins
Mover relacio
nes in
ternas y
extern
as a otro
sitio3.
Costo
Total =
costo
(extraer tu
plas ex
teriores cu
alificadas)
+ co
sto(ex
traer tuplas in
teriores cu
alificadas)
+ co
sto(alm
acenar tu
plas in
teriores en
alm. )
86
Dr. V
íctor J. S
osa S
osa
+ co
sto(alm
acenar tu
plas in
teriores en
alm. )
almacén
temporal)
+ co
st. msg * (n
o. tu
plas ex
teriores fetch
ed *
tamaño prom. de tu
pla ex
terior) / tam
año m
sg.
+ co
st. msg * (n
o. tu
plas in
teriores fetch
ed *
tamaño prom. de tu
pla in
terior) / tam
año m
sg.
+ no. de tu
plas ex
teriores fetch
ed *
costo
(extraer tu
plas in
teriores d
el almacén
temporal)
-
Algoritm
o de R
* -
Partició
n Vertica
l y Joins
Fetch
inner tu
ples as n
edded
4.
(a) Extraer tu
plas cu
alificadas en
sitio de relació
n ex
terior
(b) E
nviar req
uisició
n co
nten
iendo jo
in co
lumna v
alor(s)
para tu
plas ex
teriores al sitio
de la relació
n in
terior
(c) Extraer tu
plas in
teriores q
ue ap
arean en
el sitio de relació
n in
terior
87
Dr. V
íctor J. S
osa S
osa
(c) Extraer tu
plas in
teriores q
ue ap
arean en
el sitio de relació
n in
terior
(d) E
nviar las tu
plas in
teriores q
ue ap
arean al sitio
de la relació
n ex
terior
(e) Unir co
mo vayan lleg
ando
Costo
Total =
costo
(extraer tu
plas ex
teriores cu
alificadas)
+ co
st. msg * (n
o. tu
plas ex
teriores fetch
ed)
+ no. de tu
plas ex
teriores fetch
ed *
(no. de tu
plas in
teriores fetch
ed * tam
año prom.
de tu
pla in
terior *
cost. m
sg. / tam
año m
sg.
+ no. de tu
plas ex
teriores fetch
ed * co
sto(ex
traer tuplas
interio
res que ap
arean para u
n valo
r exterio
r)
Algoritm
o de S
DD -1
�Basad
o en
el algortim
o de S
ubien
do la C
uesta (H
ill Clim
bing)
�No Sem
ijoins
�No Replicació
n
88
Dr. V
íctor J. S
osa S
osa
�No Replicació
n
�No frag
mentació
n
�No es co
nsid
erado el co
sto de tran
sferir el resultad
o
al sitio del u
suario
desd
e el sitio del resu
ltado fin
al
�Puede m
inim
izar tanto el tiem
po to
tal o el tiem
po
de resp
uesta
-
Algoritm
o Hill C
limbing
Asumir q
ue el jo
in esta en
tre tres relaciones.
Paso
1: H
acer procesam
iento in
icial
Paso
2: S
elección de la so
lució
n factib
le inicial (E
S0 )
2.1 Determ
inar el sitio
candidato
para el resu
ltado -sitio
donde
una relació
n referen
ciada en
la consulta ex
ista
89
Dr. V
íctor J. S
osa S
osa
una relació
n referen
ciada en
la consulta ex
ista
2.2 Calcu
lar el costo
de tran
sferir todas lo
s otras relacio
nes
refrenciad
as a cada sitio
candidato
2.3 E
S0= sitio
candidato
con co
sto m
ínim
o
Paso
3: D
eterminar d
ivisio
nes can
didatas d
e ES0en {ES1 ,E
S2 }
3.1 E
S1consiste d
e enviar u
na d
e las relaciones al o
tro sitio
de la relació
n
3.2 E
S2consiste d
e enviar el jo
in de las relacio
nes al sitio
del
resultad
o fin
al
Algoritm
o Hill C
limbing
Paso
4: R
emplazar E
S0con el p
lan de d
ivisió
n el cu
al
da:
costo
(ES1 ) +
costo
(join lo
cal) + co
sto(E
S2 ) <
costo
(ES0 )
90
Dr. V
íctor J. S
osa S
osa
Paso
5: R
ecursiv
amente ap
licar paso
s 3-4 so
bre E
S1y E
S2
hasta q
ue n
inguno de lo
s plan
es pueda ser en
contrad
o
Paso
6: V
erificar por tran
smisio
nes red
undantes en
el plan
final y
eliminarlas.
-
Algoritm
o Hill C
limbing -Ejem
plo
¿Cuales so
n lo
s salarios d
e los in
geniero
s que trab
ajan en
el
proyecto
CAD/CAM?
Relació
nTam
año
Sitio
ΠSAL(S
TITLE(E
ENO(G
JNO(σ
JNAME=“C
AD/CAM”(J)))))
91
Dr. V
íctor J. S
osa S
osa
Relació
nTam
año
Sitio
ESJG
84410
1234
Asumir:El tam
año de las relacio
nes es d
efinido por su
cardinalid
ad
Minim
izar costo
total
El co
sto de tran
smisió
n en
tre dos sitio
s es 1
Ignorar el co
sto de p
rocesam
iento lo
cal
Algoritm
o Hill C
limbing -Ejem
plo
Relació
nTam
año
Sitio
Paso
1:
Selecció
n so
bre J; el resu
ltado tien
e cardinalid
ad 1
92
Dr. V
íctor J. S
osa S
osa
Relació
nTam
año
Sitio
ESJG
84410
1234
-
Algoritm
o Hill C
limbing -Ejem
plo
Paso
2: S
olució
n factib
le inicial
Altern
ativa 1
: El sitio
de resu
ltado es el sitio
1
Costo
Total =
costo
(S →
Sitio
1) +
costo
(G→Sitio
1) +
costo
(J→Sitio
1)
= 4
+ 10 + 1 = 15
93
Dr. V
íctor J. S
osa S
osa
Altern
ativa 2
: El sitio
de resu
ltado es el sitio
2
Altern
ativa 3
: El sitio
de resu
ltado es el sitio
3
Costo
Total =
8 + 10 + 1 = 19
Costo
Total =
8 + 4 + 10 = 22
Altern
ativa 4
: El sitio
de resu
ltado es el sitio
4
Costo
Total =
8 + 4 + 10 = 22
Por lo
Tanto E
S0= {E
→Sitio
4; S
→Sitio
4; J→
Sitio
4}
Algoritm
o Hill C
limbing -Ejem
plo
Paso
3: D
eterminar d
ivisio
nes can
didato
Altern
ativa 1
: {ES1 , E
S2 , E
S3 } donde
ES1 : E
→Sitio
2
ES2 : (E
S) →
Sitio
4
94
Dr. V
íctor J. S
osa S
osa
ES2 : (E
S) →
Sitio
4
ES3 : J →
Sitio
4
Altern
ativa 2
: {ES1 , E
S2 , E
S3 } donde
ES1 : S
→Sitio
1
ES2 : (S
E) →
Sitio
4
ES3 : J →
Sitio
4
-
Algoritm
o Hill C
limbing -Ejem
plo
Paso
4: D
eterminar lo
s costo
s de cad
a alternativ
a de d
ivisió
n
costo
(Altern
ativa 1
) = co
sto(E →
Sitio
2) +
costo
((E S
) →Sitio
4) +
costo
(J →Sitio
4)
= 8
+ 8 +1 = 17
95
Dr. V
íctor J. S
osa S
osa
costo
(Altern
ativa 2
) = co
sto(E →
Sitio
1) +
costo
((S E
) →Sitio
4) +
costo
(J →Sitio
4)
= 4
+ 8 +1 = 13
Decisió
n: N
O DIV
IDIR
Paso
5: E
S0es el “m
ejor”
Paso
6: N
o hay tran
smisio
nes red
undantes
Algoritm
o Hill C
limbing
Problem
as:
�Algoritm
o av
aro →
determ
ina u
na so
lució
n in
icial factible
e iterativam
ente trata d
e mejo
rarla
�Si h
ay un m
ínim
o lo
cal no podría en
contrar m
ínim
o global
96
Dr. V
íctor J. S
osa S
osa
�Si el p
lan óptim
o tien
e un alto
costo
inicial, n
o lo
encontrará y
a que n
o lo
eligirá co
mo la so
lució
n
factible in
icial
Ejem
plo : U
n plan
mejo
r esJ →
Sitio
4
G’ =
(J G) →
Sitio
1
(G’
E) →
Sitio
2
Costo
Total =
1 + 2 + 2 = 5
-
Algoritm
o SDD -1
Paso
1: E
n la estrateg
ia de ejecu
ción (llam
ado ES), in
cluye
todo el p
rocesam
iento lo
cal
Inicializació
n
Paso
2: R
efleja los efecto
s del p
rocesam
iento lo
cal sobre el
97
Dr. V
íctor J. S
osa S
osa
Paso
2: R
efleja los efecto
s del p
rocesam
iento lo
cal sobre el
perfil d
e la base d
e dato
s
Paso
3: C
onstru
ye u
n co
njunto de o
peracio
nes sem
ijoin
benéficas (B
S) co
mo sig
ue:
BS= 0
Por cad
a semijo
in SJi
BS
← B
S∪
SJisi co
sto(S
Ji) <
ben
eficio(S
Ji)
Algoritm
o SDD-1 -Ejem
plo
Consid
erar la siguien
te consulta
SELECT
*
FROM
E, G
, J
WHERE
E.ENO = G.ENO
A
D
G.JN
O = J.JN
O
La cu
al tiene el sig
uien
te grafo
y estad
ísticas:
98
Dr. V
íctor J. S
osa S
osa
La cu
al tiene el sig
uien
te grafo
y estad
ísticas:
EG
JENO
JNO
sitio 1
sitio 2
sitio 3
relació
ncard
tam. tu
pla
tam. re
lació
n
EGJ
30
100
50
50
30
40
1500
3000
2000
atrib
uto
SF
tamaño(Π
atrib
uto)
E.E
NO
G.E
NO
G.JNO
J.JNO
.3.81.4
120
400
400
200
-
Algoritm
o SDD-1 -Ejem
plo
�Sem
ijoins b
eneficio
sos:
�SJ1= G E
, cuyo beneficio
es 2100 = (1
-0.3) *
3000
y el co
sto es 1
20
�SJ2= G J, cu
yo beneficio
es 1800 = (1
-0.4) *
3000
99
Dr. V
íctor J. S
osa S
osa
�SJ2= G J, cu
yo beneficio
es 1800 = (1
-0.4) *
3000
y el co
sto es 2
00
�Sem
ijoins n
o beneficio
sos:
�SJ3= E G
, cuyo beneficio
es 300 = (1
-0.8) *
1500
y el co
sto es 4
00
�SJ4= G J, cu
yo beneficio
es 0 y el co
sto es 4
00
Algoritm
o SDD-1
Proceso
iterativo
Paso
4: R
emueve el m
ás beneficio
so SJide B
Sy lo
agreg
a a ES
Paso
5: M
odifica el p
erfil de la b
ase de d
atos aco
rdem
ente
100
Dr. V
íctor J. S
osa S
osa
Paso
5: M
odifica el p
erfil de la b
ase de d
atos aco
rdem
ente
Paso
6: M
odifica B
Sapropiad
amente
�Procesa n
uevos v
alores b
eneficio
/costo
�Verifica si alg
ún nuevo sem
ijoin necesita ser
inclu
ido en
BS
Paso
7: S
i BS
≠0, reg
resa al paso
4
-
Algoritm
o SDD-1 -Ejem
plo
�Iteració
n 1:
�Rem
over S
J1de B
Sy ag
regarlo
a ES.
�Actu
alizar estadísticas d
e Gta
maño(G
) = 900 (=
3000*0.3)
SF
(G.ENO) =
~0.8*0.3 = 0.24
101
Dr. V
íctor J. S
osa S
osa
�Iteració
n 2:
�Dos sem
ijoins b
eneficio
sos:
SJ2= G’ J, cu
yo beneficio
es 540 = (1
-0.4)*900 y el co
sto es 2
00
SJ3= E G
’,cuyo beneficio
es 1400 = (1
-0.24)*1500 y el co
sto
es 400
�Agreg
ar SJ3a E
S
�Actu
alizar estadísticas d
e Eta
maño(E) =
360 (=
1500*0.24)
SF
(E.ENO) =
~0.3*0.24 = 0.072
Algoritm
o SDD-1 -Ejem
plo
�Iteració
n 3:
�No nuevos sem
ijoins b
eneficio
sos
�Rem
over sem
ijoins S
J2que q
uedan de B
Sy
agreg
arlo a E
S.
102
Dr. V
íctor J. S
osa S
osa
agreg
arlo a E
S.
�Actu
alizar estadísticas d
e G
tamaño(G
) = 360 (=
900*0.4)
Nota: L
a selectividad de G
pudiera tam
bién
cambiar, p
ero no
es importan
te en este ejem
plo
-
Algoritm
o SDD-1
Selecció
n del S
itio de R
eunión
Paso
8: E
ncontrar el sitio
donde la m
ás gran
de can
tidad de d
atos
reside y
seleccionarlo
como el sitio
de reu
nión
103
Dr. V
íctor J. S
osa S
osa
Ejem
plo:
Total d
e dato
s almacen
ados en
los sitio
s:
Sitio
1: 3
60
Sitio
2: 3
60
Sitio
3: 2
000
Por lo
tanto el sitio
3 será eleg
ido co
mo el sitio
de reu
nión.
Algoritm
o SDD-1
Postp
rocesam
iento
Paso
9: P
ara cada R
i en el sitio
“assembly” , en
contrar lo
s
semijo
ins d
el tipo
Ri
Rj
donde el co
sto to
tal de E
S sin
este semijo
in es m
ás
pequeño que el co
sto co
n éste y
remueve el sem
ijoin
104
Dr. V
íctor J. S
osa S
osa
�Los sem
ijoins n
o so
n rem
ovidos
pequeño que el co
sto co
n éste y
remueve el sem
ijoin
de E
S.
Nota: P
odría h
aber b
eneficio
s indirecto
s
Paso
10: P
ermute el o
rden de sem
ijoins si se h
ace se podría m
ejorar
el costo
total d
e ES.
�Ejem
plo: E
strategia fin
al:
Envíar (G
E) J al sitio
3
Enviar E
G’ al sitio
3
-
Algoritm
os A
pers-H
evner-Y
ao
�Sitio
de resu
ltado esp
ecificado por el u
suario
�Hacer u
so de sem
ijoins
�Puede ser u
sado para u
n m
ínim
o de tiem
po to
tal o resp
onder
en un m
ínim
o de tiem
po
�Consid
era solam
ente co
sto de tran
smisio
nes
105
Dr. V
íctor J. S
osa S
osa
�Consid
era solam
ente co
sto de tran
smisio
nes
�Consultas
�Esas co
nsultas d
onde, d
espués d
e iniciar el p
rocesam
iento
local, cad
a relación en
la consulta co
ntien
e solam
ente el
atributo co
mún del jo
in , el cu
al es también
la única salid
a de
la consulta.
�Consultas g
enerales
�Cualq
uier co
nsulta q
ue sea an
terior y
que sea b
uena
Algoritm
o-R
epresen
tación AHY
Consid
ere la siguien
te consulta sim
ple y
sus estad
ísticas
R2
R1
R3
AA
A
atributo
SF
size(Π atrib
uto )
R1 .A
R2 .A
R3 .A
.31.7
100
400
200
106
Dr. V
íctor J. S
osa S
osa
Puede ser rep
resentad
o por el sig
uien
te plan
R3 .A
.7200
R1 .A
100
R2
R3 .A
200
84
-
Paso 4 -Optim
izació
n Local
Entrad
a: Mejo
r plan
de ejecu
ción global
�Seleccio
na el m
ejor cam
ino de acceso
107
Dr. V
íctor J. S
osa S
osa
�Seleccio
na el m
ejor cam
ino de acceso
�Usa las técn
icas de o
ptim
ización cen
tralizada
Optim
izació
n de C
onsultas D
istribuidas -
Problem
as
�Modelo
de co
sto
�Optim
ización de co
nsulta m
ultip
le
�Heurísticas p
ara reducir altern
ativas
�Mayor co
njunto de co
nsultas
�Optim
ización só
lo so
bre co
nsultas select-p
roject-jo
in
108
Dr. V
íctor J. S
osa S
osa
�Optim
ización só
lo so
bre co
nsultas select-p
roject-jo
in
�Tam
bién
necesita m
anejar co
nsultas co
mplejas (ejem
.,
uniones) d
isjuncio
nes, ag
regació
nes y
clasificaciones)
�Costo
de o
ptim
ización vs. co
sto de ejecu
ción trad
eoff
�Heurísticas p
ara reducir altern
ativas
�Estrateg
ias de b
úsqueda co
ntro
lables
�Interv
alo Optim
ización/reo
ptim
ización
�Exten
sión de lo
s cambios en
el perfil d
e la base d
e
dato
s antes d
e que la reo
ptim
ización sea n
ecesaria
top related