Różnica między drzewem B a bitmapą

Różnica między drzewem B a bitmapą

B-drzewo i mapa bitowa

Istnieją dwa rodzaje indeksów używanych w Oracle. To są B-drzewo i bitmapa. Indeksy te są używane do dostrajania wydajności, co w efekcie 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 to typ używany przez systemy OLTP i które są głównie wdrażane domyślnie. Bitmap z drugiej strony jest wysoce ściśnięty format indeksu, który w większości przypadków jest stosowany w hurtowniach danych.

Bitmap można ogólnie określać jako metodę indeksowania, których korzyści z wydajności i oszczędności do przechowywania można szukać. Jego zastosowanie, jak wcześniej stwierdzono, dotyczy głównie środowiska magazynowania danych. Powodem tego jest to, że aktualizacje danych nie są tak częste, a zapytania ad hoc są bardziej w środowisku. Przy wdrażaniu Bitmap preferowane są niskie dane kardynalne. Bitmap jest preferowanym wyborem dla elementów kolumnowych, 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 są również dobrą cechą danych, które byłyby doskonale zaimplementowane za pomocą Bitmap. Kolejną cechą bitmapów jest strumień bitów, w którym każdy bit jest zaimplementowany do wartości kolumny w jednym wierszu tabeli.

Z drugiej strony indeks B-Tree to indeks tworzony na kolumnach zawierających bardzo unikalne wartości. Wskaźnik B-Tree ma uporządkowane wpisy, w których każdy wpis ma wartość klucza wyszukiwania i wskaźnik, który odnosi się do danego wiersza i wartości. W przypadku, gdy serwer znajdzie pasujące ograniczenie, które odnosi się do danej wartości, wskaźnik jest wdrażany w celu pobrania wiersza.

Jedną z różnic między nimi jest to, że istnieje niska duplikacja i wysoka koordycja w B-drzewa, podczas gdy w Bitmapie dzieje się odwrotnie. Bitmap ma wysokie instancje powielania i niską serdeczność. Wskaźnik bitmapa jest postrzegany jako korzystny w porównaniu z indeksem B-Tree, ponieważ ma tabele, które mają miliony wierszy, ponieważ określone kolumny mają niską kardynanie. Dlatego indeksy w bitmapie oferują lepszą wydajność niż indeksy B-Tree.

B-drzewa wydają się być niezwykle szybkie, gdy zebrany jest mały zestaw danych, w większości przypadków dane nie powinny przekraczać 10% wielkości bazy danych. Te dwa współpracują ze sobą, gdy istnieje wiele odrębnych wartości, które są indeksowane. Jest również unikalne dla B-drzewa, że ​​kilka indeksów można scolić w celu uzyskania bardzo wydajnego programu. Z drugiej strony Bitmap ma tendencję do najlepiej działającej, gdy istnieją niższe indeksowane wartości dla maksymalnej wydajności.

D-drzewa są słabe, jeśli chodzi o poszukiwanie większych podzbiorów danych, które przekraczają 10% danych podzbioru. Bitmap podejmuje to wyzwanie, aby zapewnić wysokiej jakości wyniki, ponieważ działa lepiej, gdy istnieje kilka odrębnych wartości.

Jeśli istnieje wiele indeksów w zajętej tabeli za pomocą B-Tree, problem może pojawić się w wyniku niewielkich kar nałożonych podczas wstawiania danych indeksowanych lub w przypadku wkładania i aktualizacji indeksowanych danych. Nie stanowi to problemu z Bitmap, ponieważ jest bardzo wydajny w wstawianiu i aktualizowaniu wartości, niezależnie od tego, co jest o tym rozmiar.

Streszczenie

B-drzewo i bitmap to dwa rodzaje indeksów używanych w Oracle
Bitmap to metoda indeksowania, oferowania korzyści wydajnościowych i oszczędności przechowywania
Indeks B-Tree to indeks tworzony na kolumnach zawierających bardzo unikalne wartości
B-drzewo działa najlepiej z wieloma odrębnymi wartościami indeksowanymi
Bitmap działa najlepiej z wieloma odrębnymi wartościami indeksowanymi