Różnica między drzewem B a bitmapą
- 2429
- 218
- Emilia Rudziński
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
- « Różnica między podróżami przestrzennymi z zimną wojną a nowoczesnymi podróżami kosmicznymi
- Różnica między OEM a oknami detalicznymi »