Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel...

25
Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins 110370082 David Martins080316033

Transcript of Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel...

Page 1: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Algoritmos Aleatórios Para Optimização de consultas

Artigo apresentado por:Daniel Martins 110370082David Martins 080316033

Page 2: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Introdução

• Optimização de Queries é um processo dispendioso.

• Algoritmos Aleatórios aplicados problemas de optimização combinatória:– Simulated Annealing– Iterative Improvement

Page 3: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Algoritmos Aleatórios

• Cada solução para um problema de optimização pode ser pensado como um estado

• Cada estado tem um custo associado

• O seu objectivo é encontrar o estado com minímo custo global

Page 4: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• Existem 2 tipos de movimentos associado ao estado :– DownHill– UpHill

• Minímo Local

• Minímo Global

Page 5: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Algoritmo Iterative Improvement

Page 6: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• Uma optimização começa num estado aleatório

• Implementa a solução através de sucessivos movimentos downHill até encontrar o minímo local

• Repete-se indefinidamente até encontrar uma condição de paragem

Page 7: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Algoritmo Simulated Annealing

Page 8: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• Aceita movimentos upHill• O loop interior do algoritmo é chamado

estado• Cada estado é executado através do

parâmetro temperatura• Temperatura controla movimentos upHill• Cada estado termina quando atinge o

equilibrio

Page 9: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Algoritmo Two Phase Optimization

• É uma combinação dos 2 algoritmos anteriores

• Fase 1:– O II corre durante um pequeno período de tempo

• Fase 2:– O SA corre com uma temperatura baixa inicial

Page 10: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Estado de Espaço

• Corresponde a uma estratégia de acessos para uma consulta ser optimizada

• Join Processing Tree– Folhas são as relações base– Nós internos são operadores join– Arestas indicam o fluxo da informação

Page 11: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Função Vizinho

Page 12: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Função Custo

• É utilizada apenas para a entrada e saída de cada estratégia de dados.

• É baseada nas seguintes suposições:– Sem pipelining– Buffering minímo para todas as operações– Execução on-the-fly nas projecções

Page 13: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Comportamento como uma função do tempo

Page 14: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Qualidade do Output

Page 15: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Tempo de optimização da Query

• Tamanho da query• Variância nos parâmetros do catálogo• Tipo de Query

Page 16: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Análise Estado de Espaço

• Um custo escalonado é o rácio de um custo de uma estratégia sobre o custo minímo local.

• A média do rácio específico VS o menor custo minímo local é afectada pela variância e pela consulta.

Page 17: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• Podemos concluir que o maior minímo local não de todo melhor que a média do estado aleatório mas está relacionado com o custo de pequenas variâncias

Page 18: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• Na experiência foram contados o número de minímo locais visitados com custo distintos

• Para cada consulta mediu-se a distância a distância média entre 2 minímos locais visitados

Page 19: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.
Page 20: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Explicação do comportamento como uma função do tempo

• SA começa com um estado aleatório que tende para um custo de área elevado– Temperatura mantém-se elevada– Grande número de movimentos upHill– Grande probabilidade de aceitar movimentos

upHill

Page 21: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• II consegue descobrir o minímo local apenas com algumas optimizações locais

• Consegue atingir rapidamente o fundo através de movimentos downHill

Page 22: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.
Page 23: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• 2PO atinge rapidamente o fundo (fase II)

• 2PO melhora rapidamente procurando na área (fase SA)

• Termina em menor tempo em relação aos outros 2 algoritmos

Page 24: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

Conclusões

• Foram utilizados 2 algoritmos SA e II para optimização de grandes join queries

• II é melhor que o SA inicialmente, ao longo do tempo SA consegue superar o II

Page 25: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033.

• Foi realizado o estudo da função custo sobre o espaço de estado da query

• Através disto explicou-se o comportamento do 2 algoritmos

• Conclui-se que o 2PO tem performance superior aos outros 2 algoritmos