Diferença entre árvore B e bitmap

Árvore B e Bitmap

Existem dois tipos de índices usados ​​no Oracle. Estes são B-Tree e Bitmap. Esses índices são usados ​​para ajuste de desempenho, o que, na verdade, faz com que os registros sejam procurados e recuperados rapidamente. As funções de índice criam uma entrada para todos os valores que aparecem nas colunas indexadas. Os índices B-Tree são do tipo usado pelos sistemas OLTP e são implementados principalmente por padrão. O bitmap, por outro lado, vem como um formato de índice altamente compactado que, na maioria dos casos, é empregado em data warehouses.

Em geral, o bitmap pode ser referido como um método de indexação, no qual os benefícios de desempenho e a economia de armazenamento podem ser buscados. Seu uso, como afirmado anteriormente, é principalmente no ambiente de data warehousing. A razão para isso é que as atualizações de dados não são tão frequentes e as consultas ad hoc são mais no ambiente. Na implementação do Bitmap, dados cardinais baixos são preferidos. O bitmap é a opção preferida para itens de coluna que têm opções baixas, como sexo, que terão apenas 2 valores e são os preferidos. Os dados estáticos no armazém também são uma boa característica dos dados que seriam excelentemente implementados usando o Bitmap. Outra característica do Bitmap é um fluxo de bits em que cada bit é implementado em um valor de coluna em uma única linha de uma tabela.

Um índice de árvore B, por outro lado, é um índice criado em colunas que contêm valores muito exclusivos. O índice B-Tree possui entradas ordenadas em que cada entrada possui um valor de chave de pesquisa e um ponteiro que se refere a uma determinada linha e valor. Caso um servidor encontre uma restrição correspondente relacionada ao valor em questão, o ponteiro é implantado para buscar a linha.

Uma das diferenças entre os dois é que há baixa duplicação e uma alta cordialidade no B-Tree, enquanto o oposto acontece no Bitmap. O bitmap possui instâncias de duplicação alta e baixa cordialidade. O índice Bitmap é considerado vantajoso sobre o índice B-Tree, pois possui tabelas com milhões de linhas, pois as colunas especificadas têm baixa cardinalidade. Os índices no Bitmap, portanto, oferecem um melhor desempenho em oposição aos índices B-Tree.

As árvores B parecem ser extremamente rápidas quando um pequeno conjunto de dados é coletado; na maioria dos casos, os dados não devem exceder 10% do tamanho do banco de dados. Esses dois trabalham juntos quando há muitos valores distintos indexados. Também é exclusivo da B-Tree que vários índices podem ser mesclados para produzir um programa muito eficiente. O bitmap, por outro lado, tende a funcionar melhor quando há valores indexados mais baixos para máxima eficiência.

As árvores B são ruins quando se trata de procurar subconjuntos de dados maiores que excedam 10% dos dados do subconjunto. O Bitmap aceita esse desafio para fornecer resultados de alta qualidade, pois funciona melhor quando há poucos valores distintos.

Se houver muitos índices em uma tabela ocupada usando a Árvore B, um problema pode surgir como resultado de pequenas penalidades impostas ao inserir dados indexados ou no caso de você precisar inserir e atualizar dados indexados. Isso não é um problema com o Bitmap, pois é muito eficiente na inserção e atualização de valores, qualquer que seja o tamanho em questão..

Sumário

B-Tree e Bitmap são dois tipos de índices usados ​​no Oracle
Bitmap é um método de indexação, oferecendo benefícios de desempenho e economia de armazenamento
O índice B-Tree é um índice criado em colunas que contêm valores muito exclusivos
O B-Tree funciona melhor com muitos valores indexados distintos
O bitmap funciona melhor com muitos valores indexados distintos