Razlika između B-stabla i bitmape

B-drvo i bitmap

Postoje dvije vrste indeksa koji se koriste u Oracleu. To su B-Tree i Bitmap. Ovi indeksi koriste se za podešavanje performansi, što zapravo čini traženje zapisa i njihovo brzo preuzimanje. Funkcije indeksa stvaraju unos za sve vrijednosti koje se pojavljuju u indeksiranim stupcima. B-Tree indeksi su vrste koje koriste OLTP sustavi i koji se uglavnom provode prema zadanim postavkama. Bitmap, s druge strane, dolazi kao visoko komprimirani indeksni format koji se, u većini slučajeva, koristi u skladištima podataka.

Bitmap se općenito može nazvati metodom indeksiranja, premda se mogu tražiti prednosti performansi i ušteda prostora. Njegova upotreba, kao što je ranije navedeno, uglavnom se nalazi u okruženju čuvanja podataka. Razlog za to je zato što ažuriranja podataka nisu toliko česta, a ad hoc upiti su više u okruženju. U provedbi Bitmapa preferiraju se niski kardinalni podaci. Bitmap je preferirani izbor za stavke stupaca koji imaju male mogućnosti, poput spola, koji će imati samo dvije vrijednosti i koji su preferirani. Statički podaci u skladištu su također dobra karakteristika podataka koji bi se izvrsno implementirali pomoću Bitmapa. Još jedna karakteristika Bitmapa je niz bitova pomoću kojih se svaki bit implementira na vrijednost stupca u jednom retku tablice.

Indeks B-stabla s druge strane je indeks kreiran na stupovima koji sadrže vrlo jedinstvene vrijednosti. B-Tree indeks ima poredane unose gdje svaki unos ima vrijednost ključa za pretraživanje i pokazivač koji se odnosi na dani redak i vrijednost. U slučaju da poslužitelj pronađe podudaranje ograničenja koje se odnosi na dotičnu vrijednost, pokazivač se raspoređuje za dohvaćanje retka.

Jedna od razlika između to dvoje je da u B-Treeu postoji malo umnožavanja i visoke ko-srdačnosti, dok se u Bitmap-u događa suprotno. Bitmap ima visoke slučajeve umnožavanja i malu srdačnost. Pokazalo se da je Bitmap indeks povoljan nad B-Tree indeksom, jer ima tablice koje imaju milijune redaka, jer navedeni stupci imaju nisku kardinalnost. Indeksi, stoga, nude bolju izvedbu za razliku od B-Tree indeksa.

Čini se da su B-drveće izuzetno brzo kad se prikupi mali skup podataka, u većini slučajeva podaci ne bi smjeli prelaziti 10% veličine baze podataka. Ovo dvoje djeluje zajedno kad je puno različitih vrijednosti kojih je indeksirano. Također je B-Tree jedinstveno da se nekoliko indeksa može spojiti da bi se stvorio vrlo učinkovit program. S druge strane, bitmap najbolje radi kada postoje niže indeksirane vrijednosti za maksimalnu učinkovitost.

B-stabla su loša kada je u pitanju traženje većih podskupina podataka koji prelaze 10% podataka o podskupini. Bitmap prihvaća ovaj izazov za postizanje visokokvalitetnih rezultata, jer djeluje bolje kad ima malo različitih vrijednosti.

Ako je u indeksu zauzeto puno indeksa koji koriste B-Tree, problem može nastati kao rezultat malih kazni izrečenih prilikom umetanja indeksiranih podataka ili u slučaju da trebate umetati i ažurirati indeksirane podatke. Ovo nije problem s Bitmap-om, jer je vrlo učinkovit umetanju i ažuriranju vrijednosti, bez obzira na veličinu u pitanju..

Sažetak

B-Tree i Bitmap dvije su vrste indeksa koji se koriste u Oracleu
Bitmap je metoda indeksiranja, nudeći prednosti performansi i uštedu prostora
B-Tree indeks je indeks koji se stvara na stupovima koji sadrže vrlo jedinstvene vrijednosti
B-Tree najbolje funkcionira s mnogim različitim indeksiranim vrijednostima
Bitmap najbolje radi s mnogim različitim indeksiranim vrijednostima