Regionen in HBase

RegionServers sind eine Sache, aber man muss auch einen Blick auf, wie einzelne Regionen arbeiten. In HBase, ist eine Tabelle, sowohl die sich über eine Reihe von RegionServers sowie wobei aus einzelnen Regionen gemacht. Als Tabellen aufgeteilt werden, werden die Splits Regionen. Regionen speichern eine Reihe von Schlüssel-Wert-Paare, und jede RegionServer verwaltet eine konfigurierbare Anzahl von Regionen.

Aber wie sehen die einzelnen Regionen wie? HBase ist ein säulenfamilienorientierte Datenspeicher, so wie die einzelnen Bereiche speichern Schlüssel-Wert-Paare auf der Basis der Spalte Familien sie gehören? Die folgende Abbildung beginnt, diese Fragen zu beantworten und hilft Ihnen, wichtige Informationen über die Architektur von HBase verdauen.

bild0.jpg

HBase ist in Java geschrieben - wie die überwiegende Mehrheit der Hadoop-Technologien. Java ist eine objektorientierte Programmiersprache und eine elegante Technologie für verteiltes Rechnen. So, wie Sie weiterhin mehr über HBase, um herauszufinden, denken Sie daran, dass alle Komponenten in der Architektur sind letztlich Java-Objekte.

Als erstes gibt der vorhergehenden Figur eine ziemlich gute Vorstellung davon, welche Region Objekte tatsächlich aussehen, allgemein gesprochen. Es macht auch deutlich, dass Regionen getrennte Daten in Spalte Familien und speichern die Daten in der HDFS hFile Objekte verwenden.

Wenn Kunden Schlüssel-Wert-Paare in das System werden die Schlüssel verarbeitet, so daß Daten auf der Basis der Spaltenfamilie gespeichert wird das Paar gehört. Wie in der Figur gezeigt ist, hat jede Spalte Familie Speicherobjekt einen Lese-Cache der BlockCache und ein Schreib-Cache namens MemStore genannt. Die BlockCache hilft bei zufälligen Leseleistung.

Die Daten werden in Blöcken von der HDFS und gespeichert in dem BlockCache lesen. Im Anschluss liest die Daten - oder in unmittelbarer Nähe gespeicherten Daten - wird aus dem RAM anstelle von der Festplatte gelesen werden, die Gesamtleistung zu verbessern. Die Write-Ahead-Log (WAL, kurz) sorgt dafür, dass Ihre HBase schreibt zuverlässig sind. Es gibt einen WAL pro RegionServer.

image1.jpg

Beachten Sie stets die eherne Gesetz der Distributed Computing: Ein Fehler ist nicht die Ausnahme - es ist die Norm, vor allem, wenn Hunderte oder sogar Tausende von Servern Clustern. Google folgte der eherne Gesetz bei der Gestaltung BigTable und HBase folgten.

Wenn Daten in HBase schreiben oder zu modifizieren, werden die Daten beibehalten zuerst dem WAL, die im HDFS gespeichert ist, und dann werden die Daten an den MemStore Cache geschrieben. Zu konfigurierbaren Intervallen, Schlüssel-Wert-Paare in der MemStore gespeichert werden HFiles im HDFS geschrieben und danach WAL-Einträge werden gelöscht.

Wenn ein Fehler auftritt, nach die anfängliche WAL Schreib aber Vor die endgültige MemStore auf Datenträger schreiben kann die WAL Datenverlust zu vermeiden, werden wiederholt.

Drei hFile Objekte sind in einer Spalte Familie und zwei in der anderen. Das Design von HBase ist Spalte Familiendaten im MemStore einem hFile pro Spülung gespeichert zu spülen. Dann in konfigurierbaren Intervallen HFiles zu größeren HFiles kombiniert. Diese Strategie reiht die kritische Verdichtungsvorgang in HBase auf.

Menü