Architektúra HBase, komponenty, dátový model a prípady použitia

Obsah:

Anonim

Mechanizmus ukladania v HBase

HBase je stĺpcovo orientovaná databáza a údaje sa ukladajú do tabuliek. Tabuľky sú zoradené podľa RowId. Ako je uvedené nižšie, HBase má RowId, čo je kolekcia niekoľkých skupín stĺpcov, ktoré sú v tabuľke.

Skupiny stĺpcov, ktoré sú prítomné v schéme, sú páry kľúč - hodnota. Ak podrobne sledujeme každú rodinu stĺpcov s viacerými počtami stĺpcov. Hodnoty stĺpcov uložené v pamäti disku. Každá bunka tabuľky má svoje vlastné metadáta, ako je časová pečiatka a ďalšie informácie.

Mechanizmus ukladania v HBase

Pokiaľ ide o HBase, nasledujú nasledujúce kľúčové pojmy predstavujúce schému tabuľky

  • Tabuľka : Zbierka prítomných riadkov.
  • Riadok : Zbierka rodín stĺpcov.
  • Rodina stĺpcov : Zbierka stĺpcov.
  • Stĺpec : Zbierka párov kľúč - hodnota.
  • Namespace : Logické zoskupenie tabuliek.
  • Bunka : Tuple {riadok, stĺpec, verzia} presne špecifikuje definíciu bunky v HBase.

V tomto návode sa dozviete,

  • Mechanizmus ukladania v HBase
  • Dátový model HBase
  • Architektúra HBase a jej dôležité súčasti
  • Vysvetlenie údajov HBase na čítanie a zápis
  • Prípady použitia HBase
  • HBASE vs. HDFS

Sklady orientované na stĺpy vs riadky

Skladovanie orientované na stĺpce a riadky sa líši svojim mechanizmom ukladania. Ako všetci vieme, tradičné relačné modely ukladajú údaje v riadkovom formáte, ako v riadkoch údajov. Sklady orientované na stĺpce ukladajú tabuľky s údajmi, pokiaľ ide o stĺpce a rodiny stĺpcov.

V nasledujúcej tabuľke sú uvedené niektoré kľúčové rozdiely medzi týmito dvoma úložiskami

Stĺpcovo orientovaná databáza Riadkovo orientovaná databáza
  • Pokiaľ ide o situáciu v oblasti procesov a analýz, používame tento prístup. Napríklad online analytické spracovanie a jeho aplikácie.
  • Tento prístup využíva proces online transakcií, ako sú bankové a finančné domény.
  • Množstvo dát, ktoré je možné uložiť v tomto modeli, je veľmi veľké, ako pokiaľ ide o petabajty
  • Je určený pre malý počet riadkov a stĺpcov.

Dátový model HBase

Dátový model HBase je sada komponentov, ktorá pozostáva z tabuliek, riadkov, skupín stĺpcov, buniek, stĺpcov a verzií. Tabuľky HBase obsahujú rodiny stĺpcov a riadky s prvkami definovanými ako primárne kľúče. Stĺpec v tabuľke dátových modelov HBase predstavuje atribúty objektov.

Dátový model HBase pozostáva z nasledujúcich prvkov,

  • Sada tabuliek
  • Každá tabuľka s rodinami stĺpcov a riadkami
  • Každá tabuľka musí mať prvok definovaný ako primárny kľúč.
  • Kľúč riadku funguje ako primárny kľúč v HBase.
  • Akýkoľvek prístup k tabuľkám HBase používa tento primárny kľúč
  • Každý stĺpec prítomný v HBase označuje atribút zodpovedajúci objektu

Architektúra HBase a jej dôležité súčasti

Nižšie je uvedený podrobný návrh architektúry HBase s komponentmi:

Schéma architektúry HBase

Architektúra HBase sa skladá hlavne zo štyroch komponentov

  • HMaster
  • HRegionserver
  • HRegiony
  • Ošetrovateľ v zoo
  • HDFS

HMaster:

HMaster v HBase je implementácia servera Master v architektúre HBase. Funguje ako monitorovací agent na monitorovanie všetkých inštancií servera Region Server prítomných v klastri a slúži ako rozhranie pre všetky zmeny metadát. V prostredí distribuovaného klastra beží Master na NameNode. Master prevádzkuje niekoľko vlákien na pozadí.

Nasledujú dôležité úlohy, ktoré vykonáva HMaster v HBase.

  • Zohráva zásadnú úlohu z hľadiska výkonu a údržby uzlov v klastri.
  • HMaster poskytuje výkon správcu a distribuuje služby na rôzne regionálne servery.
  • HMaster priraďuje regióny serverom regiónov.
  • HMaster má funkcie, ako je riadenie vyrovnávania záťaže a prepnutie po zlyhaní na zvládnutie zaťaženia cez uzly prítomné v klastri.
  • Keď chce klient zmeniť ktorúkoľvek schému a zmeniť akékoľvek operácie metadát, HMaster preberá zodpovednosť za tieto operácie.

