Mechanismus skladování v HBase
HBase je sloupově orientovaná databáze a data jsou ukládána do tabulek. 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.
Skupiny sloupců, které jsou ve schématu, jsou páry klíč – hodnota. Pokud podrobně sledujeme každou rodinu sloupců s více počty sloupců. Hodnoty sloupců uložené do paměti disku. Každá buňka tabulky má svá vlastní metadata, jako je časové razítko a další informace.
Do HBase jsou následující klíčové pojmy představující schéma tabulky
- Tabulka : Je přítomna sbírka řádků.
- Řádek : Sbírka rodin sloupců.
- Rodina sloupců : Sbírka sloupců.
- Sloupec : Sbírka párů klíč – hodnota.
- Obor názvů : Logické seskupení tabulek.
- Buňka : Tuple {řádek, sloupec, verze} přesně specifikuje definici buňky v HBase.
V tomto tutoriálu se dozvíte,
- Mechanismus skladování v HBase
- Datový model HBase
- Architektura HBase a její důležité součásti
- Vysvětlení údajů o čtení a zápisu HBase
- Případy použití HBase
- HBASE vs. HDFS
Úložiště orientovaná na sloupce vs řádky
Úložiště orientovaná na sloupce a řádky se liší mechanismem úložiště. Jak všichni víme, tradiční relační modely ukládají data z hlediska řádkového formátu, jako z hlediska řádků dat. Úložiště orientovaná na sloupce ukládají datové tabulky, pokud jde o sloupce a rodiny sloupců.
Následující tabulka uvádí některé klíčové rozdíly mezi těmito dvěma úložišti
Sloupcově orientovaná databáze | Řádkově orientovaná databáze |
|
|
|
|
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ých modelů 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
Architektura HBase a její důležité součásti
Níže je uveden podrobný návrh technologie HBase s komponentami:
Architektura HBase se skládá hlavně ze čtyř komponent
- HMaster
- HRegionserver
- HRegiony
- Zookeeper
- HDFS
HMaster:
HMaster v HBase je implementace hlavního serveru v architektuře HBase. Funguje jako monitorovací agent pro monitorování všech instancí Region Serveru přítomných v klastru a funguje jako rozhraní pro všechny změny metadat. V prostředí distribuovaného klastru běží Master na NameNode. Master provozuje několik podprocesů na pozadí.
Níže jsou uvedeny důležité role, které provádí HMaster v HBase.
- Hraje zásadní roli z hlediska výkonu a údržby uzlů v klastru.
- HMaster poskytuje výkon správce a distribuuje služby na různé servery v regionech.
- HMaster přiřadí regiony regionálním serverům.
- HMaster má funkce, jako je řízení vyrovnávání zátěže a převzetí služeb při selhání pro zvládnutí zatížení přes uzly přítomné v klastru.
- Když chce klient změnit jakékoli schéma a změnit jakékoli operace metadat, přebírá HMaster odpovědnost za tyto operace.
Některé z metod vystavených rozhraním HMaster jsou primárně metody zaměřené na metadata.
- Tabulka (createTable, removeTable, enable, disable)
- ColumnFamily (přidat sloupec, upravit sloupec)
- Region (přesunout, přiřadit)
Klient komunikuje obousměrně s HMaster i ZooKeeper. Pro operace čtení a zápisu je v přímém kontaktu se servery HRegion. HMaster přiřadí regiony regionálním serverům a následně zkontroluje stav regionálních serverů.
V celé architektuře máme více regionálních serverů. Hlog je přítomen na regionálních serverech, které budou ukládat všechny soubory protokolu.
Servery regionů HBase:
Když server 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í rodina skutečných sloupců. Klient však může přímo kontaktovat se servery HRegion, není nutné 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 Serveru. Je zodpovědný za obsluhu a správu regionů nebo dat, která jsou přítomna v distribuovaném klastru. Regionální servery 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ět následující funkce.
- Hostování a správa regionů
- Rozdělení oblastí automaticky
- Zpracování požadavků na čtení a zápis
- Přímá komunikace s klientem
Regiony HBase:
HRegions jsou základní stavební prvky klastru HBase, které se skládají z distribuce tabulek a skládají se z rodin sloupců. Obsahuje několik obchodů, jeden pro každou rodinu sloupců. Skládá se hlavně ze dvou komponent, kterými jsou Memstore a Hfile.
ZooKeeper:
HBase Zookeeper je centralizovaný monitorovací server, který udržuje informace o konfiguraci a zajišťuje distribuovanou synchronizaci. Distribuovaná synchronizace je přístup k distribuovaným aplikacím spuštěným v klastru 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.
Jedná se o projekt s otevřeným zdrojovým kódem a poskytuje tolik důležitých služeb.
Služby poskytované společností ZooKeeper
- Udržuje informace o konfiguraci
- Poskytuje distribuovanou synchronizaci
- Vytvoření komunikace s klienty se servery regionu
- Poskytuje pomíjivé uzly, pro které představují servery různých oblastí
- Použitelnost hlavních serverů dočasných uzlů pro zjišťování dostupných serverů v klastru
- Sledovat selhání serveru a síťové oddíly
Hlavní a podřízené uzly HBase (servery regionů) se 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 vyskytují v klastru HBase, ZKquoram spustí chybové zprávy a začne opravit vadné uzly.
HDFS:
HDFS je distribuovaný souborový systém Hadoop, jak název napovídá, poskytuje distribuované prostředí pro úložiště a je to souborový systém navržený tak, aby fungoval 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 napříč clusterem Hadoop.
HDFS poskytuje vysoký stupeň chybné snášenlivosti a běží na levném komoditním hardwaru. Přidáním uzlů do klastru a provedení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ů, a to v případě, že některý uzel spadne, nedojde ke ztrátě dat, bude mít vhodný mechanismus zálohování.
HDFS se dostane do kontaktu s komponentami HBase a ukládá velké množství dat distribuovaným způsobem.
Vysvětlení údajů o čtení a zápisu HBase
Operace čtení a zápisu z klienta do souboru Hfile lze zobrazit v následujícím diagramu.
Krok 1) Klient chce zapisovat data a následně nejprve komunikuje se serverem Regiony a poté s regiony
Krok 2) Oblasti kontaktující memstore pro ukládání spojené s rodinou sloupců
Krok 3) Nejprve se data uloží do Memstore, kde se data setřídí a poté se vloží 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 Row Row. Memstore bude umístěn do hlavní paměti serveru regionu, zatímco soubory HF budou zapsány do HDFS.
Krok 4) Klient chce číst data z regionů
Krok 5) Klient pak může mít přímý přístup k Mem store a může požadovat data.
Krok 6) Klient přistupuje k HFiles, aby získal data. Data jsou načtena a načtena Klientem.
Memstore uchovává v paměti úpravy úložiště. Hierarchie objektů v regionech HBase je znázorněna shora dolů v tabulce níže.
Stůl | Tabulka HBase v clusteru HBase |
Kraj | HRegiony pro prezentované tabulky |
Ukládat | Ukládá za ColumnFamily pro každou oblast tabulky |
Memstore |
|
StoreFile | StoreFiles pro každý obchod pro každou oblast tabulky |
Blok | Bloky přítomné uvnitř StoreFiles |
Případy použití HBase
Následuje příklad 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 je do stávající databáze RDBMS přidáno 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. |
Bankovnictví generuje miliony záznamů na denní bázi. Kromě toho bankovní průmysl také potřebuje analytické řešení, které dokáže odhalit podvody v peněžních transakcích | Chcete-li ukládat, zpracovávat a aktualizovat obrovské objemy dat a provádět analýzy, 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 generování zpráv o shodě.
HBase vs. HDFS
HBase běží na HDFS a Hadoop. Některé klíčové rozdíly mezi HDFS a HBase jsou z hlediska datových operací a zpracování.
HBASE |
HDFS |
|
|
|
|
|
|
|
|
|
|
Některé typické IT průmyslové aplikace používají operace HBase spolu s Hadoop. Mezi aplikace patří data z burzy, datové operace online bankovnictví a zpracování Hbase je nejvhodnější metoda řešení.
souhrn
Hbase je jednou ze sloupcových distribuovaných databází NoSql dostupných v Apache Foundation. HBase poskytuje větší výkon při načítání méně záznamů než Hadoop nebo Hive. Vyhledat danou vstupní hodnotu je velmi snadné, protože podporuje indexování, transakce a aktualizaci.
Můžeme provádět online analýzu v reálném čase pomocí Hbase integrovaného s ekosystémem Hadoop. Má automatické a konfigurovatelné dělení datových sad nebo tabulek a poskytuje klidná rozhraní API k provádění úloh MapReduce.