HBase Architecture: Use Cases, Components & Data Model

HBase Architektura a její důležité součásti

Architektura HBase se skládá převážně ze čtyř komponent

  • HMaster
  • HRegionserver
  • HRregiony
  • Ošetřovatel v zoo
  • HDFS

Níže je podrobná architektura HBase s komponentami:

HBase Architecture
HBase Architecture Diagram

HMaster

HMaster v HBase je implementace hlavního serveru v architektuře HBase. Funguje jako monitorovací agent pro monitorování všech instancí Region Server přítomných v clusteru a funguje jako rozhraní pro všechny změny metadat. V prostředí distribuovaného klastru běží Master na NameNode. Master spouští několik vláken na pozadí.

Následují důležité role prováděné HMaster v HBase.

  • Hraje zásadní roli z hlediska výkonu a údržby uzlů v clusteru.
  • HMaster poskytuje výkon správce a distribuuje služby na servery různých oblastí.
  • HMaster přiřazuje regiony serverům regionů.
  • HMaster má funkce, jako je řízení vyvažování zátěže a převzetí služeb při selhání, aby zvládl zátěž přes uzly přítomné v clusteru.
  • Když chce klient změnit jakékoli schéma a změnit jakékoli operace s metadaty, HMaster přebírá odpovědnost za tyto operace.

Některé z metod vystavených rozhraním HMaster Interface jsou primárně metody orientované na metadata.

  • Tabulka (createTable, removeTable, povolit, zakázat)
  • ColumnFamily (přidat sloupec, upravit sloupec)
  • Oblast (přesunout, přiřadit)

Klient komunikuje obousměrně s HMaster i ZooKeeperem. Pro operace čtení a zápisu se přímo spojuje se servery HRegion. HMaster přiřazuje regiony serverům regionů a následně kontroluje stav serverů regionů.

V celé architektuře máme několik regionálních serverů. Hlog je přítomen na regionálních serverech, které budou ukládat všechny soubory protokolu.

Servery regionu HBase

Když HBase Region Server přijme od klienta požadavky na zápis a čtení, přiřadí požadavek konkrétní oblasti, kde se nachází skutečná rodina sloupců. Klient však může přímo kontaktovat servery HRegion, není potřeba povinné povolení HMaster klientovi ohledně komunikace se servery HRegion. Klient vyžaduje pomoc HMaster, když jsou vyžadovány operace související se změnami metadat a schémat.

HRegionServer je implementace Region Server. Je zodpovědný za obsluhu a správu oblastí nebo dat, která jsou přítomna v distribuovaném clusteru. Servery regionu běží na datových uzlech přítomných v clusteru Hadoop.

HMaster se může dostat do kontaktu s více servery HRegion a provádí následující funkce.

  • Hosting a správa regionů
  • Automatické rozdělení regionů
  • Zpracování požadavků na čtení a zápis
  • Přímá komunikace s klientem

Oblasti HBase

HRegions jsou základními stavebními prvky clusteru HBase, který se skládá z distribuce tabulek a je složen z rodin sloupců. Obsahuje několik obchodů, jeden pro každou rodinu sloupců. Skládá se především ze dvou komponent, kterými jsou Memstore a Hfile.

ZooKeeper

HBase Zookeeper je centralizovaný monitorovací server, který udržuje konfigurační informace a zajišťuje distribuovanou synchronizaci. Distribuovaná synchronizace je přístup k distribuovaným aplikacím běžícím napříč clusterem s odpovědností za poskytování koordinačních služeb mezi uzly. Pokud chce klient komunikovat s regiony, musí se klient serveru nejprve obrátit na ZooKeeper.

Je to open source projekt a poskytuje tolik důležitých služeb.

Služby poskytované společností ZooKeeper

  • Udržuje informace o konfiguraci
  • Poskytuje distribuovanou synchronizaci
  • Navázání komunikace klienta s regionálními servery
  • Poskytuje pomíjivé uzly, pro které představují servery různých oblastí
  • Použitelnost dočasných uzlů hlavních serverů pro zjišťování dostupných serverů v clusteru
  • Chcete-li sledovat selhání serveru a síťové oddíly

Hlavní a podřízené uzly HBase (regionální servery) se samy zaregistrovaly u ZooKeeper. Klient potřebuje přístup ke konfiguraci kvora ZK(zookeeper), aby se mohl připojit k hlavním a regionálním serverům.