Niektoré z metód exponovaných rozhraním HMaster Interface sú primárne metaúdajovo orientované metódy.

  • Tabuľka (createTable, removeTable, enable, disable)
  • ColumnFamily (pridať stĺpec, upraviť stĺpec)
  • Región (presunúť, priradiť)

Klient komunikuje obojsmerne s programami HMaster a ZooKeeper. Pre operácie čítania a zápisu je v priamom kontakte so servermi HRegion. HMaster priradí regióny regionálnym serverom a následne skontroluje zdravotný stav regionálnych serverov.

V celej architektúre máme servery s viacerými regiónmi. Hlog je prítomný na regionálnych serveroch, ktoré budú ukladať všetky súbory denníka.

Servery regiónov HBase:

Keď server HBase Region Server prijíma od klienta požiadavky na zápis a čítanie, priradí požiadavku konkrétnej oblasti, kde sa nachádza skutočná rodina stĺpcov. Klient však môže priamo kontaktovať servery HRegion, čo sa týka komunikácie so servermi HRegion, pre klienta nie je potrebné povinné povolenie HMaster. Klient vyžaduje pomoc HMaster, keď sú potrebné operácie spojené so zmenami metadát a schém.

HRegionServer je implementácia servera Region. Je zodpovedný za poskytovanie a správu regiónov alebo údajov, ktoré sú prítomné v distribuovanom klastri. Regionálne servery bežia na dátových uzloch prítomných v klastri Hadoop.

HMaster sa môže dostať do kontaktu s viacerými servermi HRegion a vykonávať nasledujúce funkcie.

  • Hostiteľské a riadiace regióny
  • Rozdelenie oblastí automaticky
  • Vybavovanie požiadaviek na čítanie a zápis
  • Priama komunikácia s klientom

Regióny HBase:

HRegiony sú základné stavebné prvky klastra HBase, ktoré pozostávajú z distribúcie tabuliek a sú tvorené rodinami stĺpcov. Obsahuje viac obchodov, jeden pre každú rodinu stĺpcov. Skladá sa hlavne z dvoch komponentov, ktorými sú Memstore a Hfile.

Ošetrovateľ v zoo:

HBase Zookeeper je centralizovaný monitorovací server, ktorý udržiava informácie o konfigurácii a poskytuje distribuovanú synchronizáciu. Distribuovaná synchronizácia je prístup k distribuovaným aplikáciám bežiacim v klastri so zodpovednosťou za poskytovanie koordinačných služieb medzi uzlami. Ak chce klient komunikovať s regiónmi, musí sa najskôr obrátiť na server ZooKeeper.

Je to projekt s otvoreným zdrojom a poskytuje toľko dôležitých služieb.

Služby poskytované predajcom ZooKeeper

  • Udržuje informácie o konfigurácii
  • Poskytuje distribuovanú synchronizáciu
  • Nadviazanie komunikácie klienta so servermi regiónu
  • Poskytuje prchavé uzly, pre ktoré predstavujú servery rôznych oblastí
  • Použiteľnosť hlavných serverov dočasných uzlov na zisťovanie dostupných serverov v klastri
  • Sledovať zlyhanie servera a sieťové oddiely

Hlavné a podriadené uzly HBase (regionálne servery) sa zaregistrovali na ZooKeeper. Klient sa potrebuje pripojiť ku konfigurácii kvóra ZK (zookeeper) na pripojenie k hlavným a regionálnym serverom.

Počas zlyhania uzlov, ktoré sa nachádzajú v klastri HBase, ZKquoram spustí chybové správy a začne opravovať zlyhané uzly.

HDFS:

HDFS je distribuovaný súborový systém Hadoop, ako už z názvu vyplýva, poskytuje distribuované prostredie pre úložisko a je to súborový systém navrhnutý tak, aby fungoval na komoditnom hardvéri. Ukladá každý súbor do viacerých blokov a kvôli zachovaniu odolnosti proti chybám sa bloky replikujú cez klaster Hadoop.

HDFS poskytuje vysoký stupeň chybovej tolerancie a pracuje na lacnom komoditnom hardvéri. Pridaním uzlov do klastra a vykonaním spracovania a ukladania pomocou lacného komoditného hardvéru prinesie klientovi lepšie výsledky v porovnaní s existujúcim.

Tu sa dáta uložené v každom bloku replikujú do 3 uzlov, a to v prípade, že akýkoľvek uzol spadne, nedôjde k ich strate, bude mať správny mechanizmus zálohovania.

HDFS sa dostane do kontaktu s komponentami HBase a uloží veľké množstvo dát distribuovaným spôsobom.

Vysvetlenie údajov HBase na čítanie a zápis

