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

  1. 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.
  2. 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
  3. 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.
  4. 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
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Ale z drugiej strony Hbase ma własny interfejs w postaci Hbase Shell, na przykład: -

  1. hbase (main): 003: 0> utwórz „test”, „cf”

0 rzędów w 1, 2200 sekund

  1. hbase (main): 004: 0> wstaw „test”, „row1”, „cf: a”, „value1”

0 rzędów w 0, 0560 sekund

  1. hbase (main): 005: 0> wstaw „test”, „row2”, „cf: b”, „value2”

0 rzędów w 0, 0370 sekund

  1. hbase (main): 006: 0> wstaw „test”, „row3”, „cf: c”, „value3”

0 rzędów w 0, 0450 sekund

  1. 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ównaniaHDFSHBase
Dlaczego ich potrzebujemyPotrzebujesz przetwarzać ogromne zbiory danych na dużych klastrach komputerówHBase to rozproszony zorientowany na kolumny magazyn danych zbudowany na HDFS
Węzły zawodzą każdego dniaa) 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órDołącz tylkoZapis losowy, przyrostowy przyrostowy
Przeczytaj wzórPełne skanowanie tabeli, skanowanie tablicy partycjiOdczytywanie losowe, skanowanie małego zakresu lub skanowanie tabeli
Wzór W / RHDFS idealnie nadaje się do przypadków użycia jednokrotnego zapisu i wielokrotnego odczytuHBase idealnie nadaje się do losowego zapisu i odczytu danych przechowywanych w HDFS.
Wydajność gałęzi (SQL)Stosunkowo bardzo dobrze4-5 razy wolniej
Ustrukturyzowane przechowywanieZrób to sam, TSV lub plik sekwencjiRzadki model danych rodziny kolumn
Maksymalny rozmiar danychZazwyczaj można przechowywać w pobliżu około 30 PBOkoło 1 PB
Dynamiczne zmianyHDFS 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 danychDane 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 danychWszystkie 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 danychW 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ść
OperacjeMa operacje o dużym opóźnieniuMa 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 -

  1. HBase vs Cassandra - Który z nich jest lepszy (infografiki)
  2. Odkryj 7 najlepszych różnic między Hadoop a HBase
  3. Top 12 Porównanie Apache Hive vs Apache HBase (infografiki)

Kategoria: