Was ist Apache HBase in Azure HDInsight?What is 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.Apache HBase is an open-source, NoSQL database that is built on Apache Hadoop and modeled after Google BigTable. HBase bietet wahlfreien Zugriff und starke Konsistenz für große Mengen unstrukturierter und teilstrukturierter Daten in einer schemalosen Datenbank, die nach Spaltenfamilien gegliedert ist.HBase provides random access and strong consistency for large amounts of unstructured and semistructured data in a schemaless database organized by column families.

Aus der Benutzerperspektive ähnelt HBase einer Datenbank.From user perspective, HBase is similar to a database. Daten werden in den Zeilen und Spalten einer Tabelle gespeichert und die Daten in einer Zeile zu einer Spaltenfamilie zusammengefasst.Data is stored in the rows and columns of a table, and data within a row is grouped by column family. HBase ist eine schemalose Datenbank in dem Sinne, dass weder die Spalten noch der Typ der darin gespeicherten Daten vor der Verwendung definiert werden müssen.HBase is a schemaless database in the sense that neither the columns nor the type of data stored in them need to be defined before using them. Der Open-Source-Code lässt sich linear skalieren, sodass Petabytes von Daten auf Tausenden von Knoten verarbeitet werden können.The open-source code scales linearly to handle petabytes of data on thousands of nodes. HBase nutzt Datenredundanz, Stapelverarbeitung und andere Funktionen, die von verteilten Anwendungen im Hadoop-Ökosystem zur Verfügung gestellt werden.It can rely on data redundancy, batch processing, and other features that are provided by distributed applications in the Hadoop ecosystem.

Wie wird Apache HBase in Azure HDInsight implementiert?How is Apache HBase implemented in Azure HDInsight?

HDInsight HBase wird als verwalteter Cluster angeboten, der in die Azure-Umgebung integriert ist.HDInsight HBase is offered as a managed cluster that is integrated into the Azure environment. 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.The clusters are configured to store data directly in Azure Storage which provides low latency and increased elasticity in performance and cost choices. So können Kunden interaktive Websites erstellen, die mit großen Datensätzen arbeiten, und Dienste entwickeln, die Sensor- und Telemetriedaten aus Millionen von Endpunkten speichern. Diese Daten können dann mit Hadoop-Jobs analysiert werden.This enables customers to build interactive websites that work with large datasets, to build services that store sensor and telemetry data from millions of end points, and to analyze this data with Hadoop jobs. HBase und Hadoop sind gute Ausgangspunkte für Big-Data-Projekte in Azure – sie ermöglichen besonders in Echtzeitanwendungen die Verarbeitung großer Datensätze.HBase and Hadoop are good starting points for big data project in Azure; in particular, they can enable real-time applications to work with large datasets.

Die HDInsight-Implementierung nutzt die skalierbare Architektur von HBase für automatische Partitionierung von Tabellen, starke Konsistenz für Lese- und Schreibvorgänge sowie automatisches Failover.The HDInsight implementation leverages the scale-out architecture of HBase to provide automatic sharding of tables, strong consistency for reads and writes, and automatic failover. Die Leistung wird durch speicherinterne Zwischenspeicherung für Lesevorgänge und Schreibvorgänge mit hohem Durchsatz optimiert.Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. Ein HBase-Cluster kann in einem virtuellen Netzwerk erstellt werden.HBase cluster can be created inside virtual network. Details hierzu finden Sie unter Erstellen von HDInsight-Clustern im virtuellen Azure-Netzwerk.For details, see Create HDInsight clusters on Azure Virtual Network.

Wie werden Daten in HDInsight HBase verwaltet?How is data managed in HDInsight HBase?