Operácie čítania a zápisu z klienta do súboru Hfile sú uvedené v nasledujúcom diagrame.

Krok 1) Klient chce zapisovať údaje a potom najskôr komunikuje so serverom Regions a potom s regiónmi

Krok 2) Regióny kontaktujúce memstore pre uloženie spojené s rodinou stĺpcov

Krok 3) Najprv sa dáta uložia do Memstore, kde sa dáta zoradia a potom sa načítajú do súboru HFile. Hlavným dôvodom použitia Memstore je ukladanie údajov do distribuovaného súborového systému založeného na Row Row. Memstore sa umiestni do hlavnej pamäte servera regiónu, zatiaľ čo súbory HF sa zapisujú do HDFS.

Krok 4) Klient chce načítať údaje z regiónov

Krok 5) Na druhej strane môže mať klient priamy prístup do obchodu Mem a môže požadovať údaje.

Krok 6) Klient pristúpi k súborom HFiles, aby získal údaje. Údaje sú načítané a načítané klientom.

Memstore uchováva v obchode úpravy v pamäti. Hierarchia objektov v regiónoch HBase je znázornená zhora nadol v nasledujúcej tabuľke.

Tabuľka Tabuľka HBase prítomná v klastri HBase
Región HRegiony pre predložené tabuľky
Uložiť Ukladá pre každú oblasť tabuľky pre každú ColumnFamily
Memstore
  • Memstore pre každý obchod pre každý región v tabuľke
  • Pred zaradením do súborov HF triedi dáta
  • Z dôvodu triedenia sa zvýši výkon zápisu a čítania
StoreFile StoreFiles pre každý obchod pre každý región tabuľky
Blokovať Bloky prítomné vo vnútri StoreFiles

Prípady použitia HBase

Nasledujú príklady prípadov použitia HBase s podrobným vysvetlením riešenia, ktoré poskytuje pri rôznych technických problémoch

Vyhlásenie o probléme Riešenie
Telekomunikačný priemysel čelí nasledujúcim technickým výzvam
  • Ukladanie miliárd záznamov protokolu CDR (podrobný záznam hovoru) generovaných telekomunikačnou doménou
  • Poskytovanie prístupu v reálnom čase k protokolom CDR a fakturačným informáciám zákazníkov
  • Poskytujú nákladovo efektívne riešenie v porovnaní s tradičnými databázovými systémami
HBase sa používa na ukladanie miliárd riadkov podrobných záznamov hovorov. Ak sa k existujúcej databáze RDBMS pridá mesačne 20 TB dát, výkon sa zhorší. Na spracovanie veľkého množstva údajov v tomto prípade použitia je najlepším riešením HBase. HBase vykonáva rýchle dopytovanie a zobrazuje záznamy.
Bankovníctvo generuje milióny záznamov na dennej báze. Okrem toho bankový priemysel potrebuje aj analytické riešenie, ktoré dokáže odhaliť Podvody v peňažných transakciách Na ukladanie, spracovanie a aktualizáciu veľkého množstva údajov a vykonávanie analýz je ideálnym riešením - HBase integrovaný s niekoľkými komponentmi ekosystému Hadoop.

Okrem toho je možné použiť HBase

  • Kedykoľvek je potrebné písať náročné aplikácie.
  • Vykonávanie online analýzy protokolov a generovanie správ o súlade.

HBase vs. HDFS

HBase beží nad HDFS a Hadoop. Niektoré kľúčové rozdiely medzi HDFS a HBase sú z hľadiska dátových operácií a spracovania.

HBASE

HDFS

  • Operácie s nízkou latenciou
  • Operácie s vysokou latenciou
  • Náhodné čítanie a zápis
  • Písať raz Čítať mnohokrát
  • Prístup cez shell príkazy, klientske API v prostredí Java, REST, Avro alebo Thrift
  • Primárne prístupné prostredníctvom úloh MR (Map Reduce)
  • Je možné vykonať ukladanie aj spracovanie
  • Je to len pre skladovacie priestory

Niektoré typické priemyselné aplikácie v oblasti IT používajú operácie HBase spolu s Hadoop. Aplikácie zahŕňajú údaje z burzy, dátové operácie online bankovníctva a spracovanie Hbase je najvhodnejšia metóda riešenia.

Zhrnutie

Hbase je jedna zo stĺpcovo distribuovaných databáz NoSql dostupných v apache foundation. HBase poskytuje vyšší výkon pri načítaní menej záznamov ako Hadoop alebo Hive. Je veľmi ľahké vyhľadať danú vstupnú hodnotu, pretože podporuje indexovanie, transakcie a aktualizáciu.

Môžeme vykonávať online analýzu v reálnom čase pomocou Hbase integrovaného s ekosystémom Hadoop. Má automatické a konfigurovateľné rozdelenie na súbory údajov alebo tabuľky a poskytuje pokojné rozhrania API na vykonávanie úloh MapReduce.