Julgue os itens subsequentes, acerca dos conceitos relaciona...

Próximas questões
Com base no mesmo assunto
Q349072 Banco de Dados
Julgue os itens subsequentes, acerca dos conceitos relacionados a bancos de dados.

O acesso de dados por meio da técnica hashing, quando o volume de dados armazenados cresce muito além do espaço inicialmente alocado, resulta em queda de desempenho nas operações de recuperação de dados.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - Certo

A técnica de hashing é amplamente utilizada em bancos de dados para permitir uma recuperação rápida de dados. Ela funciona através da geração de um valor de hash a partir de um dado de entrada, usando uma função de hash. Esse valor de hash é utilizado para encontrar a localização do dado desejado no banco de dados, o que, idealmente, permite acessá-lo de forma direta e rápida.

No entanto, essa técnica pode encontrar problemas de desempenho quando o volume de dados armazenados ultrapassa o espaço inicialmente previsto para a estrutura de hash. Isso ocorre porque a função de hash pode começar a produzir muitas colisões – situações em que diferentes entradas produzem o mesmo valor de hash.

Quando há colisões, os dados correspondentes a esses valores de hash precisam ser armazenados em uma mesma localização, geralmente através de uma técnica chamada encadeamento, que cria uma lista de elementos que compartilham o mesmo valor de hash. Quanto mais dados forem adicionados, maior se tornam essas listas, e mais tempo leva para percorrê-las a fim de encontrar o dado específico desejado, afetando negativamente a performance na recuperação de dados.

Portanto, a afirmativa está correta, pois o acesso a dados por meio da técnica de hashing realmente tende a ter uma queda de desempenho quando há um crescimento considerável no volume de dados armazenados, superando o espaço inicialmente alocado.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Questão correta, pois conforme os dados vão crescendo, o tempo de recuperação também vai crescendo.
Isso acontece pois a ordem de complexidade da técnica de hashing é linear, ao contrário de outras técnicas de pesquisa/acesso que podem ter a sua curva de crescimento quadrática.

Fonte: http://www.inf.ufsc.br/~ine5384-hp/Hashing/

Eduado , só seria O(n) se você considerar que o hashing é aberto e implementado por listas lineares. Caso contrário, o hashing fechado, por exemplo, seria O(1). Como a questão menciona "quando o volume de dados armazenados cresce muito além do espaço inicialmente alocado, resulta em queda de desempenho nas operações de recuperação de dados" sugere-se que está trabalhando com um  hashing aberto. Caso fosse implementado, por exemplo, o hashing dinâmico ou extensível não seria o(n), mas o(logn). Em todos os caso o(1) para encontrar a chave acrescido do (maior) tempo de percorrer uma lista, uma árvore, ou qualquer outra estrutura de dado associada ao hashing aberto. Como a complexidade assintótica considera sempre o maior tempo, neste caso, o hashing teria complexidade linear, logaritimica, etc como afirmou o colega abaixo.




Entendo que passar a usar técnicas de hashing quando o volume de dados armazenados cresce muito além do espaço inicialmente alocado resulta em melhora do desempenho, já que o uso de hashing torna a busca mais rápida.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo