Unterschied zwischen HDFS und HBase

HDFS (Hadoop Distributed File System) Mit HDFS können Sie große Datenmengen auf verteilte und redundante Weise speichern, die auf Standardhardware ausgeführt werden. HBase (Hadoop-Datenbank) ist eine NoSQL-Datenbank, die auf Ihrem Hadoop-Cluster ausgeführt wird

Werfen wir einen Blick auf die Komponenten und die Architektur von HDFS bzw. HBase:

Komponenten von HDFS

  • NameNode
  • DataNode

NameNode: NameNode kann als Master des Systems angesehen werden. Es verwaltet den Dateisystembaum und die Metadaten für alle im System vorhandenen Dateien und Verzeichnisse. Zwei Dateien, 'Namespace Image' und 'Edit Log', werden zum Speichern von Metadateninformationen verwendet. Namenode kennt alle Datenknoten, die Datenblöcke für eine bestimmte Datei enthalten, speichert die Blockpositionen jedoch nicht dauerhaft. Diese Informationen werden bei jedem Systemstart von Datenknoten rekonstruiert.

DataNode: DataNodes sind Slaves, die sich auf jedem Computer in einem Cluster befinden und den eigentlichen Speicher bereitstellen. Es ist für das Bedienen, Lesen und Schreiben von Anforderungen für die Clients verantwortlich.

HDFS-Architektur: -

Komponenten von HBase: -

  • Hbase Master
  • Regionsserver
  • Region
  • Tierpfleger

HMaster : Dies ist der Master-Server in der HBase-Architektur. Es ist der Überwachungsagent, der alle Region Server überwacht, und es ist die Verantwortung von HMaster, die Schnittstelle für alle Metadatenänderungen zu sein. Es läuft auf NameNode.

Regionsserver: Wenn der Regionsserver Schreib- und Leseanforderungen vom Client empfängt, weist er die Anforderung einer bestimmten Region zu, in der sich die eigentliche Spaltenfamilie befindet. Der Client kann jedoch direkt mit Regionsservern Kontakt aufnehmen. Für die Kommunikation mit Regionsservern ist keine HMaster-Berechtigung erforderlich. Der Client benötigt HMaster-Hilfe, wenn Vorgänge in Bezug auf Metadaten und Schemaänderungen erforderlich sind.

Regionen: Regionen sind die grundlegenden Bestandteile des HBase-Clusters, der aus der Verteilung von Tabellen besteht und aus Spaltenfamilien besteht. Es enthält mehrere Stores, einen für jede Spaltenfamilie. Es besteht hauptsächlich aus zwei Komponenten: Memstore und Hfile.

ZooKeeper: In Hbase ist Zookeeper ein zentraler Überwachungsserver, der Konfigurationsinformationen verwaltet und verteilte Synchronisierung bereitstellt. Bei der verteilten Synchronisierung wird auf die verteilten Anwendungen zugegriffen, die im Cluster ausgeführt werden, und die Verantwortung für die Bereitstellung von Koordinierungsdiensten zwischen Knoten übernommen. Wenn der Client mit Regionen kommunizieren möchte, muss er sich zuerst an ZooKeeper wenden.

HBase-Architektur: - HBase ist ein Teil des Hadoop-Ökosystems.

Tiefenmodell: -

Head to Head Vergleich zwischen HDFS und HBase (Infografik)

Unten ist der Top 14 Vergleich zwischen HDFS und HBase

Hauptunterschiede zwischen HDFS und HBase

Unten ist der Unterschied zwischen HDFS und HBase wie folgt

  1. HDFS ist ein verteiltes Dateisystem, das sich gut zum Speichern großer Dateien eignet. Andererseits baut HBase auf HDFS auf und bietet schnelle Datensatz-Lookups (und -Updates) für große Tabellen.
  2. HDFS basiert auf dem GFS-Dateisystem. HBase wird jedoch verteilt - verwendet HDFS für die Speicherung, spaltenorientierte, mehrdimensionale (Versionen) und Speichersysteme
  3. HDFS verwendet HIVE als eine seiner Komponenten für die Anfragesprache, die HIVE Query Language (HQL) ist, aber Hbase ist KEINE SQL-Datenbank, was bedeutet: - Keine Joins, keine Abfrage-Engine, keine Datentypen, kein (verdammtes) SQL, kein Schema und kein DBA benötigt.
  4. Da HDFS eine verteilte Speichereinheit ist, gibt es keine andere Sprache als die Befehle, die wie die UNIX-Variante verwendet werden, wie zum Beispiel: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Andererseits hat Hbase eine eigene Oberfläche in Form von Hbase Shell, wie zum Beispiel:

  1. hbase (main): 003: 0> erstelle 'test', 'cf'

0 Zeile (n) in 1, 2200 Sekunden

  1. hbase (main): 004: 0> setze 'test', 'row1', 'cf: a', 'value1'

0 Zeile (n) in 0.0560 Sekunden

  1. hbase (main): 005: 0> setze 'test', 'row2', 'cf: b', 'value2'

0 Zeile (n) in 0.0370 Sekunden

  1. hbase (main): 006: 0> setze 'test', 'row3', 'cf: c', 'value3'

