Wat is Apache HBase in Azure HDInsightWhat is Apache HBase in Azure HDInsight

Apache HBase is een open-source NoSQL-database die is gebouwd op Apache Hadoop en gemodelleerde na Google BigTable.Apache HBase is an open-source, NoSQL database that is built on Apache Hadoop and modeled after Google BigTable. HBase biedt willekeurige toegang en een sterke consistentie voor grote hoeveelheden ongestructureerde en semigestructureerde gegevens in een database zonder schema die is georganiseerd op basis van kolomfamilies.HBase provides random access and strong consistency for large amounts of unstructured and semistructured data in a schemaless database organized by column families.

HBase is vanuit het perspectief van gebruiker, vergelijkbaar met een database.From user perspective, HBase is similar to a database. Gegevens worden opgeslagen in de rijen en kolommen in een tabel en gegevens in een rij worden gegroepeerd per kolomfamilie.Data is stored in the rows and columns of a table, and data within a row is grouped by column family. HBase is een database zonder schema in de zin dat zowel de kolommen als het type gegevens dat hierin wordt opgeslagen niet hoeven te worden gedefinieerd voordat u ze kunt gebruiken.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. De open-source code wordt lineair geschaald om petabytes aan gegevens op duizenden knooppunten te verwerken.The open-source code scales linearly to handle petabytes of data on thousands of nodes. Hiervoor kan gebruik worden gemaakt van gegevensredundantie, batchverwerking en andere functies die worden geboden door gedistribueerde toepassingen in het Hadoop-ecosysteem.It can rely on data redundancy, batch processing, and other features that are provided by distributed applications in the Hadoop ecosystem.

Hoe is Apache HBase geïmplementeerd in Azure HDInsight?How is Apache HBase implemented in Azure HDInsight?

HDInsight HBase wordt aangeboden als een beheerd cluster dat is geïntegreerd in de Azure-omgeving.HDInsight HBase is offered as a managed cluster that is integrated into the Azure environment. De clusters zijn geconfigureerd voor het opslaan van gegevens rechtstreeks in Azure Storage waarmee u lage latentie en verbeterde elasticiteit met betrekking tot prestatie- en kostenopties.The clusters are configured to store data directly in Azure Storage which provides low latency and increased elasticity in performance and cost choices. Hierdoor kunnen klanten interactieve websites bouwen die geschikt zijn voor grote gegevenssets. Daarnaast kunnen ze services bouwen voor het opslaan van sensor- en telemetriegegevens van miljoenen eindpunten en deze gegevens analyseren met Hadoop-taken.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 en Hadoop vormen een goed startpunt voor big data-projecten in Azure. Met name omdat ze ervoor zorgen dat realtime toepassingen met grote gegevenssets kunnen werken.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.

De HDInsight-implementatie maakt gebruik van de opschaalbare architectuur van HBase om automatische sharding van tabellen, een sterke consistentie voor lees- en schrijfbewerkingen en automatische failover te bieden.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. De prestaties zijn verbeterd dankzij in-memory caching voor leesbewerkingen en streamen met een hoge gegevensdoorvoer voor schrijfbewerkingen.Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. Een HBase-cluster kan worden gemaakt in het virtuele netwerk.HBase cluster can be created inside virtual network. Zie HDInsight-clusters maken in Azure Virtual Network voor meer informatie.For details, see Create HDInsight clusters on Azure Virtual Network.

Hoe worden gegevens in HDInsight HBase beheerd?How is data managed in HDInsight HBase?

Gegevens kunnen worden beheerd in HBase met de opdrachten create, get, put en scan in de HBase-shell.Data can be managed in HBase by using the create, get, put, and scan commands from the HBase shell. Gegevens worden met put naar de database geschreven en gelezen met get.Data is written to the database by using put and read by using get. De opdracht scan wordt gebruikt om gegevens uit meerdere rijen in een tabel op te halen.The scan command is used to obtain data from multiple rows in a table. Gegevens kunnen ook worden beheerd met de HBase C# API, die naast de HBase REST API een clientbibliotheek biedt.Data can also be managed using the HBase C# API, which provides a client library on top of the HBase REST API. Een HBase-database kan ook worden opgevraagd met behulp van Apache Hive.An HBase database can also be queried by using Apache Hive. Zie voor een inleiding tot deze programmeermodellen, aan de slag met Apache HBase met Hadoop in HDInsight Apache.For an introduction to these programming models, see Get started using Apache HBase with Apache Hadoop in HDInsight. Coprocessors zijn ook beschikbaar, waarmee gegevens worden verwerkt in de knooppunten die als host fungeren voor de database.Coprocessors are also available, which allow data processing in the nodes that host the database.

Notitie

Thrift wordt niet ondersteund door HBase in HDInsight.Thrift is not supported by HBase in HDInsight.

Scenario's: Use cases voor Apache HBaseScenarios: Use cases for Apache HBase

Het canonieke gebruiksvoorbeeld waarvoor bigtable (en door uitbreiding HBase) is gemaakt op basis van zoeken op het web.The canonical use case for which BigTable (and by extension, HBase) was created from web search. Zoekmachines bouwen indexen die termen koppelen aan de webpagina's die deze termen bevatten.Search engines build indexes that map terms to the web pages that contain them. Er zijn echter tal van andere gebruiksvoorbeeld waarvoor HBase geschikt is. Enkele daarvan worden gespecificeerd in deze sectie.But there are many other use cases that HBase is suitable for—several of which are itemized in this section.

  • Sleutel-waardearchiefKey-value store

    HBase kan worden gebruikt als een sleutel-waardearchief en is geschikt voor het beheren van berichtsystemen.HBase can be used as a key-value store, and it is suitable for managing message systems. Facebook gebruikt HBase voor het berichtensysteem. Daarnaast is HBase ideaal voor het opslaan en beheren van de communicatie via internet.Facebook uses HBase for their messaging system, and it is ideal for storing and managing Internet communications. WebTable gebruikt HBase om tabellen die worden geëxtraheerd uit webpagina's te zoeken en beheren.WebTable uses HBase to search for and manage tables that are extracted from webpages.

  • SensorgegevensSensor data

    HBase is handig wanneer u gegevens wilt vastleggen die stapsgewijs uit diverse bronnen worden verzameld.HBase is useful for capturing data that is collected incrementally from various sources. Dit omvat sociale analyses, time series, het up-to-date houden van interactieve dashboards met trends en prestatiemeteritems en het beheren van auditlogboeksystemen.This includes social analytics, time series, keeping interactive dashboards up-to-date with trends and counters, and managing audit log systems. Voorbeelden zijn Bloomberg-traderterminal en de Open Time Series Database (OpenTSDB) voor het opslaan van en bieden van toegang tot metrische gegevens die worden verzameld over de status van serversystemen.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.

  • Realtime queryReal-time query

    Apache Phoenix is van een SQL-query-engine voor Apache HBase.Apache Phoenix is a SQL query engine for Apache HBase. Deze is toegankelijk als een JDBC-stuurprogramma en maakt het uitvoeren van query's en beheren van HBase-tabellen SQL mogelijk.It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.

  • HBase als een platformHBase as a platform

    Toepassingen kunnen worden uitgevoerd in HBase door HBase te gebruiken als gegevensopslag.Applications can run on top of HBase by using it as a datastore. Voorbeelden hiervan zijn Phoenix, OpenTSDB, Kiji en Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. Toepassingen kunnen ook worden geïntegreerd met HBase.Applications can also integrate with HBase. Voorbeelden zijn onder meer Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, en Apache Drill.Examples include Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, and Apache Drill.

Volgende stappenNext steps

Zie ookSee also