Was ist Apache HBase in Azure HDInsight?

Apache HBase ist eine Open-Source-NoSQL-Datenbank, die auf Apache Hadoop basiert und nach dem Vorbild von Google BigTable erstellt wurde. HBase bietet wahlfreien Zugriff und starke Konsistenz für große Datenmengen in einer schemalosen Datenbank. Die Datenbank ist nach Spaltenfamilien organisiert.

Aus der Benutzerperspektive ähnelt HBase einer Datenbank. Daten werden in den Zeilen und Spalten einer Tabelle gespeichert und die Daten in einer Zeile zu einer Spaltenfamilie zusammengefasst. HBase ist eine schemalose Datenbank. Die Spalten und Datentypen können vor der Verwendung undefiniert sein. Der Open-Source-Code lässt sich linear skalieren, sodass Petabytes von Daten auf Tausenden von Knoten verarbeitet werden können. HBase nutzt Datenredundanz, Stapelverarbeitung und andere Funktionen, die von verteilten Anwendungen in der Hadoop-Umgebung zur Verfügung gestellt werden.

Wie wird Apache HBase in Azure HDInsight implementiert?

HDInsight HBase wird als verwalteter Cluster angeboten, der in die Azure-Umgebung integriert ist. Die Cluster sind so konfiguriert, dass Daten direkt in Azure Storage gespeichert werden. Dies sorgt für geringe Latenz und mehr Flexibilität bei Entscheidungen bezüglich Leistung und Kosten. Diese Eigenschaft ermöglicht es Kunden, interaktive Websites zu erstellen, die sich für große Datasets eignen. Dienste erstellen, die Sensor- und Telemetriedaten von Millionen von Endpunkten speichern, und diese Daten mit Hadoop-Aufträgen analysieren. HBase und Hadoop sind gute Ausgangspunkte für Big Data-Projekte in Azure. Diese Dienste ermöglichen es Echtzeitanwendungen, große Datasets zu verwenden.

Die HDInsight-Implementierung nutzt die Architektur mit horizontaler Skalierung von HBase für automatisches Sharding von Tabellen, für starke Konsistenz bei Lese- und Schreibvorgängen sowie für automatisches Failover. Die Leistung wird durch speicherinterne Zwischenspeicherung für Lesevorgänge und Schreibvorgänge mit hohem Durchsatz optimiert. Ein HBase-Cluster kann in einem virtuellen Netzwerk erstellt werden. Details hierzu finden Sie unter Erstellen von virtuellen Netzwerken für Azure HDInsight-Cluster.

Wie werden Daten in HDInsight HBase verwaltet?

Daten können Sie in HBase mit den Befehlen create, get, put und scan über die HBase-Shell verwalten. Daten werden mit dem Befehl put in die Datenbank geschrieben und mit get gelesen. Der scan-Befehl wird verwendet, um Daten aus mehreren Zeilen in einer Tabelle abzurufen. Sie können Daten auch über die HBase-C#-API verwalten. Diese bietet eine Clientbibliothek auf der HBase-REST-API. Eine HBase-Datenbank kann auch mithilfe von Apache Hive abgefragt werden. Eine Einleitung in diese Programmiermodelle finden Sie unter Erste Schritte mit Apache HBase mit Apache Hadoop in HDInsight. Coprozessoren sind ebenfalls verfügbar und ermöglichen die Verarbeitung von Daten in den Knoten, die die Datenbank hosten.

Hinweis

Thrift wird von HBase in HDInsight nicht unterstützt.

Anwendungsfälle für Apache HBase

Der kanonische Anwendungsfall, für den BigTable (und daher auch HBase) aus der Websuche erstellt wurde. Suchmaschinen erstellen Indizes, die Begriffe den Webseiten zuordnen, die diese Begriffe enthalten. Es gibt jedoch noch viele weitere Anwendungsfälle für HBase. Einige von ihnen werden in diesem Abschnitt beschrieben.

Szenario BESCHREIBUNG
Schlüssel-Wert-Speicherung HBase kann für die Schlüssel-Wert-Speicherung verwendet werden und ist für die Verwaltung von Nachrichtensystemen geeignet. Facebook nutzt HBase für sein Nachrichtensystem. HBase ist ideal für die Speicherung und Verwaltung von Internetkommunikation. WebTable nutzt HBase, um Tabellen, die aus Webseiten extrahiert wurden, zu suchen und zu verwalten.
Sensordaten HBase kann für das Erfassen von Daten verwendet werden, die schrittweise aus verschiedenen Quellen gesammelt werden. Diese Daten umfassen Analysen sozialer Netzwerke, Zeitreihen, Gewährleistung der Aktualität interaktiver Dashboards mit Trends und Indikatoren sowie die Verwaltung von Überwachungsprotokollierungssystemen. Zu den Beispielen zählen das Bloomberg Trader Terminal und die Open Time Series Database (OpenTSDB). OpenTSDB speichert Metriken, die zum Status von Serversystemen gesammelt wurden, und ermöglicht den Zugriff darauf.
Echtzeitabfrage Apache Phoenix ist eine SQL-Abfrage-Engine für Apache HBase. Der Zugriff erfolgt als JDBC-Treiber. So können Sie HBase-Tabellen mit SQL abfragen und verwalten.
HBase als Plattform Anwendungen können auf HBase ausgeführt werden, indem sie HBase als Datenspeicher nutzen. Beispiele hierfür sind Phoenix, OpenTSDB, Kiji und Titan. Es ist auch ein Integration von Anwendungen mit HBase möglich. Beispiele hierfür sind Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark, Ganglia und Apache Drill.

Nächste Schritte