Během selhání uzlů, které se nacházejí v clusteru HBase, ZKquoram spustí chybové zprávy a začne opravovat selhání uzlů.

HDFS

HDFS je distribuovaný Hadoop File System, jak název napovídá, poskytuje distribuované prostředí pro úložiště a je to souborový systém navržený tak, aby běžel na komoditním hardwaru. Ukládá každý soubor do více bloků a pro zachování odolnosti proti chybám jsou bloky replikovány v clusteru Hadoop.

HDFS poskytuje vysoký stupeň odolnosti proti chybám a běží na levném komoditním hardwaru. Přidáním uzlů do clusteru a prováděním zpracování a ukládání pomocí levného komoditního hardwaru poskytne klientovi lepší výsledky ve srovnání se stávajícím.

Zde se data uložená v každém bloku replikují do 3 uzlů, v případě, že některý uzel selže, nedojde ke ztrátě dat, bude mít řádný záložní mechanismus obnovy.

HDFS dostat se do kontaktu s komponentami HBase a ukládat velké množství dat distribuovaným způsobem.

Datový model HBase

Datový model HBase je sada komponent, která se skládá z tabulek, řádků, rodin sloupců, buněk, sloupců a verzí. Tabulky HBase obsahují rodiny sloupců a řádky s prvky definovanými jako primární klíče. Sloupec v tabulce datového modelu HBase představuje atributy objektů.

Datový model HBase se skládá z následujících prvků,

  • Sada stolů
  • Každá tabulka s rodinami sloupců a řádky
  • Každá tabulka musí mít prvek definovaný jako primární klíč.
  • Klíč řádku funguje jako primární klíč v HBase.
  • Jakýkoli přístup k tabulkám HBase používá tento primární klíč
  • Každý sloupec přítomný v HBase označuje atribut odpovídající objektu

Případy použití HBase

Následují příklady případů použití HBase s podrobným vysvětlením řešení, které poskytuje pro různé technické problémy

Problémové prohlášení Řešení
Telekomunikační průmysl čelí následujícím technickým výzvám

  • Ukládání miliard záznamů protokolu CDR (podrobné nahrávání hovorů) generovaných telekomunikační doménou
  • Poskytování přístupu k logům CDR a fakturačním informacím zákazníků v reálném čase
  • Poskytněte nákladově efektivní řešení ve srovnání s tradičními databázovými systémy
HBase se používá k ukládání miliard řádků podrobných záznamů hovorů. Pokud se do stávající databáze RDBMS přidá 20 TB dat za měsíc, výkon se zhorší. Pro zpracování velkého množství dat v tomto případě použití je HBase nejlepším řešením. HBase provádí rychlé dotazování a zobrazuje záznamy.
Jedno Bankovní průmysl generuje miliony záznamů denně. Kromě toho bankovnictví potřebuje také analytické řešení, které dokáže odhalit podvody v peněžních transakcích Pro ukládání, zpracování a aktualizaci obrovských objemů dat a provádění analýz je ideálním řešením – HBase integrovaný s několika komponentami ekosystému Hadoop.

Kromě toho lze použít HBase

  • Kdykoli je potřeba psát náročné aplikace.
  • Provádění online analýzy protokolů a vytváření zpráv o dodržování předpisů.

Úložný mechanismus v HBase

HBase je sloupcově orientovaná databáze a data jsou uložena v tabulkách. Tabulky jsou seřazeny podle RowId. Jak je uvedeno níže, HBase má RowId, což je kolekce několika rodin sloupců, které jsou v tabulce přítomny.

Rodiny sloupců, které jsou přítomny ve schématu, jsou páry klíč–hodnota. Pokud se podrobně podíváme na každou rodinu sloupců, která má více čísel sloupců. Hodnoty sloupců uložené v paměti disku. Každá buňka tabulky má svá vlastní metadata, jako je časové razítko a další informace.

Úložný mechanismus v HBase
Úložný mechanismus v HBase

V HBase jsou uvedeny klíčové pojmy představující schéma tabulky

  • Tabulka: Kolekce přítomných řádků.
  • Řádek: Sbírka rodin sloupů.
  • Rodina sloupců: Kolekce sloupců.
  • Sloupec: Kolekce párů klíč–hodnota.
  • Namespace: Logické seskupení tabulek.
  • Buňka: N-tice {řádek, sloupec, verze} přesně specifikuje definici buňky v HBase.

