Diferencia entre b-tree y mapa de bits

Diferencia entre b-tree y mapa de bits

Árbol b y mapa de bits

Hay dos tipos de índices utilizados en Oracle. Estos son b-tree y mapa de bits. Estos índices se utilizan para el ajuste de rendimiento, lo que en efecto hace que buscar discos y recuperarlos bastante rápido. Las funciones de índice crean una entrada para todos los valores que aparecen en las columnas indexadas. Los índices B-tree son el tipo que utilizan los sistemas OLTP y que se implementan principalmente por defecto. Bitmap, por otro lado, viene como un formato de índice altamente comprimido que, en la mayoría de los casos, se emplea en los almacenes de datos.

El mapa de bits, en general, se puede referir como un método de indexación, aunque se pueden buscar beneficios de rendimiento y ahorros de almacenamiento. Su uso, como se dijo anteriormente, se encuentra principalmente en el entorno de almacenamiento de datos. La razón de esto es porque las actualizaciones de los datos no son tan frecuentes y las consultas ad hoc están más en el entorno. En la implementación de BitMap, se prefieren datos cardinales bajos. Bitmap es la opción preferida para elementos de columna que tienen opciones bajas como el género, que solo tendrán 2 valores y se prefieren. Los datos estáticos en el almacén también son una buena característica de los datos que se implementarían excelentemente utilizando Bitmap. Otra característica de Bitmap es un flujo de bits por el cual cada bit se implementa en un valor de columna en una sola fila de una tabla.

Un índice de árbol B, por otro lado, es un índice que se crea en columnas que contienen valores muy únicos. El índice B-Tree tiene entradas ordenadas donde cada entrada tiene un valor de clave de búsqueda y un puntero que se refiere a una fila y valor determinados. En el caso de que un servidor encuentre una restricción coincidente que se relaciona con el valor en cuestión, el puntero se implementa para obtener la fila.

Una de las diferencias entre los dos es que existe una baja duplicación y una alta coordialidad en el árbol B, mientras que lo contrario ocurre en el mapa de bits. Bitmap tiene altas instancias de duplicación y baja cordialidad. El índice de mapa de bits es ventajoso sobre el índice de árbol B, ya que tiene tablas que tienen millones de filas, ya que las columnas especificadas tienen baja cardinalidad. Los índices en bitmap, por lo tanto, ofrecen un mejor rendimiento en lugar de los índices de árbol B.

Los árboles B parecen ser extremadamente rápidos cuando se recopila un pequeño conjunto de datos, en la mayoría de los casos, los datos no deberían exceder el 10% del tamaño de la base de datos. Estos dos trabajan juntos cuando hay muchos valores distintos de los cuales están indexados. También es exclusivo del árbol B que se pueden fusionar varios índices para producir un programa muy eficiente. Bitmap, por otro lado, tiende a funcionar mejor cuando hay valores indexados más bajos para la máxima eficiencia.

Los árboles B son pobres cuando se trata de buscar subconjuntos de datos más grandes que superen el 10% de los datos del subconjunto. Bitmap asume este desafío para ofrecer resultados de alta calidad, ya que funciona mejor cuando hay pocos valores distintos.

Si hay muchos índices en una tabla ocupada utilizando el árbol B, puede surgir un problema como resultado de pequeñas sanciones impuestas al insertar datos indexados o en el caso de insertar y actualizar datos indexados. Este no es un problema con Bitmap, ya que es muy eficiente para insertar y actualizar valores, sea cual sea el tamaño que esté en cuestión.

Resumen

B-tree y bitmap son dos tipos de índices utilizados en Oracle
Bitmap es un método de indexación, ofreciendo beneficios de rendimiento y ahorros de almacenamiento
El índice B-tree es un índice que se crea en columnas que contienen valores muy únicos
B-tree funciona mejor con muchos valores indexados distintos
Bitmap funciona mejor con muchos valores indexados distintos