Grundkenntnisse von HBase (1): Einführung in HBase, HBase-Datenmodell und grundlegende Architektur

Kapitel 1 Einführung in HBase

1.1HBase-Definition

HBase ist eine verteilte, skalierbare NoSQL-Datenbank, die umfangreiche Datenspeicherung unterstützt.

1.2HBase-Datenmodell

Logischerweise ist das Datenmodell von HBase einer relationalen Datenbank sehr ähnlich. Daten werden in einer Tabelle mit Zeilen und Spalten gespeichert. Aus der Perspektive der zugrunde liegenden physischen Speicherstruktur (KV) von HBase ähnelt HBase jedoch eher einer mehrdimensionalen Karte .

1.2.1HBase logische Struktur

Lexikografische Reihenfolge: bitweiser Vergleich.

Das Bild unten ist eine Tabelle, aber eine Tabelle ist oft unterteilt und verschiedenen Bereichen zugeordnet.

1.2.2HBase physische Speicherstruktur

Diese Datenstruktur ist eine detaillierte Erklärung des Geschäfts im Bild oben.

1.2.3 Datenmodell

1)NameSpace

Der Namespace ähnelt dem DataBase-Konzept (Datenbank) einer relationalen Datenbank. Unter jedem Namespace befinden sich mehrere Tabellen. HBase verfügt über zwei integrierte Namespaces, nämlich hbase und default . Hbase speichert die integrierten Tabellen von HBase, und die Standardtabelle ist der von Benutzern standardmäßig verwendete Namespace.

2)Region

Ähnlich dem Tabellenkonzept einer relationalen Datenbank. Der Unterschied besteht darin, dass Sie beim Definieren einer Tabelle in HBase nur die Spaltenfamilie deklarieren müssen und keine bestimmten Spalten deklarieren müssen. Dies bedeutet, dass beim Schreiben von Daten in HBase Felder dynamisch und bei Bedarf angegeben werden können . Daher kann HBase im Vergleich zu relationalen Datenbanken Feldänderungen problemlos bewältigen.

3)Reihe

Jede Datenzeile in der HBase-Tabelle besteht aus einem RowKey und mehreren Spalten (Spalten). Die Daten werden in der Wörterbuchreihenfolge von RowKey gespeichert und können beim Abfragen von Daten nur basierend auf RowKey abgerufen werden, sodass das Design von RowKey sehr ist wichtig.

4)Spalte

Jede Spalte in HBase wird durch ColumnFamily (Spaltenfamilie) und ColumnQualifier (Spaltenqualifizierer) qualifiziert , z. B. info: name, info: age. Beim Erstellen einer Tabelle müssen Sie nur die Spaltenfamilie angeben und der Spaltenqualifizierer muss nicht im Voraus definiert werden.

5)Zeitstempel

Wird zur Identifizierung verschiedener Datenversionen verwendet. Wenn jedes Datenelement geschrieben wird und kein Zeitstempel angegeben ist, fügt das System dieses Feld automatisch hinzu. Sein Wert ist die Zeit, zu der es in HBase geschrieben wurde.

6)Zelle

Eine Einheit, die eindeutig durch {rowkey, ColumnFamily: ColumnQualifier, TimeStamp} bestimmt wird. Die Daten in der Zelle haben keinen Typ und werden alle in Bytecode-Form gespeichert.

1.3HBase-Grundarchitektur

Unvollständige Version

Architekturrolle:

1)RegionServer

RegionServer ist der Manager von Region und seine Implementierungsklasse ist HRegionServer. Seine Hauptfunktionen sind wie folgt: Datenoperationen: Abrufen, Setzen, Löschen; Regionsoperationen: SplitRegion, CompactRegion.

2)Meister

Master ist der Manager aller RegionServer. Seine Implementierungsklasse ist HMaster. Seine Hauptfunktionen sind wie folgt: Für Tabellenoperationen: Erstellen, Löschen, Ändern. Für RegionServer-Operationen: Zuweisen von Regionen zu jedem RegionServer, Überwachen des Status jedes RegionServers, Lastausgleich und Failover.

3) Tierpfleger

HBase verwendet Zookeeper, um Aufgaben wie Master-Hochverfügbarkeit, RegionServer-Überwachung, Metadateneingabe und Wartung der Clusterkonfiguration auszuführen.

4)HDFS

HDFS bietet HBase den ultimativen zugrunde liegenden Datenspeicherdienst und Hochverfügbarkeitsunterstützung für HBase.

Supongo que te gusta

Origin blog.csdn.net/zuodingquan666/article/details/135133076
Recomendado
Clasificación