Indice bitmap
Un indice bitmap è un indice di database utilizzato per indicizzare in modo efficiente dati multidimensionali . A causa delle sue proprietà, l'indice bitmap viene utilizzato principalmente nei data warehouse .
Quindi la designazione è perché l'indice bitmap uno o più attributi sotto forma di un modello di bit ( engl. Bitmap ) memorizza. È particolarmente utile per indicizzare le colonne della tabella con una cardinalità bassa (numero di valori diversi in questa colonna). Questa è esattamente l'area in cui un indice convenzionale, implementato da un B-tree , non determina alcun aumento delle prestazioni di accesso.
esempio
Un semplice esempio: gli attributi sesso (due possibili valori, cardinalità = 2) e stato civile (cardinalità = 3) sono inseriti in un indice di un database personale . La tabella degli indici potrebbe essere simile a questa:
| Cognome | maschio | Femmina | single | sposato | divorziato |
|---|---|---|---|---|---|
| Anne | 0 | 1 | 0 | 1 | 0 |
| Emil | 1 | 0 | 0 | 0 | 1 |
| Fritz | 1 | 0 | 0 | 1 | 0 |
| Hans | 1 | 0 | 0 | 1 | 0 |
| Willi | 1 | 0 | 1 | 0 | 0 |
funzionalità
Come con tutti gli indici di database, c'è un riferimento a una voce di database (esterna) per ciascuna di queste voci.
La ricerca nella tabella dell'indice (preferibilmente memorizzata internamente) viene eseguita utilizzando semplici operazioni binarie, nell'esempio utilizzando un collegamento AND con una maschera di ricerca. Se nell'esempio si cercano persone che sono maschi e sposati, la maschera di ricerca è 10 010 (i riferimenti ai risultati portano a Fritz e Hans).
L'uso delle operazioni binarie a livello di processore offre un vantaggio in termini di velocità per le operazioni di confronto. Questa rappresentazione scambia lo sforzo di elaborazione per lo spazio di archiviazione.
Illustrazione della gamma di valori
L'assegnazione di un valore di un intervallo di valori a un vettore di bit viene eseguita scegliendo la base del vettore di bit. Se un singolo vettore di bit è assegnato in modo univoco a ciascun valore del campo di valori, la lunghezza del vettore di bit nel caso semplice corrisponde esattamente alla cardinalità del campo di valori ed è allo stesso tempo la base del vettore di bit. Un vantaggio di questa visualizzazione è la possibilità di tralasciare i singoli valori di un intervallo di valori se non compaiono nei dati disponibili. È anche possibile specificare una base non uniforme.
letteratura
- Chee-Yong Chan e Yannis Ioannidis: progettazione e valutazione dell'indice bitmap . Atti della Conferenza ACM SIGMOD 1998.