Różnica między HDFS a HBase
HDFS (Hadoop Distributed File System) HDFS pozwala przechowywać ogromne ilości danych w sposób rozproszony i nadmiarowy, który działa na sprzęcie towarowym. HBase (baza danych Hadoop) to baza danych NoSQL, która działa na szczycie klastra Hadoop
Rzućmy okiem na komponenty i architekturę odpowiednio HDFS i HBase:
Składniki HDFS
- NameNode
- DataNode
NameNode: NameNode można uznać za system główny. Utrzymuje drzewo systemu plików i metadane dla wszystkich plików i katalogów obecnych w systemie. Dwa pliki „Obraz przestrzeni nazw” i „dziennik edycji” służą do przechowywania informacji o metadanych. Namenode ma wiedzę o wszystkich węzłach danych zawierających bloki danych dla danego pliku, jednak nie przechowuje w sposób ciągły lokalizacji bloków. Informacje te są odtwarzane za każdym razem z węzłów danych podczas uruchamiania systemu.
DataNode: DataNodes to urządzenia podrzędne, które znajdują się na każdym komputerze w klastrze i zapewniają rzeczywistą pamięć masową. Odpowiada za obsługę, odczytywanie i zapisywanie żądań dla klientów.
Architektura HDFS: -
Składniki HBase: -
- Hbase master
- Serwer regionalny
- Region
- Zookeeper
HMaster : Jest to serwer Master w architekturze HBase. Agent monitorujący monitoruje cały serwer regionalny, a HMaster jest odpowiedzialny za interfejs dla wszystkich zmian metadanych. Działa na NameNode.
Regiony Serwery: Kiedy Serwer Regionu odbiera zapisy i odczytuje żądania od klienta, przypisuje je do określonego regionu, w którym znajduje się rzeczywista rodzina kolumn. Jednak klient może kontaktować się bezpośrednio z serwerami regionalnymi, nie jest wymagane obowiązkowe zezwolenie HMaster na komunikację z serwerami regionalnymi. Klient wymaga pomocy HMaster, gdy wymagane są operacje związane ze zmianami metadanych i schematu.
Regiony: Regiony to podstawowe elementy budowlane klastra HBase, który składa się z rozkładu tabel i składa się z rodzin kolumn. Zawiera wiele sklepów, po jednym dla każdej rodziny kolumn. Składa się głównie z dwóch elementów, którymi są Memstore i Hfile.
ZooKeeper: W Hbase Zookeeper jest scentralizowanym serwerem monitorowania, który utrzymuje informacje o konfiguracji i zapewnia rozproszoną synchronizację. Synchronizacja rozproszona polega na uzyskiwaniu dostępu do aplikacji rozproszonych działających w klastrze, których zadaniem jest świadczenie usług koordynacji między węzłami. Jeśli klient chce komunikować się z regionami, klient serwera musi najpierw skontaktować się z ZooKeeper.
Architektura HBase: - HBase jest częścią ekosystemu Hadoop.
Model dogłębny: -
Bezpośrednie porównanie między HDFS a HBase (infografiki)
Poniżej znajduje się porównanie 14 najlepszych między HDFS a HBase
Kluczowe różnice między HDFS a HBase
Poniżej znajduje się różnica między HDFS a HBase
- HDFS to rozproszony system plików, który doskonale nadaje się do przechowywania dużych plików. Ale HBase, z drugiej strony, jest oparty na HDFS i zapewnia szybkie wyszukiwanie rekordów (i aktualizacje) dla dużych tabel.
- HDFS oparty jest na systemie plików GFS. Ale HBase jest rozpowszechniany - używa HDFS do przechowywania, zorientowanego na kolumny, wielowymiarowego (wersje) i systemu pamięci
- HDFS używa HIVE jako jednego ze składników języka zapytań, którym jest HIVE Query Language (HQL), ale Hbase NIE jest bazą danych SQL, co oznacza: - Brak połączeń, brak silnika zapytań, brak typów danych, brak (cholera) SQL, brak schematu i nie potrzeba DBA.
- Ponieważ HDFS jest rozproszoną jednostką pamięci, dlatego nie ma określonego języka innego niż polecenia używane, takie jak smak UNIX, na przykład: - Hadoop dfs -mkdir / foodir
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Ale z drugiej strony Hbase ma własny interfejs w postaci Hbase Shell, na przykład: -
- hbase (main): 003: 0> utwórz „test”, „cf”
0 rzędów w 1, 2200 sekund
- hbase (main): 004: 0> wstaw „test”, „row1”, „cf: a”, „value1”
0 rzędów w 0, 0560 sekund
- hbase (main): 005: 0> wstaw „test”, „row2”, „cf: b”, „value2”
0 rzędów w 0, 0370 sekund
- hbase (main): 006: 0> wstaw „test”, „row3”, „cf: c”, „value3”
0 rzędów w 0, 0450 sekund
- hbase (główny): 007: 0> skanuj „test”
WIERSZ KOLUMNA + KOMÓRKA
wiersz1 kolumna = cf: a, znacznik czasu = 1288380727188, wartość = wartość1
wiersz2 kolumna = cf: b, znacznik czasu = 1288380738440, wartość = wartość2
wiersz 3 kolumna = cf: c, znacznik czasu = 1288380747365, wartość = wartość3
3 rzędy w 0, 0590 sekund
HDFS vs Tabela porównawcza HBase
Podstawa do porównania | HDFS | HBase |
Dlaczego ich potrzebujemy | Potrzebujesz przetwarzać ogromne zbiory danych na dużych klastrach komputerów | HBase to rozproszony zorientowany na kolumny magazyn danych zbudowany na HDFS |
Węzły zawodzą każdego dnia | a) Oczekuje się niepowodzenia, a nie wyjątku b) Liczba węzłów w klastrze nie jest stała | HBase to projekt Apache typu open source, którego celem jest zapewnienie pamięci dla rozproszonego przetwarzania danych Hadoop |
Napisz wzór | Dołącz tylko | Zapis losowy, przyrostowy przyrostowy |
Przeczytaj wzór | Pełne skanowanie tabeli, skanowanie tablicy partycji | Odczytywanie losowe, skanowanie małego zakresu lub skanowanie tabeli |
Wzór W / R | HDFS idealnie nadaje się do przypadków użycia jednokrotnego zapisu i wielokrotnego odczytu | HBase idealnie nadaje się do losowego zapisu i odczytu danych przechowywanych w HDFS. |
Wydajność gałęzi (SQL) | Stosunkowo bardzo dobrze | 4-5 razy wolniej |
Ustrukturyzowane przechowywanie | Zrób to sam, TSV lub plik sekwencji | Rzadki model danych rodziny kolumn |
Maksymalny rozmiar danych | Zazwyczaj można przechowywać w pobliżu około 30 PB | Około 1 PB |
Dynamiczne zmiany | HDFS ma sztywną architekturę, która nie pozwala na zmiany. Nie ułatwia dynamicznego przechowywania. | HBase pozwala na dynamiczne zmiany i może być wykorzystywany do samodzielnych aplikacji. |
Dystrybucja danych | Dane są przechowywane w sposób rozproszony między węzłami w klastrze. Dane są dzielone na bloki, a następnie przechowywane w węzłach obecnych w klastrze HDFS. | Tabele są dystrybuowane w klastrze według regionów, a regiony są automatycznie dzielone i ponownie dystrybuowane w miarę wzrostu danych |
Przechowywanie danych | Wszystkie dane są przechowywane w postaci małych plików, a wszystkie pliki mają typowy rozmiar 64 MB (w nowszej wersji jest to 128 MB) | Wszystkie dane są przechowywane w postaci tabel, wierszy i kolumn |
Modelowanie danych | W HDFS używamy techniki Map Reduce, która dzieli pliki na pary klucz - wartość | HBase opiera się na modelu Bigtable firmy Google, który wykorzystuje również pary klucz-wartość |
Operacje | Ma operacje o dużym opóźnieniu | Ma operacje o niskim opóźnieniu |
Dostępność | Jest on dostępny głównie za pośrednictwem zadań MR (Map Reduce) | Można uzyskać do niego dostęp za pomocą poleceń powłoki, interfejsu API klienta w Javie, REST, Avro lub Thrift |
Wniosek - HDFS vs HBase
Podsumowując, zarówno HDFS, jak i HBase mają same w sobie wspaniałe technologie. Zarówno HDFS, jak i HBase zostały stworzone w celu przechowywania Big Data oraz w celu ułatwienia dostępu do nich i ich obliczania. Zarówno HDFS, jak i HBase idą w parze, ponieważ jeden HDFS przechowuje dane, a drugi HBase umieszcza schemat danych na temat sposobu przechowywania i pobierania ich później na użytek klienta.
Hbase jest jedną z rozproszonych, zorientowanych na kolumnę rozproszonych baz danych NoSql dostępnych w fundamencie Apache. HBase zapewnia większą wydajność pobierania mniejszej liczby rekordów niż Hadoop lub Hive. Bardzo łatwo jest wyszukać dowolną wartość wejściową, ponieważ obsługuje indeksowanie, transakcje i aktualizację.
Możemy przeprowadzać analizy online w czasie rzeczywistym za pomocą Hbase zintegrowanego z ekosystemem Hadoop. Posiada automatyczne i konfigurowalne dzielenie fragmentów zestawów danych lub tabel i zapewnia spokojny interfejs API do wykonywania zadań MapReduce.
Polecany artykuł
Jest to przewodnik po HDFS vs HBase, ich znaczeniu, porównaniu bezpośrednim, kluczowych różnicach, tabeli porównawczej i wnioskach. ten artykuł ma wszystkie przydatne różnice między HDFS a HBase. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -
- HBase vs Cassandra - Który z nich jest lepszy (infografiki)
- Odkryj 7 najlepszych różnic między Hadoop a HBase
- Top 12 Porównanie Apache Hive vs Apache HBase (infografiki)