HBase ArchiTecture: Slučajevi uporabe, komponente i model podataka

HBase Architekstura i njezine važne komponente

HBase arhitektura sastoji se uglavnom od četiri komponente

  • HMaster
  • HRegionserver
  • HRegije
  • Čuvar zoo vrta
  • HDFS

Ispod je detaljna arhitektura HBase-a s komponentama:

HBase Architektura
HBase Archidijagram strukture

HMaster

HMaster u HBase je implementacija glavnog poslužitelja u HBase arhitekturi. Djeluje kao agent za praćenje za praćenje svih instanci regionalnog poslužitelja prisutnih u klasteru i djeluje kao sučelje za sve promjene metapodataka. U okruženju distribuiranog klastera, Master radi na NameNode. Master pokreće nekoliko pozadinskih niti.

Sljedeće su važne uloge koje obavlja HMaster u HBase-u.

  • Igra vitalnu ulogu u smislu izvedbe i održavanja čvorova u klasteru.
  • HMaster pruža administrativne performanse i distribuira usluge različitim regionalnim poslužiteljima.
  • HMaster dodjeljuje regije regionalnim poslužiteljima.
  • HMaster ima značajke kao što je upravljanje balansiranjem opterećenja i prelaskom u slučaju kvara za rukovanje opterećenjem preko čvorova prisutnih u klasteru.
  • Kada klijent želi promijeniti bilo koju shemu i bilo koju operaciju metapodataka, HMaster preuzima odgovornost za te operacije.

Neke od metoda koje izlaže HMaster sučelje prvenstveno su metode orijentirane na metapodatke.

  • Tablica (stvori tablicu, ukloni tablicu, omogući, onemogući)
  • ColumnFamily (dodajte stupac, izmijenite stupac)
  • Regija (premjestiti, dodijeliti)

Klijent komunicira dvosmjerno s HMasterom i ZooKeeperom. Za operacije čitanja i pisanja, izravno kontaktira s HRegion poslužiteljima. HMaster dodjeljuje regije regionalnim poslužiteljima i zauzvrat provjerava zdravstveno stanje regionalnih poslužitelja.

U cijeloj arhitekturi imamo više regionalnih poslužitelja. Hlog prisutan u regionalnim poslužiteljima koji će pohraniti sve datoteke dnevnika.

HBase regionalni poslužitelji

Kada HBase regionalni poslužitelj primi zahtjeve za pisanje i čitanje od klijenta, on dodjeljuje zahtjev određenoj regiji, gdje se nalazi stvarna obitelj stupaca. Međutim, klijent može izravno kontaktirati s HRegion poslužiteljima, nema potrebe za HMaster obaveznim dopuštenjem klijentu u vezi s komunikacijom s HRegion poslužiteljima. Klijent zahtijeva HMaster pomoć kada su potrebne operacije povezane s metapodacima i promjenama sheme.

HRegionServer je implementacija regionalnog poslužitelja. Odgovoran je za posluživanje i upravljanje regijama ili podacima koji su prisutni u distribuiranom klasteru. Regionalni poslužitelji rade na podatkovnim čvorovima prisutnim u Hadoop klasteru.

HMaster može stupiti u kontakt s više HRegion poslužitelja i obavlja sljedeće funkcije.

  • Hosting i upravljanje regijama
  • Automatsko dijeljenje regija
  • Rukovanje zahtjevima za čitanje i pisanje
  • Izravna komunikacija s klijentom

HBase regije

HRegije su osnovni građevni elementi HBase klastera koji se sastoji od distribucije tablica i sastoji se od obitelji stupaca. Sadrži više trgovina, po jednu za svaku obitelj stupaca. Sastoji se uglavnom od dvije komponente, a to su Memstore i Hfile.

Čuvar zoo vrta

HBase Zookeeper je centralizirani poslužitelj za nadzor koji održava informacije o konfiguraciji i pruža distribuiranu sinkronizaciju. Distribuirana sinkronizacija je pristup distribuiranim aplikacijama koje se izvode preko klastera s odgovornošću za pružanje usluga koordinacije između čvorova. Ako klijent želi komunicirati s regijama, klijent poslužitelja mora prvo pristupiti ZooKeeperu.

To je projekt otvorenog koda i pruža toliko važnih usluga.

Usluge koje pruža Čuvar zoo vrta

  • Održava informacije o konfiguraciji
  • Omogućuje distribuiranu sinkronizaciju
  • Uspostava komunikacije klijenta s regionalnim poslužiteljima
  • Pruža efemerne čvorove za koje predstavljaju različite regionalne poslužitelje
  • Upotrebljivost efemernih čvorova glavnih poslužitelja za otkrivanje dostupnih poslužitelja u klasteru
  • Za praćenje kvara poslužitelja i mrežnih particija

