B-drzewo i bitmapa

Anonim

B-drzewo i bitmapa

Istnieją dwa typy indeksów używanych w Oracle. Są to B-Tree i Bitmap. Te indeksy są używane do dostrajania wydajności, co w rezultacie sprawia, że ​​szukanie rekordów i pobieranie ich dość szybko. Funkcje indeksu tworzą wpis dla wszystkich wartości, które pojawiają się w indeksowanych kolumnach. Indeksy B-drzewa są typem używanym przez systemy OLTP i są domyślnie wdrażane głównie domyślnie. Z kolei Bitmap jest skompresowanym formatem indeksu, który w większości przypadków jest wykorzystywany w hurtowniach danych.

Bitmap można ogólnie określić jako metodę indeksowania, ale można uzyskać korzyści związane z wydajnością i oszczędnością pamięci. Jego wykorzystanie, jak wspomniano wcześniej, dotyczy głównie środowiska hurtowni danych. Powodem tego jest fakt, że aktualizacje danych nie są tak częste, a zapytania ad hoc bardziej dotyczą środowiska. W implementacji bitmapy preferowane są niskie dane kardynalne. Bitmap jest preferowanym wyborem dla elementów kolumn, które mają niskie opcje, takie jak płeć, które będą miały tylko 2 wartości i są preferowane. Dane statyczne w magazynie to również dobra cecha danych, które zostałyby znakomicie zaimplementowane przy użyciu Bitmapy. Inną cechą Bitmapy jest strumień bitów, w którym każdy bit jest zaimplementowany do wartości kolumny w jednym wierszu tabeli.

Z kolei indeks drzewa B jest indeksem tworzonym na kolumnach zawierających bardzo unikalne wartości. Indeks B-Tree ma pozycje uporządkowane, gdzie każda pozycja ma wartość klucza wyszukiwania i wskaźnik odnoszący się do danego wiersza i wartości. Jeśli serwer znajdzie pasujące wiązanie, które odnosi się do danej wartości, wskaźnik zostanie wdrożony w celu pobrania tego wiersza.

Jedną z różnic między nimi jest to, że w B-Tree występuje niska powielanie i wysoka współ-serdeczność, podczas gdy w Bitmap dzieje się odwrotnie. Bitmap ma wysokie instancje powielania i niską serdeczność. Indeks bitmap jest postrzegany jako korzystny w porównaniu z indeksem B-Tree, ponieważ ma tabele, które mają miliony wierszy, ponieważ określone kolumny mają małą liczność. Dlatego indeksy w Bitmap oferują lepszą wydajność w przeciwieństwie do indeksów B-Tree.

Drzewa B wydają się być niezwykle szybkie, gdy zbierany jest mały zestaw danych, w większości przypadków dane nie powinny przekraczać 10% rozmiaru bazy danych. Te dwa elementy współpracują ze sobą, gdy indeksowanych jest wiele różnych wartości. Jest to również unikalne dla B-Tree, że kilka indeksów może zostać połączonych w celu stworzenia bardzo wydajnego programu. Z drugiej strony bitmapa działa najlepiej, gdy są niższe indeksowane wartości dla maksymalnej wydajności.

Drzewa B są słabe, jeśli chodzi o wyszukiwanie większych podzbiorów danych, które przekraczają 10% danych podzbioru. Bitmap podejmuje to wyzwanie, aby zapewnić wysoką jakość wyników, ponieważ działa lepiej, gdy istnieje kilka różnych wartości.

Jeśli istnieje wiele indeksów w zajętej tabeli przy użyciu B-Tree, problem może powstać w wyniku nałożenia niewielkich kar podczas wstawiania indeksowanych danych lub w przypadku konieczności wstawiania i aktualizowania zindeksowanych danych. Nie stanowi to problemu z bitmapą, ponieważ jest bardzo wydajna w wstawianiu i aktualizowaniu wartości, niezależnie od rozmiaru, o który chodzi.

streszczenie

B-Tree i Bitmap to dwa typy indeksów używanych w Oracle Bitmap to metoda indeksowania, oferująca korzyści związane z wydajnością i oszczędność miejsca Indeks B-drzewa to indeks tworzony na kolumnach zawierających bardzo unikalne wartości B-Tree działa najlepiej z wieloma różnymi indeksowanymi wartościami Bitmap działa najlepiej z wieloma różnymi indeksowanymi wartościami