Mehanizam skladištenja u HBase
HBase je baza podataka orijentirana na stupce i podaci se pohranjuju u tablice. Tablice su poredane prema RowId. Kao što je prikazano dolje, HBase ima RowId, što je zbirka nekoliko porodica stupaca koje su prisutne u tablici.
Obitelji stupaca prisutne u shemi su parovi ključ / vrijednost. Ako detaljno promatramo kako svaka obitelj stupaca ima višestruki broj stupaca. Vrijednosti stupaca pohranjene u memoriju diska. Svaka ćelija tablice ima svoje metapodatke poput vremenske oznake i drugih informacija.
Dolazeći na HBase, sljedeći su ključni pojmovi koji predstavljaju shemu tablice
- Tablica : Zbirka prisutnih redova.
- Red : Zbirka obitelji kolona.
- Obitelj stupaca : Zbirka stupaca.
- Stupac : Zbirka parova ključ / vrijednost.
- Prostor imena: Logično grupiranje tablica.
- Ćelija : Nabor {redaka, stupca, verzije} točno određuje definiciju ćelije u HBaseu.
U ovom vodiču naučit ćete,
- Mehanizam skladištenja u HBase
- HBase model podataka
- Arhitektura HBase i njezine važne komponente
- Objašnjeno HBase čitanje i pisanje podataka
- Slučajevi upotrebe HBase
- HBASE nasuprot HDFS-u
Skladišta orijentirana na stup ili na red
Skladišta orijentirana na stup i niz razlikuju se po mehanizmu skladištenja. Kao što svi znamo tradicionalni relacijski modeli pohranjuju podatke u obliku formata na temelju redaka kao u smislu redaka podataka. Spremnici orijentirani na stupce spremaju tablice podataka u smislu stupaca i porodica stupaca.
Sljedeća tablica daje neke ključne razlike između ova dva skladišta
Baza podataka orijentirana na stupac | Redno orijentirana baza podataka |
|
|
|
|
HBase model podataka
HBase model podataka skup je komponenata koji se sastoji od tablica, redaka, obitelji stupaca, ćelija, stupaca i verzija. Tablice HBase sadrže obitelji stupaca i retke s elementima definiranim kao Primarni ključevi. Stupac u tablici modela podataka HBase predstavlja atribute objektima.
HBase model podataka sastoji se od sljedećih elemenata,
- Set stolova
- Svaka tablica s obiteljima stupaca i redovima
- Svaka tablica mora imati element definiran kao Primarni ključ.
- Redni ključ djeluje kao primarni ključ u HBaseu.
- Svaki pristup tablicama HBase koristi ovaj Primarni ključ
- Svaki stupac prisutan u HBase označava atribut koji odgovara objektu
Arhitektura HBase i njezine važne komponente
Ispod je detaljni arhivski program HBase sa komponentama:
Arhitektura HBase sastoji se uglavnom od četiri komponente
- HMaster
- HRegionserver
- HR regije
- Čuvar zoo vrta
- HDFS
HMaster:
HMaster u HBaseu je implementacija glavnog poslužitelja u arhitekturi HBase. Djeluje kao agent praćenja za nadgledanje svih instanci Regijskog 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.
Slijede važne uloge koje HMaster izvodi u HBaseu.
- Igra vitalnu ulogu u smislu izvedbe i održavanja čvorova u klasteru.
- HMaster pruža administrativne performanse i distribuira usluge različitim poslužiteljima u regiji.
- HMaster dodjeljuje regije regionalnim poslužiteljima.
- HMaster ima značajke poput upravljanja uravnoteženjem opterećenja i preusmjeravanja radi upravljanja opterećenjem preko čvorova prisutnih u klasteru.
- Kada klijent želi promijeniti bilo koju shemu i bilo koje operacije metapodataka, HMaster preuzima odgovornost za te operacije.
Neke metode koje izlaže HMaster Interface prvenstveno su metode orijentirane na metapodatke.
- Tablica (createTable, removeTable, enable, disable)
- ColumnFamily (dodaj stupac, izmijeni stupac)
- Regija (premjestiti, dodijeliti)
Klijent komunicira u dvosmjernom načinu s HMasterom i ZooKeeperom. Za operacije čitanja i pisanja izravno kontaktira s poslužiteljima HRegion. 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 na regionalnim poslužiteljima koji će pohraniti sve datoteke dnevnika.
HBase regioni poslužitelji:
Kada HBase Region Server primi zahtjeve za pisanje i čitanje od klijenta, on dodjeljuje zahtjev određenoj regiji, u kojoj se nalazi stvarna obitelj stupaca. Međutim, klijent može izravno kontaktirati s HRegion poslužiteljima, nije potrebno obvezno dopuštenje HMastera za klijenta u vezi s komunikacijom s HRegion poslužiteljima. Klijent zahtijeva pomoć HMastera kada su potrebne operacije povezane s izmjenama metapodataka i sheme.
HRegionServer je implementacija Regijskog poslužitelja. Odgovorna je za opsluživanje i upravljanje regijama ili podacima koji su prisutni u distribuiranom klasteru. Poslužitelji regije rade na podatkovnim čvorovima prisutnim u klasteru Hadoop.
HMaster može stupiti u kontakt s više poslužitelja HRegion i obavlja sljedeće funkcije.
- Hosting i upravljanje regijama
- Automatsko razdvajanje regija
- Rukovanje zahtjevima za čitanje i pisanje
- Komunikacija s klijentom izravno
Regije HBase:
HR regije su osnovni građevinski elementi klastera HBase koji se sastoji od raspodjele tablica i čine 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 nadzorni poslužitelj koji održava informacije o konfiguraciji i omogućuje distribuiranu sinkronizaciju. Distribuirana sinkronizacija je pristup distribuiranim aplikacijama pokrenutim preko klastera s odgovornošću pružanja usluga koordinacije između čvorova. Ako klijent želi komunicirati s regijama, klijent poslužitelja mora prvo pristupiti ZooKeeper-u.
To je projekt otvorenog koda i pruža toliko važnih usluga.
Usluge koje pruža ZooKeeper
- Održava podatke o konfiguraciji
- Pruža distribuiranu sinkronizaciju
- Uspostavljanje komunikacije s klijentom s regionalnim poslužiteljima
- Pruža efemerne čvorove koji predstavljaju različite regionalne poslužitelje
- Glavna upotrebljivost efemernih čvorova za otkrivanje dostupnih poslužitelja u klasteru
- Za praćenje kvara poslužitelja i mrežnih particija
Glavni i HBase pomoćni čvorovi (regionalni poslužitelji) registrirali su se u ZooKeeper. Klijent treba pristup ZK (zookeeper) konfiguraciji kvoruma da bi se povezao s glavnim i regionalnim poslužiteljima.
Tijekom kvara čvorova prisutnih u klasteru HBase, ZKquoram će pokrenuti poruke o pogrešci i započet će popravak neuspjelih čvorova.
HDFS:
HDFS je distribuirani sustav datoteka Hadoop, kao što naziv govori, pruža distribuirano okruženje za pohranu i datotečni je sustav dizajniran na način da se pokreće na robnom hardveru. Pohranjuje svaku datoteku u više blokova, a kako bi se održala tolerancija kvarova, blokovi se repliciraju kroz Hadoop klaster.
HDFS pruža visok stupanj tolerancije na kvarove i radi na jeftinom robnom hardveru. Dodavanjem čvorova u klaster i izvođenjem obrade i pohrane korištenjem jeftinog robnog hardvera, klijentu će pružiti bolje rezultate u odnosu na postojeći.
Ovdje se podaci pohranjeni u svakom bloku repliciraju u 3 čvora, bilo u slučaju da se bilo koji čvor sruši, neće doći do gubitka podataka, imat će odgovarajući sigurnosni mehanizam za oporavak.
HDFS stupaju u kontakt s HBase komponentama i pohranjuju veliku količinu podataka na distribuiran način.
Objašnjeno HBase čitanje i pisanje podataka
Operacije čitanja i pisanja s klijenta u Hfile mogu se prikazati na donjem dijagramu.
Korak 1) Klijent želi upisati podatke i zauzvrat prvo komunicira s Regions poslužiteljem, a zatim regijama
Korak 2) Regije koje kontaktiraju memoriju radi pohrane povezane s obitelji stupaca
Korak 3) Prvo se podaci pohranjuju u Memstore, gdje se podaci sortiraju, a nakon toga prebacuju u HFile. Glavni razlog korištenja Memstorea jest pohrana podataka u distribuirani datotečni sustav zasnovan na ključu retka. Memstore će se smjestiti u glavnu memoriju poslužitelja regije dok se HFilovi zapisuju u HDFS.
Korak 4) Klijent želi čitati podatke iz regija
Korak 5) Klijent zauzvrat može imati izravan pristup Mem trgovini i može zatražiti podatke.
Korak 6) Klijent pristupa HFilesu kako bi dobio podatke. Klijent dohvaća i preuzima podatke.
Memstore čuva izmjene u memoriji trgovine. Hijerarhija objekata u HBase regijama prikazana je odozgo prema dolje u donjoj tablici.
Stol | Tabela HBase prisutna u klasteru HBase |
Regija | HR regije za predstavljene tablice |
Spremi | Pohranjuje se po obrascu ColumnFamily za svaku regiju za tablicu |
Memstore |
|
StoreFile | StoreFiles za svaku trgovinu za svaku regiju za tablicu |
Blok | Blokovi prisutni unutar StoreFilesa |
Slučajevi upotrebe HBase
Slijede primjeri slučajeva upotrebe HBase s detaljnim objašnjenjem rješenja koje pruža za različite tehničke probleme
Izjava o problemu | Riješenje |
---|---|
Telekom industrija suočava se sa sljedećim tehničkim izazovima
| HBase se koristi za spremanje milijardi redaka detaljnih evidencija poziva. Ako se mjesečno doda 20TB podataka u postojeću bazu podataka RDBMS-a, izvedba će se pogoršati. Za rukovanje velikom količinom podataka u ovom slučaju upotrebe, HBase je najbolje rješenje. HBase vrši brzo postavljanje upita i prikazuje zapise. |
Bankarstvu stvara milijune albuma na dnevnoj bazi. Uz to, bankarska industrija također treba analitičko rješenje koje može otkriti prijevare u novčanim transakcijama | Za pohranu, obradu i ažuriranje velike količine podataka i obavljanje analitike, idealno rješenje je - HBase integriran s nekoliko komponenti ekosustava Hadoop. |
Osim toga, HBase se može koristiti
- Kad god postoji potreba za pisanjem teških aplikacija.
- Izvođenje mrežne analitike dnevnika i generiranje izvješća o usklađenosti.
HBase nasuprot HDFS-u
HBase radi na HDFS-u i Hadoopu. Neke ključne razlike između HDFS-a i HBase-e su u pogledu operacija i obrade podataka.
HBASE |
HDFS |
|
|
|
|
|
|
|
|
|
|
Neke tipične IT industrijske aplikacije koriste HBase operacije zajedno s Hadoopom. Aplikacije uključuju podatke o burzi, podatke o internetskom bankarstvu, a obrada Hbase je najprikladnija metoda rješenja.
Sažetak
Hbase je jedna od distribuiranih baza podataka usmjerenih na stupce NoSql dostupna u Apache Foundation. HBase daje više performansi za dohvaćanje manjeg broja zapisa umjesto Hadoop ili Hive. Vrlo je lako potražiti zadanu bilo koju ulaznu vrijednost jer podržava indeksiranje, transakcije i ažuriranje.
Možemo izvoditi online analitiku u stvarnom vremenu koristeći Hbase integriran s Hadoop ekosustavom. Ima automatsko i podesivo osenčenje za skupove podataka ili tablice i pruža mirne API-je za obavljanje poslova MapReduce.