Arhitektura HBase, komponente, model podataka i slučajevi upotrebe

Sadržaj:

Anonim

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.

Mehanizam skladištenja u HBase

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
  • Kad se situacija odnosi na proces i analitiku, koristimo ovaj pristup. Kao što je mrežna analitička obrada i njeni programi.
  • Internetski transakcijski procesi poput bankarskog i financijskog područja koriste se ovim pristupom.
  • Količina podataka koju možemo pohraniti u ovaj model vrlo je velika kao u pogledu petabajta
  • Dizajniran je za mali broj redaka i stupaca.

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:

Dijagram arhitekture HBase

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
  • Trgovina memorija za svaku trgovinu za svaku regiju za stol
  • Razvrstava podatke prije ispiranja u HFiles
  • Izvedba pisanja i čitanja povećat će se zbog sortiranja
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
  • Pohranjivanje milijardi zapisa zapisa zapisnika CDR (detaljno snimanje poziva) generiranih telekom domenom
  • Pružanje pristupa CDR zapisnicima i informacijama o naplati u stvarnom vremenu kupaca
  • Pružite isplativo rješenje u usporedbi s tradicionalnim sustavima baza podataka
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

  • Operacije s malim kašnjenjem
  • Operacije velike latencije
  • Nasumično čita i piše
  • Jednom napiši Pročitaj više puta
  • Pristupljeno kroz naredbe ljuske, API klijenta u Javi, REST, Avro ili Thrift
  • Primarno mu se pristupa putem MR (Map Reduce) poslova
  • Skladištenje i postupak mogu se obaviti
  • To je samo za skladišne ​​prostore

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.