Kas yra bitmap indeksas?

Bitmap indeksas yra tam tikros rūšies duomenų struktūra. Informatikos moksle duomenų struktūros yra duomenų išdėstymo ir klasifikavimo metodai, siekiant juos panaudoti veiksmingiausiu būdu. Šios konkrečios duomenų struktūros naudojimo pranašumas yra tas, kad tam tikrą informaciją galima apdoroti greičiau ir jai reikės mažesnės aparatinės įrangos atminties. Visų pirma, bitmap indeksas dažniausiai naudojamas sprendžiant duomenų saugyklą.

„Duomenų saugojimo“ sąvoka reiškia milžiniško duomenų kiekio organizavimo metodą. Sutvarkius duomenis galima atsijoti ir išskirti įvairias tendencijas ar modelius, kad būtų galima geriau juos suprasti. Tai reiškia, kad duomenys surūšiuojami į lentelę ir apibrėžiami skaičiais, reiškiančiais skirtingas duomenų reikšmes. Paprastai tokio tipo duomenų indeksai yra efektyvesni, kai apibrėžiami duomenys pakartotinai neapima tų pačių reikšmių. Kita vertus, bitmap indeksą geriausia naudoti, kai reikšmės kartojasi.

Tokį pasikartojimą galima apibūdinti kaip mažo kardinalumo duomenis, ty kai rodoma informacija gali turėti tik labai nedidelį skaičių rezultatų. Todėl ta pati reikšmė būtų kartojama kelis kartus. Vienas iš pavyzdžių yra tada, kai vertybės apibrėžia vyrą ir moterį. Yra tik du skirtingi lyties apibūdinimo būdai, todėl kiekvienas lentelės stulpelis turi mažą kardinalumą ir puikiai tinka rodyti su bitmap indeksu.

Nors tokio tipo duomenų rodymas indekse leidžia juos greičiau nuskaityti, yra kompromisas. Labai sutrumpinta struktūra leidžia jį lengvai perskaityti, tačiau tuo pačiu metu CPU turi apdoroti duomenis kelis kartus, kad būtų galima juos išskleisti į paprastesnes, kompiuteriui suprantamas sąvokas. Be to, bitmap indekso keitimas gali užtrukti labai daug laiko. Kadangi viskas yra labai sisteminga ir konkretu, vienas dalykas, kurį reikia pakeisti, gali sukelti pokyčius visoje struktūroje.

Kitas bitmap indeksų pranašumas yra tai, kad jiems reikia labai mažai atminties. Dažnai duomenų bazės indeksas turi daugiau komponentų nei patys duomenys, todėl jai saugoti reikia papildomos vietos. Naudojant bitmap indeksą, taip nėra. Jis sutankina duomenis į mažesnes, lengviau skaitomas dalis, atlaisvindamas vietos, kurios nereikia naudoti.