Što je bitmap indeks?

Bitmap indeks je specifična vrsta strukture podataka. U informatici, strukture podataka su metode sređivanja i klasifikacije podataka kako bi se oni iskoristili na najučinkovitiji način. Prednost korištenja ove specifične strukture podataka je u tome što se određene informacije mogu brže obraditi i što će zahtijevati manju količinu hardverske memorije. Konkretno, bitmap indeks se obično koristi kada se radi o skladištenju podataka.

Koncept “skladišta podataka” odnosi se na metodu organiziranja ogromnih količina podataka. Kada su podaci organizirani, moguće je procijediti i odabrati različite trendove ili obrasce kako bi se mogli bolje razumjeti. To znači da su podaci razvrstani u tablicu i definirani brojevima koji predstavljaju različite vrijednosti u podacima. Općenito, indeksi podataka ovog tipa su učinkovitiji kada podaci koji se definiraju ne uključuju iste vrijednosti više puta. S druge strane, bitmap indeks se najbolje koristi kada se vrijednosti ponavljaju.

Ova vrsta ponavljanja može se opisati kao podaci koji imaju nisku kardinalnost – to jest, kada informacije koje se prikazuju mogu imati samo vrlo mali broj ishoda. Stoga bi se ista vrijednost ponovila više puta. Jedan primjer za to je kada vrijednosti definiraju muško i žensko. Postoje samo dva različita načina opisivanja spola tako da bi svaki stupac u tablici imao nisku kardinalnost i bio bi savršen za prikaz s bitmap indeksom.

Iako prikazivanje ove vrste podataka u indeksu omogućuje njihovo brže čitanje, postoji kompromis. Jako zgusnuta struktura omogućuje da bude lako čitljiva, ali u isto vrijeme, CPU mora obraditi podatke više puta kako bi ih dekomprimirao u jednostavnije izraze koje računalo može razumjeti. Osim toga, izmjena indeksa bitmap može biti izuzetno dugotrajna. Budući da je sve vrlo sustavno i specifično, jedna stvar koju treba promijeniti može uzrokovati promjenu u cijeloj strukturi.

Još jedna prednost bitmap indeksa je ta što zahtijevaju vrlo malo memorije. Indeks baze podataka često ima više komponenti od samih podataka i zahtijeva dodatni prostor za pohranu. Kod korištenja bitmap indeksa to nije slučaj. Kondenzira podatke u manje dijelove, lakše za čitanje, oslobađajući prostor koji se ne mora koristiti.