Buscar

Heurística banco de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

License-515154-60824-0-4
BANCO DE DADOS
Heurística 
Conceito de heurística
Segundo o dicionário Aurélio (Ferreira, 2010), a palavra heurística significa 
“método que pretende levar a inventar, descobrir ou a resolver problemas”. Através 
do método heurístico, podemos desenvolver ferramentas ou procedimentos para 
tornar possível uma descoberta ou resolução de problemas.
Fonte: Shutterstock, 2016. 
License-515154-60824-0-4
BANCO DE DADOS
No caso dos bancos de dados, entenda que a heurística é usada como otimização 
algébrica. Aplicando as regras da álgebra relacional, podemos transformar 
sequências de operações de forma a reduzir os resultados intermediários.
Para isto, usamos as regras de transformação definidas no livro de Elmasri e 
Navathe (2011). Através do uso destas regras, é possível otimizar e reduzir o tempo 
de consulta ao banco de dados.
Técnicas heurísticas de otimização de consulta
Tenha em mente que um SGBD pode gerar várias árvores com diferentes estruturas 
para uma mesma consulta. A consulta, por sua vez, pode ser relacionada a várias 
expressões de álgebra relacional. 
É importante que você saiba que as técnicas heurísticas buscam criar uma 
reordenação da árvore, no intuito de que a estrutura final obtida seja otimizada. 
Cada expressão corresponde a uma árvore de consulta diferente. Assim, podemos 
afirmar que há diversas técnicas que permitem alterar a representação interna de 
uma consulta, com o objetivo de melhorar sua performance. 
Saiba que a heurística usa ferramentas ou 
procedimentos que possibilitam uma descoberta. 
O termo foi utilizado pela primeira vez por Albert 
Einstein, na época com 26 anos, em uma publicação 
chamada “Heurística da geração e conversão da luz” 
em 1905 (KLEIN; KOX; SCHULMANN, 1987).
License-515154-60824-0-4
BANCO DE DADOS
Fonte: Shutterstock, 2016. 
Uma das principais regras heurísticas é aplicar as operações SELECT e PROJECT 
antes de aplicar o JOIN ou outras operações binárias. Ao escolher a opção de 
efetuar consultas unárias (como SELECT e PROJECT) antes de consultas binárias 
(como JOIN), haverá uma significativa redução do tamanho do arquivo resultante 
de uma operação binária. 
Saiba que isso ocorre porque as operações binárias em geral são uma função 
multiplicativa dos tamanhos dos arquivos de entrada. As operações SELECT e 
PROJECT são operações restritivas, isto é, reduzem o tamanho de um arquivo e, 
por isso, devem ser aplicadas antes de uma junção ou outra operação binária.
Segundo Elmasri e Navathe (2011, cap. 19, p. 474-478), para conseguir esta melhoria 
existem algumas condições que podem ajudar. Confira! 
License-515154-60824-0-4
BANCO DE DADOS
As operações que diminuem os resultados intermediários de uma consulta devem ser executadas 
em primeiro lugar.
As operações de seleção e projeção devem ser aplicadas antes de operação de junção e outras 
operações binárias.
Executar primeiramente as operações de seleção e projeção. 
Operações de seleção e junção mais restritivas também devem ser feitas em primeiro lugar, se 
possível.
Custo de execução de uma consulta
Saiba que toda execução de consulta tem um custo envolvido. Este custo, em geral, 
é uma estimativa média por conta do tempo. É isso mesmo! Acontece que o tempo 
que o SGBD gastaria para estimar a melhor estratégia possível seria muito alto.
 
Fonte: Shutterstock, 2016. 
Lembre-se de que existem várias técnicas que podem 
melhorar uma consulta. Por exemplo, executar as 
operações de seleção e projeção em primeiro lugar, 
assim como as operações que reduzam os resultados 
intermediários de uma consulta.
License-515154-60824-0-4
BANCO DE DADOS
Alguns cuidados devem ser tomados ao avaliarmos os custos de uma consulta. 
Devemos, por exemplo, fazer uma análise global dos itens descritos a seguir!
 Custo computacional - que é o quanto será gasto em processamento pela CPU.
 Quantidade e custo de memória que será necessária para utilizar a execução da consulta.
 Quantidade e custo do acesso aos discos e a memória RAM.
Custo do envio de uma consulta ao banco de dados e retorno da consulta a quem fez a solicitação.
 Tempo e custo do armazenamento dos arquivos que foram gerados na consulta.
 
 
Toda consulta tem um custo computacional seja ele 
de tempo, de memória RAM, de comunicação, de 
armazenamento entre outros. Estes custos devem 
ser levados em consideração na escolha da melhor 
estratégia de consulta.

Mais conteúdos dessa disciplina