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:

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