Différence entre B-Tree et Bitmap

B-Tree et Bitmap

Il existe deux types d'index utilisés dans Oracle. Ce sont B-Tree et Bitmap. Ces index sont utilisés pour l'optimisation des performances, ce qui rend la recherche d'enregistrements et leur récupération assez rapide. Les fonctions d'index créent une entrée pour toutes les valeurs qui apparaissent dans les colonnes indexées. Les index B-Tree sont ceux utilisés par les systèmes OLTP et qui sont principalement implémentés par défaut. D'autre part, Bitmap est un format d'index hautement compressé qui, dans la plupart des cas, est utilisé dans les entrepôts de données.

Bitmap peut généralement être considéré comme une méthode d'indexation bien que les avantages de performance et les économies de stockage peuvent être recherchés. Son utilisation, comme indiqué précédemment, est principalement dans l'environnement d'entreposage de données. La raison en est que les mises à jour des données ne sont pas aussi fréquentes et que les requêtes ad hoc sont plus présentes dans l'environnement. Dans l'implémentation de Bitmap, les données cardinales basses sont préférées. Bitmap est le choix préféré pour les éléments de colonne qui ont des options basses telles que le genre, qui auront seulement 2 valeurs et qui sont préférées. Les données statiques dans l'entrepôt sont également une bonne caractéristique des données qui seraient très bien implémentées en utilisant Bitmap. Une autre caractéristique de Bitmap est un flux de bits par lequel chaque bit est implémenté à une valeur de colonne dans une seule ligne d'une table.

Un index B-tree, en revanche, est un index créé sur des colonnes contenant des valeurs uniques. L'index B-Tree a des entrées ordonnées où chaque entrée a une valeur de clé de recherche et un pointeur qui fait référence à une ligne et à une valeur données. Dans le cas où un serveur trouve une contrainte correspondante liée à la valeur en question, le pointeur est déployé pour récupérer la ligne.

L'une des différences entre les deux est qu'il existe une faible duplication et une co-cordialité élevée dans B-Tree alors que le contraire se produit dans Bitmap. Bitmap a des instances de duplication élevées et une faible cordialité. L'index Bitmap est considéré comme avantageux par rapport à l'index B-Tree, car il a des tables qui ont des millions de lignes car les colonnes spécifiées ont une faible cardinalité. Les index dans Bitmap, par conséquent, offrent une meilleure performance par opposition aux index B-Tree.

Les arbres B semblent extrêmement rapides lorsqu'un petit ensemble de données est collecté. Dans la plupart des cas, les données ne doivent pas dépasser 10% de la taille de la base de données. Ces deux travaillent ensemble quand il y a beaucoup de valeurs distinctes qui sont indexées. Il est également unique à B-Tree que plusieurs index puissent être fusionnés pour produire un programme très efficace. D'autre part, Bitmap a tendance à fonctionner mieux lorsqu'il existe des valeurs indexées inférieures pour une efficacité maximale.

Les arbres B sont pauvres lorsqu'il s'agit de rechercher des sous-ensembles de données plus importants qui dépassent 10% des données du sous-ensemble.Bitmap relève ce défi pour fournir des résultats de haute qualité, car il fonctionne mieux lorsqu'il y a peu de valeurs distinctes.

S'il existe plusieurs index dans une table occupée à l'aide de B-Tree, un problème peut survenir suite aux petites pénalités imposées lors de l'REPLACEion de données indexées ou au cas où vous devez insérer et mettre à jour des données indexées. Ce n'est pas un problème avec Bitmap, car il est très efficace pour insérer et mettre à jour des valeurs, quelle que soit la taille en question.

Résumé

B-Tree et Bitmap sont deux types d'index utilisés dans Oracle
Bitmap est une méthode d'indexation, offrant des avantages de performance et des économies de stockage
B-Tree index est un index créé sur colonnes qui contiennent des valeurs très uniques
B-Tree fonctionne mieux avec de nombreuses valeurs indexées distinctes
Bitmap fonctionne mieux avec de nombreuses valeurs indexées distinctes