Úložiště orientovaná na sloupce vs. na řádky

Sloupcová a Řádkově orientovaná úložiště se liší mechanismem ukládání. Jak všichni víme, tradiční relační modely ukládají data ve formátu založeném na řádcích, jako jsou řádky dat. Sloupcově orientovaná úložiště ukládají datové tabulky ve smyslu sloupců a rodin sloupců.

Následující tabulka uvádí některé klíčové rozdíly mezi těmito dvěma úložišti

Databáze orientovaná na sloupce Řádkově orientovaná databáze
Pokud jde o proces a analýzu, používáme tento přístup. Jako Online analytické zpracování a to jsou aplikace. Online transakční proces Tento přístup využívají bankovní a finanční domény.
Množství dat, které lze v tomto modelu uložit, je velmi obrovské, pokud jde o petabajty Je určen pro malý počet řádků a sloupců.

Vysvětlení dat pro čtení a zápis HBase

Operace čtení a zápisu z klienta do souboru Hfile lze zobrazit na níže uvedeném diagramu.

HBase čtení a zápis dat

Krok 1) Klient chce zapisovat data a následně nejprve komunikuje se serverem regionů a poté regiony

Krok 2) Oblasti kontaktující paměťové úložiště za účelem uložení přidružené k rodině sloupců

Krok 3) Nejprve se data uloží do Memstore, kde se data třídí a poté se vyprázdní do HFile. Hlavním důvodem pro použití Memstore je ukládání dat v distribuovaném systému souborů založeném na klíči řádků. Memstore bude umístěn do hlavní paměti serveru regionu, zatímco budou HFiles zapsány do HDFS.

Krok 4) Klient chce číst data z oblastí

Krok 5) Klient zase může mít přímý přístup do úložiště Mem a může požadovat data.

Krok 6) Klient přistupuje k HFiles, aby získal data. Data jsou načítána a získávána Klientem.

Memstore uchovává v paměti úpravy obchodu. Hierarchie objektů v oblastech HBase je uvedena shora dolů v tabulce níže.

Tabulka Tabulka HBase přítomná v clusteru HBase
Kraj HRregiony pro prezentované tabulky
Obchod Ukládá se podle ColumnFamily pro každou oblast tabulky
Memstore
  • Memstore pro každý obchod pro každou oblast pro tabulku
  • Před vyprázdněním do HFiles třídí data
  • Výkon zápisu a čtení se zvýší díky řazení
StoreFile StoreFiles pro každý obchod pro každou oblast pro tabulku
Blokovat Bloky přítomné uvnitř StoreFiles

HBase vs. HDFS

HBase běží nad HDFS a Hadoop. Některé klíčové rozdíly mezi HDFS a HBase jsou z hlediska datových operací a zpracování.

HBASE HDFS
Operace s nízkou latencí Operace s vysokou latencí
Náhodné čtení a zápis Napsat jednou Číst mnohokrát
Přístup přes příkazy shellu, klientské rozhraní API Java, REST, Avro nebo Thrift Primárně přístupné prostřednictvím úloh MR (Map Reduce).
Lze provádět ukládání i zpracování Je to pouze pro úložné prostory

Některé typické průmyslové aplikace IT využívají operace HBase spolu s Hadoopem. Aplikace zahrnují burzovní data, online bankovní datové operace a zpracování Hbase je nejvhodnější metodou řešení.

Shrnutí

  • Komponenty architektury HBase: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • HMaster v HBase je implementace hlavního serveru v architektuře HBase.
  • Když HBase Region Server obdrží od klienta požadavky na zápis a čtení, přiřadí požadavek konkrétní oblasti, kde se nachází skutečná rodina sloupců.
  • HRegions jsou základními stavebními prvky clusteru HBase, který se skládá z distribuce tabulek a je složen z rodin sloupců.
  • HBase Zookeeper je centralizovaný monitorovací server, který udržuje konfigurační informace a zajišťuje distribuovanou synchronizaci.
  • HDFS poskytuje vysoký stupeň odolnosti proti chybám a běží na levném komoditním hardwaru.
  • Datový model HBase je sada komponent, která se skládá z tabulek, řádků, rodin sloupců, buněk, sloupců a verzí.
  • Sloupcová a Řádkově orientovaná úložiště se liší mechanismem ukládání.