Glavni i HBase slave čvorovi (regionalni poslužitelji) registrirali su se kod ZooKeepera. Klijent treba pristup ZK(zookeeper) konfiguraciji kvoruma za povezivanje s glavnim i regionalnim poslužiteljima.

Tijekom kvara čvorova prisutnih u HBase klasteru, ZKquoram će pokrenuti poruke o pogrešci i započeti popravljati neispravne čvorove.

HDFS

HDFS je Hadoop distribuiran File System, kao što naziv govori, pruža distribuirano okruženje za pohranu i to je datotečni sustav dizajniran na način da radi na standardnom hardveru. Svaku datoteku pohranjuje u više blokova, a kako bi se održala tolerancija na pogreške, blokovi se repliciraju preko Hadoop klastera.

HDFS pruža visok stupanj tolerancije na greške i radi na jeftinom standardnom hardveru. Dodavanjem čvorova u klaster i izvođenjem obrade i pohranjivanja korištenjem jeftinog standardnog hardvera, klijent će dobiti bolje rezultate u odnosu na postojeći.

Ovdje se podaci pohranjeni u svakom bloku repliciraju u 3 čvora. U slučaju da bilo koji čvor padne, neće doći do gubitka podataka, imat će odgovarajući mehanizam za oporavak sigurnosne kopije.

HDFS stupi u kontakt s HBase komponentama i distribuira veliku količinu podataka.

HBase podatkovni model

HBase podatkovni model je skup komponenti koji se sastoji od tablica, redaka, obitelji stupaca, ćelija, stupaca i verzija. HBase tablice sadrže obitelji stupaca i retke s elementima definiranim kao primarni ključevi. Stupac u tablici modela podataka HBase predstavlja atribute objekata.

HBase Data Model sastoji se od sljedećih elemenata,

  • Set stolova
  • Svaka tablica s obiteljima stupaca i redcima
  • Svaka tablica mora imati element definiran kao primarni ključ.
  • Ključ retka djeluje kao primarni ključ u HBase-u.
  • Svaki pristup HBase tablicama koristi ovaj primarni ključ
  • Svaki stupac prisutan u HBase označava atribut koji odgovara objektu

HBase slučajevi korištenja

Slijede primjeri slučajeva korištenja HBase-a s detaljnim objašnjenjem rješenja koje nudi za različite tehničke probleme

Izjava o problemu Riješenje
Telekomunikacijska industrija suočava se sa sljedećim tehničkim izazovima

  • Pohranjivanje milijardi CDR (detaljnog snimanja poziva) zapisa dnevnika koje generira telekom domena
  • Pružanje pristupa u stvarnom vremenu CDR zapisnicima i podacima o naplati kupaca
  • Pružite troškovno učinkovito rješenje u usporedbi s tradicionalnim sustavima baza podataka
HBase se koristi za pohranjivanje milijardi redaka detaljnih zapisa poziva. Ako se 20TB podataka mjesečno doda postojećoj RDBMS bazi podataka, performanse će se pogoršati. Za obradu velike količine podataka u ovom slučaju korištenja, HBase je najbolje rješenje. HBase izvodi brze upite i prikazuje zapise.
The Bankarska industrija generira milijune zapisa na dnevnoj bazi. Uz to, bankarska industrija također treba analitičko rješenje koje može otkriti prijevaru u novčanim transakcijama Za pohranu, obradu i ažuriranje golemih količina podataka i izvođenje analitike, idealno rješenje je – HBase integriran s nekoliko Hadoop komponenti ekosustava.

Osim toga, HBase se može koristiti

  • Kad god postoji potreba za pisanjem teških aplikacija.
  • Izvođenje online analize dnevnika i generiranje izvješća o usklađenosti.

Mehanizam pohrane u HBase

HBase je baza podataka orijentirana na stupce i podaci se pohranjuju u tablicama. Tablice su sortirane prema RowId. Kao što je prikazano u nastavku, HBase ima RowId, koji je zbirka nekoliko obitelji stupaca koji su prisutni u tablici.

Obitelji stupaca koje su prisutne u shemi su parovi ključ-vrijednost. Promotrimo li detaljno svaku obitelj stupaca koja ima višestruki broj stupaca. Vrijednosti stupaca pohranjene u memoriju diska. Svaka ćelija tablice ima vlastite metapodatke poput vremenske oznake i drugih informacija.

Mehanizam pohrane u HBase
Mehanizam pohrane u HBase

Dolazeći u HBase, sljedeći su ključni pojmovi koji predstavljaju shemu tablice

  • Stol: Zbirka prisutnih redaka.
  • Red: Zbirka obitelji stupaca.
  • Stupac Obitelj: Zbirka kolumni.
  • Kolona: Zbirka parova ključ-vrijednost.
  • Prostor: Logičko grupiranje tablica.
  • Ćelija: {row, column, version} tuple točno specificira definiciju ćelije u HBase-u.