Daten können Sie in HBase mit den Befehlen create, get, put und scan über die HBase-Shell verwalten.Data can be managed in HBase by using the create, get, put, and scan commands from the HBase shell. Daten werden mit dem Befehl put in die Datenbank geschrieben und mit get gelesen.Data is written to the database by using put and read by using get. Der scan-Befehl wird verwendet, um Daten aus mehreren Zeilen in einer Tabelle abzurufen.The scan command is used to obtain data from multiple rows in a table. Sie können Daten auch über die HBase-C#-API verwalten. Diese bietet eine Clientbibliothek auf der HBase-REST-API.Data can also be managed using the HBase C# API, which provides a client library on top of the HBase REST API. Eine HBase-Datenbank kann auch mithilfe von Apache Hive abgefragt werden.An HBase database can also be queried by using Apache Hive. Eine Einleitung in diese Programmiermodelle finden Sie unter Erste Schritte mit Apache HBase mit Apache Hadoop in HDInsight.For an introduction to these programming models, see Get started using Apache HBase with Apache Hadoop in HDInsight. Coprozessoren sind ebenfalls verfügbar und ermöglichen die Verarbeitung von Daten in den Knoten, die die Datenbank hosten.Coprocessors are also available, which allow data processing in the nodes that host the database.

Hinweis

Thrift wird von HBase in HDInsight nicht unterstützt.Thrift is not supported by HBase in HDInsight.

Szenarien: Anwendungsfälle für Apache HBaseScenarios: Use cases for Apache HBase

Der kanonische Anwendungsfall, für den BigTable (und daher auch HBase) aus der Websuche erstellt wurde.The canonical use case for which BigTable (and by extension, HBase) was created from web search. Suchmaschinen erstellen Indizes, die Begriffe den Webseiten zuordnen, die diese Begriffe enthalten.Search engines build indexes that map terms to the web pages that contain them. Es gibt jedoch noch viele weitere Anwendungsfälle für HBase. Einige von ihnen werden in diesem Abschnitt beschrieben.But there are many other use cases that HBase is suitable for—several of which are itemized in this section.

  • Schlüssel-Wert-SpeicherungKey-value store

    HBase kann für die Schlüssel-Wert-Speicherung verwendet werden und ist für die Verwaltung von Nachrichtensystemen geeignet.HBase can be used as a key-value store, and it is suitable for managing message systems. Facebook nutzt HBase für sein Nachrichtensystem. HBase ist ideal für die Speicherung und Verwaltung von Internetkommunikation.Facebook uses HBase for their messaging system, and it is ideal for storing and managing Internet communications. WebTable nutzt HBase, um Tabellen, die aus Webseiten extrahiert wurden, zu suchen und zu verwalten.WebTable uses HBase to search for and manage tables that are extracted from webpages.

  • SensordatenSensor data

    HBase kann für das Erfassen von Daten verwendet werden, die schrittweise aus verschiedenen Quellen gesammelt werden.HBase is useful for capturing data that is collected incrementally from various sources. Dies umfasst Analysen sozialer Netzwerke, Zeitreihen, Gewährleistung der Aktualität interaktiver Dashboards mit Trends und Indikatoren sowie die Verwaltung von Prüfungsprotokollierungssystemen.This includes social analytics, time series, keeping interactive dashboards up-to-date with trends and counters, and managing audit log systems. Zu den Beispielen zählen das Bloomberg Trader Terminal und die Open Time Series Database (OpenTSDB), die Metriken speichert, die zum Status von Serversystemen gesammelt wurden, und den Zugriff darauf ermöglicht.Examples include Bloomberg trader terminal and the Open Time Series Database (OpenTSDB), which stores and provides access to metrics collected about the health of server systems.

  • EchtzeitabfrageReal-time query

    Apache Phoenix ist eine SQL-Abfrage-Engine für Apache HBase.Apache Phoenix is a SQL query engine for Apache HBase. Der Zugriff erfolgt als JDBC-Treiber. So können Sie HBase-Tabellen mit SQL abfragen und verwalten.It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.

  • HBase als PlattformHBase as a platform

    Anwendungen können auf HBase ausgeführt werden, indem sie HBase als Datenspeicher nutzen.Applications can run on top of HBase by using it as a datastore. Beispiele hierfür sind Phoenix, OpenTSDB, Kiji und Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. Es ist auch ein Integration von Anwendungen mit HBase möglich.Applications can also integrate with HBase. Beispiele hierfür sind Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark, Ganglia und Apache Drill.Examples include Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, and Apache Drill.

Nächste SchritteNext steps