A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Produto cartesiano Mais parâmetros dos dados Algoritmo

Apresentações semelhantes


Apresentação em tema: "Produto cartesiano Mais parâmetros dos dados Algoritmo"— Transcrição da apresentação:

1 Produto cartesiano Mais parâmetros dos dados Algoritmo
U - nº de blocos do resultado  dominante M - nº de blocos que cabem na memória principal Algoritmo se uma relação cabe em memória (BS < M; assume-se BS  BR) relação S em memória: faz-se o ciclo exterior para cada bloco de R lido custos (basta uma leitura de cada bloco): entrada - BS+BR (comprimentos: lR tuplo de R; b - bloco) resultado - U = TRTS(lR+lS)/b = TRTSlR/b + TRTSlS/b = BRTS + TRBS (Eq 1) total - BR(TS+1) + BS(TR+1) para cada tuplo  em R fazer para cada tuplo  em S fazer produzir o tuplo 

2 Relações grandes Se M < BS ler S por segmentos de dimensão M-1 S R
. memória Algoritmo para cada segmento  na relação S fazer para cada tuplo  no segmento  fazer para cada bloco  da relação R fazer para cada tuplo  do bloco  fazer produzir o tuplo  Nº segmentos de S: BS/(M-1) entrada: BS + BRBS/(M-1) (Eq 2) total: BS(TR+1) + BR[ TS+ BS/(M-1) ]

3 Execução do produto cartesiano
Exemplo1A: R tem 5000 tuplos armazenados em 500 blocos e S 1000 tuplos em 100 blocos M = 101 Custo? 500* *5001= lR*S = lR + lS  5 tuplos/bloco, i.e Exemplo1B: Se M=11? Custo? S dividida em BS/(M-1) = 10 500*( /10) + 100*5001= custo de entrada aumentou muito mas é dominado pelo de saída

4 Optimização da junção -junção: custo de entrada semelhante ao do produto; custo de saída pode ser inferior problema: na junção natural de AB(A,B) com BC(B,C) qual o tamanho do resultado, i.e., dado um valor B=b em AB quantos tuplos de BC possuem esse valor? Modelo estatístico das relações (para a junção natural) cada atributo tem associado um domínio finito de valores activos conjunto de tuplos potenciais de R é o produto dos domínios dos seus atributos; se R tiver T tuplos em n potenciais, assume-se que T/n é a probabilidade de um tuplo individual ser escolhido se dois atributos tiverem o mesmo nome, têm o mesmo domínio ou, pelo menos, o domínio de um está contido no do outro

5 Implicações do modelo AB ⋈ BC, em que cada valor de B em AB existe em BC, mas o contrário pode não suceder definições DA, DB, DC, EB - domínios de A em AB, B em BC, C em BC e B em AB IA, IB, IC - tamanhos das imagens de A, B e C (JB para EB) cálculo da dimensão de AB ⋈ BC nº de tuplos potenciais abc em DADBDC: IAIBIC probabilidade de um tuplo arbitrário bc estar em BC: TBC/(IBIC) probabilidade de um tuplo arbitrário ab estar em AB: vale 0 se b  DB, mas b  EB (ocorre (IB-JB)/IB vezes) vale TAB/(IAJB), se b  EB (ocorre JB/IB vezes) total: (IB-JB)/IB*0 + (JB/IB)*TAB/(IAJB) = TAB/(IAIB) (não depende de JB)

6 Dimensão da junção natural
probabilidade de abc  AB ⋈ BC: TABTBC/(IAIB2IC) multiplicando pelo nº de tuplos possíveis (IAIBIC), obtém-se a dimensão estimada da junção: TABTBC/IB generalizando para vários atributos comuns, tamanho de R ⋈ S: nº de blocos: (BRTS + TRBS)/I (I é o denominador anterior) (Eq 3) Exemplo 2: R(A,B,C) e S(B,C,D) R.BS.B, S.CR.C com TR=5000, BR=500, TS=1000, BS=100, IB=50, IC=40 U= (500* *5000)/(40*50)= 500 se C for dependente do B ambos funcionam como um só atributo e I=50, resultando em U=20 000, em vez de 500 blocos TRTS IB1 IB2 … IBk

7 Computação de junções Selecção de um produto
computar o produto, mas emitir só os tuplos  que coincidam nos atributos comuns Exemplo 3 (baseado no ex. 2) I = IBIC = 2000, M=101 Custo de entrada (eq 2) = 500*(100/100)+100 = 600 U = 500 (ver ex. 2); total = = 1100 se M=11 entrada = 500*(100/10)+100 = 5100 U = 500; total = = 5600 custo de entrada é significante na junção, ao contrário de no produto Custo total (Eq 2 + Eq 3) BR[TS /I + BS/(M-1)] + BS(TR /I + 1)

8 Computação de junções Ordenação-junção
preprocessar as relações R(A,B) e S(B,C) ordenando-as pelo atributo comum percorrer simultaneamente as relações, comparando os valores dos atributos de junção; de cada vez que se encontrarem coincidências faz-se o produto dos respectivos subconjuntos de tuplos método de ordenação: fusão com multivia; faz no máximo logMB passos com 2B acessos em cada passo processo final de junção percorre cada bloco uma só vez 2 BR logM BR + 2 BS logM BS + BR + BS + (BRTS + TRBS)/I Exemplo 3’. I=2000; M = 101 custo = 3300; mas M=11  custo = 4500 ordenação junção saída


Carregar ppt "Produto cartesiano Mais parâmetros dos dados Algoritmo"

Apresentações semelhantes


Anúncios Google