Un indice bitmap è un tipo specifico di struttura dati. In informatica, le strutture dati sono metodi per organizzare e classificare i dati al fine di utilizzarli nel modo più efficiente. Il vantaggio dell’utilizzo di questa particolare struttura di dati è che determinate informazioni possono essere elaborate più rapidamente e richiedono una minore quantità di memoria hardware. In particolare, un indice bitmap viene comunemente utilizzato quando si ha a che fare con il data warehousing.
Il concetto di “data warehousing” si riferisce a un metodo di organizzazione di enormi quantità di dati. Quando i dati sono organizzati, è possibile vagliare e individuare varie tendenze o modelli in modo che possano essere compresi meglio. Ciò significa che i dati vengono ordinati in una tabella e definiti da numeri che rappresentano valori diversi nei dati. In genere, gli indici di dati di questo tipo sono più efficienti quando i dati definiti non includono ripetutamente gli stessi valori. Un indice bitmap, d’altra parte, è meglio utilizzato quando i valori si ripetono.
Questo tipo di ripetizione può essere descritto come dati con una cardinalità bassa, ovvero quando le informazioni visualizzate possono avere solo un numero molto ridotto di risultati. Pertanto, lo stesso valore verrebbe ripetuto più volte. Un esempio di ciò è quando i valori definiscono maschile e femminile. Esistono solo due modi diversi per descrivere il genere, quindi ogni colonna nella tabella avrebbe una cardinalità bassa e sarebbe perfetta da visualizzare con un indice bitmap.
Sebbene la visualizzazione di questo tipo di dati in un indice consenta di leggerli più rapidamente, esiste un compromesso. La struttura molto condensata gli consente di essere facilmente leggibile ma allo stesso tempo i dati devono essere elaborati dalla CPU più volte per decomprimerli in termini più semplici che il computer possa comprendere. Inoltre, la modifica di un indice bitmap può richiedere molto tempo. Poiché tutto è molto sistematico e specifico, una cosa che deve essere cambiata può causare cambiamenti nell’intera struttura.
Un altro vantaggio degli indici bitmap è che richiedono pochissima memoria. Spesso, un indice di database ha più componenti dei dati stessi e richiede spazio aggiuntivo per essere archiviato. Quando si utilizza l’indice bitmap, questo non è il caso. Condensa i dati in parti più piccole e più facili da leggere, liberando spazio che non deve essere utilizzato.