Was ist ein Bitmap-Index?
Ein Bitmap-Index ist eine bestimmte Art von Datenstruktur. Datenstrukturen sind in der Informatik Methoden zur Anordnung und Klassifizierung von Daten, um sie möglichst effizient zu nutzen. Der Vorteil der Verwendung dieser speziellen Datenstruktur besteht darin, dass bestimmte Informationen schneller verarbeitet werden können und weniger Hardwarespeicher benötigen. Insbesondere beim Umgang mit Data Warehousing wird häufig ein Bitmap-Index verwendet.
Das Konzept des "Data Warehousing" bezieht sich auf eine Methode zur Organisation enormer Datenmengen. Wenn die Daten organisiert sind, können verschiedene Trends oder Muster gesichtet und ausgewählt werden, um sie besser zu verstehen. Dies bedeutet, dass die Daten in einer Tabelle sortiert und durch Zahlen definiert werden, die unterschiedliche Werte in den Daten darstellen. Im Allgemeinen sind Datenindizes dieses Typs effizienter, wenn die zu definierenden Daten nicht wiederholt dieselben Werte enthalten. Ein Bitmap-Index hingegen wird am besten verwendet, wenn sich die Werte wiederholen.
Diese Art der Wiederholung kann als Daten mit einer geringen Kardinalität beschrieben werden - das heißt, wenn die angezeigten Informationen nur eine sehr geringe Anzahl von Ergebnissen haben können. Daher würde derselbe Wert mehrmals wiederholt. Ein Beispiel hierfür ist, wenn Werte männlich und weiblich definieren. Es gibt nur zwei Möglichkeiten, das Geschlecht zu beschreiben, sodass jede Spalte in der Tabelle eine geringe Kardinalität aufweist und sich perfekt für die Anzeige mit einem Bitmap-Index eignet.
Obwohl die Anzeige dieser Art von Daten in einem Index ein schnelleres Lesen ermöglicht, gibt es einen Kompromiss. Die stark komprimierte Struktur ermöglicht eine einfache Lesbarkeit, gleichzeitig müssen die Daten jedoch von der CPU mehrmals verarbeitet werden, um sie zu einfacheren Begriffen zu dekomprimieren, die der Computer verstehen kann. Darüber hinaus kann das Ändern eines Bitmap-Index sehr zeitaufwändig sein. Da alles sehr systematisch und spezifisch ist, kann eine Sache, die geändert werden muss, Änderungen in der gesamten Struktur verursachen.
Ein weiterer Vorteil von Bitmap-Indizes besteht darin, dass sie nur sehr wenig Speicherplatz benötigen. Ein Datenbankindex enthält häufig mehr Komponenten als die Daten selbst und benötigt zusätzlichen Speicherplatz. Bei Verwendung des Bitmap-Index ist dies nicht der Fall. Es komprimiert die Daten in kleinere, besser lesbare Teile, wodurch Speicherplatz frei wird, der nicht benötigt wird.