0 Zeile (n) in 0.0450 Sekunden

  1. hbase (main): 007: 0> scan 'test'

REIHENSPALTE + ZELLE

row1 column = cf: a, timestamp = 1288380727188, value = value1

Zeile2 Spalte = cf: b, Zeitstempel = 1288380738440, Wert = Wert2

Zeile3 Spalte = cf: c, Zeitstempel = 1288380747365, Wert = Wert3

3 Zeile (n) in 0, 0590 Sekunden

HDFS vs HBase Vergleichstabelle

Grundlage für den VergleichHDFSHBase
Warum brauchen wir sie?Sie müssen große Datenmengen auf großen Computerclustern verarbeitenHBase ist ein verteilter spaltenorientierter Datenspeicher, der auf HDFS aufbaut
Knoten fallen jeden Tag ausa) Ein Ausfall ist eher zu erwarten als außergewöhnlich
b) Die Anzahl der Knoten in einem Cluster ist nicht konstant
HBase ist ein Apache-Open-Source-Projekt, dessen Ziel es ist, Speicher für das Hadoop Distributed Computing bereitzustellen
Muster schreibenNur anhängenZufälliges Schreiben, Bulk-Inkremental
Muster lesenVollständiger Tabellenscan, PartitionstabellenscanRandom Read, Small Range Scan oder Table Scan
W / R-MusterHDFS ist ideal für Anwendungsfälle mit einmaligem und mehrmaligem Schreiben und Lesen geeignetHBase eignet sich ideal zum zufälligen Schreiben und Lesen von Daten, die in HDFS gespeichert sind.
Hive (SQL) -LeistungRelativ sehr gut4-5 mal langsamer
Strukturierter SpeicherMach es selbst oder TSV oder Sequence FileDatenmodell für spärliche Spaltenfamilien
Maximale DatengrößeIn der Regel können Geschäfte in der Nähe von ca. 30 PBCa. 1 PB
Dynamische ÄnderungenHDFS verfügt über eine starre Architektur, die keine Änderungen zulässt. Es erleichtert die dynamische Speicherung nicht.HBase ermöglicht dynamische Änderungen und kann für eigenständige Anwendungen verwendet werden.
DatenverteilungDaten werden auf die Knoten in einem Cluster verteilt gespeichert. Die Daten werden in Blöcke unterteilt und dann über im HDFS-Cluster vorhandene Knoten gespeichert.Tabellen werden über Regionen auf dem Cluster verteilt, und Regionen werden automatisch aufgeteilt und neu verteilt, wenn Ihre Daten wachsen
DatenspeicherAlle Daten werden in Form kleiner Dateien gespeichert, und alle Dateien haben eine typische Größe von 64 MB (in der neueren Version 128 MB).Alle Daten werden in Form von Tabellen, Zeilen und Spalten gespeichert
DatenmodellierungIn HDFS verwenden wir die Map Reduce-Technik, die die Dateien in die Schlüssel-Wert-Paare unterteiltHBase basiert auf Googles Bigtable-Modell, das auch Schlüssel-Wert-Paare verwendet
OperationenEs hat Operationen mit hoher LatenzEs hat niedrige Latenzzeiten
BarrierefreiheitDer Zugriff erfolgt hauptsächlich über MR-Aufträge (Map Reduce)Der Zugriff erfolgt über Shell-Befehle, Client-API in Java, REST, Avro oder Thrift

Schlussfolgerung - HDFS vs HBase

Insgesamt haben sowohl HDFS als auch HBase wunderbare Technologien für sich. Sie wurden sowohl für HDFS als auch für HBase entwickelt, um die Big Data zu speichern und den Zugriff und die Berechnung zu vereinfachen. Beide, HDFS und HBase, gehen Seite an Seite, während ein HDFS die Daten speichert, während das andere HBase ein Schema für die Daten erstellt, wie sie gespeichert und später für die Verwendung durch den Client abgerufen werden sollen.

Hbase ist eine spaltenorientierte verteilte NoSql-Datenbank, die in Apache Foundation verfügbar ist. HBase bietet mehr Leistung beim Abrufen weniger Datensätze als Hadoop oder Hive. Es ist sehr einfach, nach einem bestimmten Eingabewert zu suchen, da er die Indizierung, Transaktionen und Aktualisierung unterstützt.

Mithilfe von Hbase, das in das Hadoop-Ökosystem integriert ist, können wir Online-Echtzeitanalysen durchführen. Es verfügt über ein automatisches und konfigurierbares Sharding für Datasets oder Tabellen und bietet Ruhe-APIs zum Ausführen der MapReduce-Jobs.

Empfohlener Artikel

Dies war ein Leitfaden für HDFS vs HBase, deren Bedeutung, Kopf-an-Kopf-Vergleich, Hauptunterschiede, Vergleichstabelle und Schlussfolgerung. In diesem Artikel werden alle nützlichen Unterschiede zwischen HDFS und HBase beschrieben. Weitere Informationen finden Sie auch in den folgenden Artikeln:

  1. HBase vs Cassandra - Welches ist besser (Infografik)
  2. Finden Sie die 7 besten Unterschiede zwischen Hadoop und HBase heraus
  3. Top 12 Vergleich von Apache HBase vs Apache Hive (Infographics)

Kategorie: