Vad är Apache HBase i Azure HDInsight?

Apache HBase är en NoSQL-databas med öppen källkod som bygger på Apache Hadoop och modelleras efter Google BigTable. HBase ger slumpmässig åtkomst och stark konsekvens för stora mängder data i en schemalös databas. Databasen är ordnad efter kolumnfamiljer.

Ur användarperspektiv liknar HBase en databas. Data lagras i raderna och kolumnerna i en tabell, och data i en rad grupperas efter kolumnfamilj. HBase är en schemalös databas. Kolumnerna och datatyperna kan vara odefinierade innan de används. Den öppna källkoden skalas linjärt för att hantera petabyte med data på tusentals noder. Den kan förlita sig på dataredundans, batchbearbetning och andra funktioner som tillhandahålls av distribuerade program i Hadoop-miljön.

Hur implementeras Apache HBase i Azure HDInsight?

HDInsight HBase erbjuds som ett hanterat kluster som är integrerat i Azure-miljön. Klustren är konfigurerade för att lagra data direkt i Azure Storage, vilket ger låg svarstid och ökad elasticitet i prestanda- och kostnadsval. Den här egenskapen gör det möjligt för kunder att skapa interaktiva webbplatser som fungerar med stora datamängder. Skapa tjänster som lagrar sensor- och telemetridata från miljontals slutpunkter. Och för att analysera dessa data med Hadoop-jobb. HBase och Hadoop är bra utgångspunkter för stordataprojekt i Azure. Tjänsterna kan göra det möjligt för realtidsprogram att arbeta med stora datamängder.

HDInsight-implementeringen använder HBase utskalningsarkitektur för att tillhandahålla automatisk horisontell partitionering av tabeller. Och stark konsekvens för läsningar och skrivningar samt automatisk redundans. Prestanda utökas av cachelagring i minnet för läsning och snabb strömning för skrivning. HBase-kluster kan skapas i virtuella nätverk. Mer information finns i Skapa HDInsight-kluster på Azure Virtual Network.

Hur hanteras data i HDInsight HBase?

Data kan hanteras i HBase med hjälp av kommandona create, get, put och scan i HBase-gränssnittet. Data skrivs till databasen med hjälp av put och läses med hjälp av get. Kommandot scan används till att hämta data från flera rader i en tabell. Data kan också hanteras med HBase C#-API. Det ger ett klientbibliotek utöver HBase REST-API. En HBase-databas kan också efterfrågas med hjälp av Apache Hive. En introduktion till dessa programmeringsmodeller finns i Kom igång med Apache HBase med Apache Hadoop i HDInsight. Coprocessorer är också tillgängliga, vilket tillåter databehandling i de noder som är värdar för databasen.

Anteckning

Thrift stöds inte av HBase i HDInsight.

Användningsfall för Apache HBase

Det kanoniska användningsfallet för vilket BigTable (och i tillägg HBase) skapades från webbsökning. Sökmotorer skapar index som mappar termer till de webbsidor som innehåller dem. Men HBase passar också för många andra användningsområden och du hittar många av dem i det här avsnittet.

Scenario Beskrivning
Nyckelvärdeslagring HBase kan användas som ett nyckel/värde-lager och är lämpligt för hantering av meddelandesystem. Facebook använder HBase för sina meddelandesystem, och det är idealiskt för lagring och hantering av Internetkommunikation. WebTable använder HBase till att söka efter och hantera tabeller som extraheras från webbsidor.
Sensordata HBase är användbart för insamling av data som samlas in inkrementellt från olika källor. Dessa data omfattar sociala analyser och tidsserier. Och hålla interaktiva instrumentpaneler uppdaterade med trender och räknare samt hantering av granskningsloggsystem. Exempel är Bloomberg Traders terminal och Open Time Series Database (OpenTSDB). OpenTSDB lagrar och ger åtkomst till mått som samlas in om serversystemens hälsotillstånd.
Realtidsfråga Apache Phoenix är en SQL-frågemotor för Apache HBase. Den används som en JDBC-drivrutin och gör det möjligt att köra frågor mot och hantera HBase-tabeller med hjälp av SQL.
HBase som en plattform Program kan köras ovanpå HBase genom att använda det som ett datalager. Exempel är Phoenix, OpenTSDB och KijiTitan. Program kan också integreras med HBase. Exempel: Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark Gangliaoch Apache Drill.

Nästa steg