53
PROCESAMIETO DE PROCESAMIETO DE PROCESAMIETO DE PROCESAMIETO DE 3 Dr. Víctor J. Sosa Sosa COSULTAS COSULTAS COSULTAS COSULTAS Consulta de usuario en alto nivel Procesamiento de Consultas 4 Dr. Víctor J. Sosa Sosa Procesador de consultas Comandos de manipulación de datos en bajo nivel

Procesador en alto nivel COSULTAS - CINVESTAVvjsosa/clases/tsbd/BDD_Consultas.pdf · Optimización de consultas. ¿Cómo determinamos la “mejor” estrategia de ejecución? Componentes

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 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 ⇔

    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

    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