Hvad er et bitmap-indeks?
Et bitmap-indeks er en bestemt type datastruktur. I datalogi er datastrukturer metoder til at arrangere og klassificere data for at bruge dem på den mest effektive måde. Fordelen ved at bruge denne bestemte datastruktur er, at visse oplysninger kan behandles hurtigere og kræver en mindre mængde hardwarehukommelse. Især bruges et bitmap-indeks ofte, når det drejer sig om datalagring.
Begrebet "datalagring" henviser til en metode til at organisere enorme mængder data. Når dataene er organiseret, er det muligt at sile igennem og vælge forskellige tendenser eller mønstre, så de kan forstås bedre. Dette betyder, at dataene sorteres i en tabel og defineres af tal, der repræsenterer forskellige værdier i dataene. Generelt er dataindekser af denne type mere effektive, når de data, der defineres, ikke inkluderer de samme værdier gentagne gange. Et bitmap-indeks bruges derimod bedst, når værdier gentages.
Denne form for gentagelse kan beskrives som data, der har en lav kardinalitet - det vil sige, når de oplysninger, der vises, kun kan have et meget lille antal resultater. Derfor ville den samme værdi gentages flere gange. Et eksempel på dette er, når værdier definerer mand og kvinde. Der er kun to forskellige måder at beskrive køn på, så hver kolonne i tabellen vil have lav kardinalitet og være perfekt til at vises med et bitmap-indeks.
Selvom visning af denne type data i et indeks gør det muligt at læse dem hurtigere, er der en afvejning. Den stærkt kondenserede struktur tillader, at den er let læselig, men på samme tid skal data behandles af CPU'en flere gange for at dekomprimere dem til enklere udtryk, som computeren kan forstå. Derudover kan ændring af et bitmap-indeks være ekstremt tidskrævende. Da alt er meget systematisk og specifikt, kan en ting, der skal ændres, forårsage ændringer gennem hele strukturen.
En anden fordel ved bitmap-indekser er, at de kræver meget lidt hukommelse. Ofte har et databaseindeks flere komponenter end selve dataene og kræver yderligere plads, der skal gemmes. Når du bruger bitmap-indekset, er dette ikke tilfældet. Det kondenserer dataene til mindre, lettere at læse dele, hvilket frigør plads, der ikke behøver at blive brugt.