Popis Apache HBase
Apache HBase je opensourcová databáze NoSQL založená na Apache Hadoopu. HBase poskytuje náhodný přístup a silnou konzistenci pro velké objemy nestrukturovaných a částečně strukturovaných dat v databázi bez schématu uspořádané podle rodin sloupců. Clustery HDInsight 4.0 HBase mají Apache HBase 2.1.6 a Apache Phoenix 5.
Z hlediska uživatele se HBase podobá databázi. Data jsou uložená v řádcích a sloupcích tabulky a data v řádku jsou seskupené podle řady sloupců. HBase je schemaless databáze ve smyslu, že před jejich použitím není třeba definovat sloupce ani v nich uložený typ dat. Kód open-source se škáluje lineárně pro manipulaci s petabajty dat na tisících uzlech.
HBase má následující funkce, díky kterým je jedinečný.
Konzistentní čtení a zápisy
Operace s nízkou latencí
Automatické horizontální dělení
Automatické převzetí služeb při selhání serveru oblastí
Integrace Hadoopu/ HDFS/MapReduce
Klientské rozhraní API Java
Podporuje Thrift a REST pro front-endy mimo Javu.
Blokování mezipamětí a filtrů Bloom
Azure HDInsight HBase s Apache Phoenixem přináší následující dodatečné výhody
Rozhraní SQL a žádné rozhraní SQL
Flexibilní plánování kapacity
Globální distribuce a replikace s využitím sítí Azure
Oddělení výpočetních prostředků a úložiště
Úzce integrovaná s funkcemi zabezpečení HDInsight Enterprise
Akcelerované zápisy HDInsight HBase pro čtení a zápisy s ultra nízkou latencí
Apache Phoenix pro SQL v reálném čase, jako je dotazování
Použití Azure HDInsight s HBase umožňuje spouštět databáze NoSQL ve velkém měřítku. Jako Datoví technici pro contoso musíte být schopni spustit srovnávací testy, abyste pochopili výkon a škálování HDInsight HBase, než použijete platformu pro klíčové produkční scénáře.
HBase v HDInsight běží s oddělením výpočetních prostředků a úložiště. Clustery HDInsight HBase jsou nakonfigurované tak, aby ukládaly data přímo ve službě Azure Storage, což poskytuje nízkou latenci a vyšší elasticitu v možnostech výkonu a nákladů. Tato vlastnost umožňuje zákazníkům vytvářet interaktivní weby, které pracují s velkými datovými sadami. Vytváření služeb, které ukládají data ze snímačů a telemetrických dat z milionů koncových bodů, a k analýze těchto dat pomocí úloh Hadoopu. HBase a Hadoop jsou dobrými výchozími body pro projekty velkých objemů dat v Azure. Služby můžou umožnit aplikacím v reálném čase pracovat s velkými datovými sadami. Implementace HBase služby HDInsight používají architekturu HBase se škálováním na více systémů, která poskytuje automatické horizontální dělení tabulek. Poskytuje také silnou konzistenci pro čtení a zápisy a automatické převzetí služeb při selhání. Výkon je zvýšen ukládáním do mezipaměti pro čtení a vysokou propustností datových proudů pro zápis. Cluster HBase můžete vytvořit uvnitř virtuální sítě. Podrobnosti najdete v tématu Vytváření clusterů HDInsight v síti Azure Virtual Network.
Jako datový inženýr musíte určit nejvhodnější typ clusteru HDInsight, který se má vytvořit, aby bylo možné sestavit řešení. Clustery HBase v HDInsight použijete pro databázi NoSQL, která se škáluje lineárně a dosahuje obrovské propustnosti, poskytuje čtení s nízkou latencí a neomezené úložiště za zlomek nákladů.
Následující klíčové scénáře použití HBase ve službě HDInsight.
Úložiště párů klíč-hodnota
HBase se obvykle používá jako úložiště klíč-hodnota a je vhodný pro správu systémů zpráv.
Data ze snímačů
HBase je užitečný pro zachytávání dat shromažďovaných přírůstkově z různých zdrojů, včetně sociálních analýz, časových řad, udržování interaktivních řídicích panelů v aktualizovaném stavu s trendy a čítači a správa systémů protokolů auditu.
Dotaz v reálném čase
Apache Phoenix je dotazovací stroj SQL pro Apache HBase. Je přístupný jako ovladač JDBC a umožňuje dotazování a správu tabulek HBase pomocí SQL.
HBase jako platforma
Aplikace lze nad HBase spouštět v případě použití jako datového úložiště. Příklady zahrnují Phoenix, OpenTSDB, Kiji a Titan. Aplikace lze také integrovat s HBase. Mezi příklady patří Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark, Ganglia a Apache Drill.
V HDInsight je možné HBase použít jako samostatnou aplikaci nebo nasadit společně s dalšími aplikacemi pro analýzu velkých objemů dat, jako jsou Spark, Hadoop, Hive nebo Kafka.
Datový model HBase ukládá částečně strukturovaná data s různými datovými typy, různou velikostí sloupce a velikostí pole. Rozložení datového modelu HBase usnadňuje dělení a distribuci dat napříč clusterem. Datový model HBase se skládá z několika logických komponent – klíče řádku, řada sloupců, název tabulky, časové razítko atd.
Klíč řádku slouží k jedinečné identifikaci řádků v tabulkách HBase. Ve službě HDInsight můžete buď zapsat data do HBase přímo pomocí několika dostupných rozhraní API, jako jsou HBase REST, HBase RPC, Phoenix Query Server, hromadné načtení HBase, nebo použít integraci s několika architekturami pro velké objemy dat, jako je Apache Spark, Hive atd.
K povolení vysoké propustnosti zápisu můžete využít funkci akcelerovaných zápisů HBase. Další informace o architektuře HBase a osvědčených postupech najdete v tématu Kniha HBase.