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:

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
|
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.
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.
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 |
|
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í.