Razlika med B-Tree in Bitmap

B-Tree in Bitmap

Oracle uporablja dve vrsti indeksov. To sta B-Tree in Bitmap. Ti indeksi se uporabljajo za uglaševanje zmogljivosti, kar dejansko omogoča iskanje zapisov in njihovo hitro iskanje. Funkcije indeksa ustvarijo vnos za vse vrednosti, ki se pojavijo v indeksiranih stolpcih. Indeksi B-Tree so tisti, ki jih uporabljajo OLTP sistemi in se večinoma izvajajo privzeto. Po drugi strani je Bitmap na voljo kot visoko stisnjen indeksni format, ki je v večini primerov uporabljen v podatkovnih skladiščih.

Bitmap lahko na splošno označimo kot metodo indeksiranja, čeprav lahko uporabimo uspešnost in prihranke pri shranjevanju. Kot je bilo že omenjeno, se njegova uporaba uporablja predvsem v okolju shranjevanja podatkov. Razlog za to je, ker posodobitve podatkov niso tako pogoste in so ad hoc poizvedbe bolj v okolju. Pri izvajanju Bitmap-a dajemo prednost nizkim kardinalnim podatkom. Bitmap je najprimernejša izbira za elemente stolpcev, ki imajo nizke možnosti, na primer spol, ki bodo imele samo 2 vrednosti in so prednostne. Statični podatki v skladišču so tudi dobra lastnost podatkov, ki bi se odlično izvajali s pomočjo Bitmapa. Druga značilnost Bitmapa je tok bitov, s katerim se vsak bit implementira v vrednost stolpca v eni vrstici tabele.

Indeks B-dreves je na drugi strani indeks, ustvarjen na stolpcih, ki vsebujejo zelo edinstvene vrednosti. Indeks B-Tree ima urejene vnose, kjer ima vsak vnos vrednost iskalnega ključa in kazalec, ki se nanaša na dano vrstico in vrednost. V primeru, da strežnik najde ujemajočo omejitev, ki se nanaša na zadevno vrednost, se kazalec uporabi za pridobitev vrstice.

Ena od razlik med obema je, da sta v B-Treeju majhna podvajanja in velika sočutnost, medtem ko se pri Bitmapu dogaja ravno obratno. Bitmap ima visoke primere podvajanja in majhno prisrčnost. Kazalo je, da je indeks Bitmap prednost pred indeksom B-Tree, saj ima tabele z milijon vrstic, ker imajo navedeni stolpci nizko kardinalnost. Indeksi v Bitmap-u torej ponujajo boljše delovanje v primerjavi z indeksi B-Tree.

Zdi se, da so B-drevesa izjemno hitra, če se zbere majhen nabor podatkov, v večini primerov podatki ne smejo presegati 10% velikosti baze podatkov. Ta dva delujeta skupaj, kadar je veliko različnih vrednosti, ki so indeksirane. Za B-Tree je edinstveno tudi to, da je mogoče sestaviti več indeksov, da dobimo zelo učinkovit program. Po drugi strani pa bitmap najbolje deluje, če obstajajo nižje indeksirane vrednosti za največjo učinkovitost.

Drevesa B so slaba, ko gre za iskanje večjih podnabora podatkov, ki presegajo 10% podatkov o podskupini. Bitmap sprejema ta izziv in prinaša kakovostne rezultate, saj deluje bolje, ko je malo različnih vrednosti.

Če je v zasedeni tabeli z uporabo B-Tree veliko indeksov, lahko nastane težava zaradi majhnih kazni, ki so bile naložene pri vstavljanju indeksiranih podatkov ali v primeru, da morate vstaviti in posodabljati indeksirane podatke. Pri Bitmapu to ni problem, saj je zelo učinkovito pri vstavljanju in posodabljanju vrednosti, ne glede na velikost, o kateri govorimo..

Povzetek

B-Tree in Bitmap sta dve vrsti indeksov, ki se uporabljajo v Oracleu
Bitmap je metoda indeksiranja, ki ponuja prednosti zmogljivosti in prihranke pri shranjevanju
B-Tree indeks je indeks, ustvarjen na stolpcih, ki vsebujejo zelo edinstvene vrednosti
B-Tree najbolje deluje z veliko različnimi indeksiranimi vrednostmi
Bitmap najbolje deluje z veliko različnimi indeksiranimi vrednostmi