Rozdiel medzi stromom B a bitmapou

B-strom a bitmapa

V systéme Oracle sa používajú dva typy indexov. Sú to B-strom a bitmapa. Tieto indexy sa používajú na ladenie výkonu, čo v skutočnosti umožňuje rýchle vyhľadávanie a vyhľadávanie záznamov. Funkcie indexu vytvoria položku pre všetky hodnoty, ktoré sa objavia v indexovaných stĺpcoch. Indexy B-Tree sú typom, ktorý používajú systémy OLTP a ktorý sa implementuje hlavne v predvolenom nastavení. Na druhej strane bitmapa je vysoko komprimovaný indexový formát, ktorý sa vo väčšine prípadov používa v dátových skladoch.

Bitmapu je možné vo všeobecnosti označovať ako metódu indexovania, aj keď je možné hľadať výhody výkonu a úspory úložiska. Ako už bolo uvedené, jeho použitie je hlavne v prostredí skladovania údajov. Dôvodom je to, že aktualizácie údajov nie sú také časté a dotazy ad hoc sú viac v prostredí. Pri implementácii bitmapy sa uprednostňujú údaje s nízkou kardinálnosťou. Rastrový obrázok je preferovanou voľbou pre položky stĺpca, ktoré majú nízke možnosti, napríklad pohlavie, ktoré budú mať iba 2 hodnoty a sú uprednostňované. Statické údaje v sklade sú tiež dobrou charakteristikou údajov, ktoré by sa výborne implementovali pomocou bitmapy. Ďalšou charakteristikou bitmapy je tok bitov, pričom každý bit je implementovaný na hodnotu stĺpca v jednom riadku tabuľky.

Na druhej strane index B-stromu je index, ktorý sa vytvára v stĺpcoch, ktoré obsahujú veľmi jedinečné hodnoty. Index B-Tree má zoradené položky, kde každá položka má hodnotu kľúča vyhľadávania a ukazovateľ, ktorý odkazuje na daný riadok a hodnotu. V prípade, že server nájde zodpovedajúce obmedzenie, ktoré sa vzťahuje na príslušnú hodnotu, kurzor sa nasadí na načítanie riadku.

Jedným z rozdielov medzi týmito dvoma je, že v B-strome je nízka duplikácia a vysoká ko-srdečnosť, zatiaľ čo v Bitmape je opak. Bitmap má vysoké prípady duplikácie a nízku srdečnosť. Bitmapový index sa javí ako výhodný v porovnaní s indexom B-Tree, pretože obsahuje tabuľky, ktoré majú milióny riadkov, pretože zadané stĺpce majú nízku mohutnosť. Indexy v bitmape preto ponúkajú lepší výkon v porovnaní s indexmi B-Tree.

B-stromy sa zdajú byť extrémne rýchle, keď sa zhromažďuje malý súbor údajov, vo väčšine prípadov by údaje nemali prekročiť 10% veľkosti databázy. Tieto dve spolupracujú, keď existuje veľa rôznych hodnôt, ktoré sú indexované. Pre B-Tree je tiež jedinečné, že je možné zlúčiť niekoľko indexov, aby sa vytvoril veľmi efektívny program. Na druhej strane rastrový obrázok má tendenciu fungovať najlepšie, keď existujú nižšie indexované hodnoty pre maximálnu účinnosť.

B-stromy sú chudobné, pokiaľ ide o hľadanie väčších dátových podmnožín, ktoré presahujú 10% údajov podmnožiny. Rastrový obrázok preberá túto výzvu, aby priniesol vysoko kvalitné výsledky, pretože funguje lepšie, keď existuje niekoľko rôznych hodnôt.

Ak je v rušnej tabuľke pomocou B-stromu veľa indexov, problém môže nastať v dôsledku malých sankcií uložených pri vkladaní indexovaných údajov alebo v prípade, že je potrebné vkladať a aktualizovať indexované údaje. Toto nie je problém s bitmapou, pretože je veľmi efektívny pri vkladaní a aktualizácii hodnôt bez ohľadu na veľkosť, o ktorú ide.

zhrnutie

B-Tree a Bitmap sú dva typy indexov používaných v Oracle
Bitmap je metóda indexovania, ktorá ponúka výhody výkonu a úspory úložného priestoru
Index B-Tree je index, ktorý sa vytvára v stĺpcoch, ktoré obsahujú veľmi jedinečné hodnoty
B-Tree funguje najlepšie s mnohými rôznymi indexovanými hodnotami
Rastrový obrázok funguje najlepšie s mnohými rôznymi indexovanými hodnotami