Pohrane orijentirane na stupce naspram retka

Pohrane orijentirane na stupce i retke razlikuju se po mehanizmu pohrane. Kao što svi znamo, tradicionalni relacijski modeli pohranjuju podatke u formatu temeljenom na redovima kao u redovima podataka. Pohrane orijentirane na stupce pohranjuju tablice podataka u smislu stupaca i obitelji stupaca.

Sljedeća tablica daje neke ključne razlike između ove dvije pohrane

Baza podataka orijentirana na stupce Baza podataka usmjerena na redak
Kada je situacija u procesu i analitici mi koristimo ovaj pristup. Kao npr Online analitička obrada i to su aplikacije. Online transakcijski proces kao što su domene bankarstva i financija koriste ovaj pristup.
Količina podataka koju ovaj model može pohraniti vrlo je ogromna u smislu petabajta Dizajniran je za mali broj redaka i stupaca.

Objašnjenje HBase podataka za čitanje i pisanje

Operacije čitanja i pisanja iz klijenta u Hdatoteku mogu se prikazati na donjem dijagramu.

HBase čitanje i pisanje podataka

Korak 1) Klijent želi pisati podatke i zauzvrat prvo komunicira s poslužiteljem regija, a zatim regijama

Korak 2) Regije koje kontaktiraju memstore radi pohrane povezane s obitelji stupaca

Korak 3) Prvo se podaci pohranjuju u Memstore, gdje se podaci sortiraju, a nakon toga se ispiraju u HFile. Glavni razlog korištenja Memstorea je pohranjivanje podataka u distribuirani datotečni sustav temeljen na ključu retka. Memstore će biti smješten u glavnu memoriju regionalnog poslužitelja dok se HDatoteke zapisuju u HDFS.

Korak 4) Klijent želi čitati podatke iz regija

Korak 5) Zauzvrat, klijent može imati izravan pristup Mem storeu i može zatražiti podatke.

Korak 6) Klijent pristupa HFiles kako bi dobio podatke. Podatke dohvaća i dohvaća Klijent.

Memstore čuva modifikacije trgovine u memoriji. Hijerarhija objekata u HBase regijama prikazana je odozgo prema dolje u tablici ispod.

Stol HBase tablica prisutna u HBase klasteru
Regija HRegije za prikazane tablice
dućan Pohranjuje po ColumnFamily za svaku regiju za tablicu
Memstore
  • Memstore za svaku trgovinu za svaku regiju za tablicu
  • Razvrstava podatke prije ispiranja u HFiles
  • Učinkovitost pisanja i čitanja povećat će se zbog sortiranja
StoreFile StoreFiles za svaku trgovinu za svaku regiju za tablicu
Blokirati Blokovi prisutni unutar StoreFiles

HBase u odnosu na HDFS

HBase radi povrh HDFS-a i Hadoop. Neke ključne razlike između HDFS-a i HBase-a su u pogledu operacija i obrade podataka.

HBASE HDFS
Operacije niske latencije Operacije s visokim kašnjenjem
Nasumično čitanje i pisanje Napiši jednom Čitaj više puta
Pristupljeno putem naredbe ljuske, API klijenta u Java, REST, Avro ili Thrift Primarno mu se pristupa putem MR (Map Reduce) poslova
Mogu se izvršiti i pohrana i proces To je samo za skladišna područja

Neke tipične IT industrijske aplikacije koriste HBase operacije zajedno s Hadoopom. Aplikacije uključuju podatke o burzi, podatkovne operacije internetskog bankarstva, a obrada Hbase je najprikladnija metoda rješenja.

Rezime

  • Komponente HBase arhitekture: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • HMaster u HBase je implementacija glavnog poslužitelja u HBase arhitekturi.
  • Kada HBase regionalni poslužitelj primi zahtjeve za pisanje i čitanje od klijenta, on dodjeljuje zahtjev određenoj regiji, gdje se nalazi stvarna obitelj stupaca
  • HRegije su osnovni građevni elementi HBase klastera koji se sastoji od distribucije tablica i sastoji se od obitelji stupaca.
  • HBase Zookeeper je centralizirani poslužitelj za nadzor koji održava informacije o konfiguraciji i pruža distribuiranu sinkronizaciju.
  • HDFS pruža visok stupanj tolerancije na pogreške i radi na jeftinom standardnom hardveru.
  • HBase Data Model je skup komponenti koji se sastoji od tablica, redaka, obitelji stupaca, ćelija, stupaca i verzija.
  • Pohrane orijentirane na stupce i retke razlikuju se po mehanizmu pohrane.