HBase arhitektūra, komponenti, datu modelis un lietošanas gadījumi

Satura rādītājs:

Anonim

Uzglabāšanas mehānisms HBase

HBase ir uz kolonnām orientēta datu bāze, un dati tiek glabāti tabulās. Tabulas ir sakārtotas pēc RowId. Kā parādīts zemāk, HBase ir RowId, kas ir vairāku tabulā esošo kolonnu grupu kolekcija.

Slejā esošās kolonnu grupas ir atslēgu vērtību pāri. Ja mēs detalizēti novērojam katru kolonnu saimi, kurai ir vairāki kolonnu numuri. Kolonnu vērtības, kas saglabātas diska atmiņā. Katrai tabulas šūnai ir savi metadati, piemēram, laika zīmogs un cita informācija.

Uzglabāšanas mehānisms HBase

Nākot uz HBase, galvenie tabulas shēmas termini ir šādi

  • Tabula : esošo rindu kolekcija.
  • Rinda : kolonnu grupu kolekcija.
  • Kolonnu saime : kolonnu kolekcija.
  • Kolonna : Atslēgu vērtību pāru kolekcija.
  • Vārdamvieta : tabulu loģiska grupēšana.
  • Šūna : {rinda, kolonna, versija} kopa precīzi norāda šūnu definīciju HBase.

Šajā apmācībā jūs uzzināsiet,

  • Uzglabāšanas mehānisms HBase
  • HBase datu modelis
  • HBase arhitektūra un tās svarīgie komponenti
  • HBase lasīt un rakstīt datus paskaidrots
  • HBase lietošanas gadījumi
  • HBASE pret HDFS

Uz kolonnu orientētas un uz rindu orientētas krātuves

Kolonnu un rindu krātuves atšķiras pēc to glabāšanas mehānisma. Tā kā mēs visi zinām, tradicionālie relāciju modeļi datus glabā formātā, kas balstīts uz rindām, tāpat kā datu rindas. Uz kolonnām orientētās krātuvēs datu tabulas tiek glabātas kolonnu un kolonnu grupu izteiksmē.

Šajā tabulā ir norādītas dažas būtiskas atšķirības starp šīm divām krātuvēm

Uz kolonnām orientēta datu bāze Rindu orientēta datu bāze
  • Kad situācija ir saistīta ar procesu un analīzi, mēs izmantojam šo pieeju. Piemēram, tiešsaistes analītiskā apstrāde un tās lietojumprogrammas.
  • Tiešsaistes darījumu process, piemēram, banku un finanšu jomas, izmanto šo pieeju.
  • Datu apjoms, ko var uzglabāt šajā modelī, ir ļoti liels, piemēram, petabaitu ziņā
  • Tas ir paredzēts nelielam rindu un kolonnu skaitam.

HBase datu modelis

HBase datu modelis ir komponentu kopums, kas sastāv no tabulām, rindām, kolonnu grupām, šūnām, kolonnām un versijām. HBase tabulās ir kolonnu saimes un rindas ar elementiem, kas definēti kā Primārās atslēgas. Kolonna HBase datu modeļa tabulā attēlo objektu atribūtus.

HBase datu modelis sastāv no šādiem elementiem:

  • Galdu komplekts
  • Katra tabula ar kolonnu grupām un rindām
  • Katrā tabulā jābūt elementam, kas definēts kā Primārā atslēga.
  • Rindas atslēga HBase darbojas kā primārā atslēga.
  • Jebkura piekļuve HBase tabulām izmanto šo primāro atslēgu
  • Katra HBase esošā kolonna apzīmē objektam atbilstošu atribūtu

HBase arhitektūra un tās svarīgie komponenti

Zemāk ir detalizēts HBase arhitekts ar komponentiem:

HBase arhitektūras shēma

HBase arhitektūra sastāv galvenokārt no četriem komponentiem

  • HMasters
  • HRegionserver
  • HRreģioni
  • Zoodārza sargs
  • HDFS

HMaster:

HMaster HBase ir galvenā servera ieviešana HBase arhitektūrā. Tas darbojas kā uzraudzības aģents, lai uzraudzītu visas reģiona servera instances, kas atrodas klasterī, un darbojas kā interfeiss visām metadatu izmaiņām. Izkliedētā kopu vidē Master darbojas ar NameNode. Meistars vada vairākus fona pavedienus.

Tālāk ir norādītas svarīgas lomas, kuras HMaster veic HBase.

  • Spēlē būtisku lomu veiktspējas un mezglu kopuma uzturēšanas ziņā.
  • HMaster nodrošina administratora veiktspēju un izplata pakalpojumus dažādiem reģiona serveriem.
  • HMaster piešķir reģionus reģionu serveriem.
  • HMaster ir tādas funkcijas kā slodzes līdzsvarošanas un kļūmjpārlēces kontrolēšana, lai apstrādātu slodzi virs mezgliem, kas atrodas kopā.
  • Ja klients vēlas mainīt jebkuru shēmu un visas metadatu darbības, HMaster uzņemas atbildību par šīm darbībām.

Dažas no metodēm, kuras atklāj HMaster Interface, galvenokārt ir uz metadatiem orientētas metodes.

  • Tabula (createTable, removeTable, iespējot, atspējot)
  • ColumnFamily (pievienot kolonnu, modificēt kolonnu)
  • Reģions (pārvietot, piešķirt)

Klients divvirzienu veidā sazinās gan ar HMaster, gan ZooKeeper. Lasīšanas un rakstīšanas darbībām tā tieši sazinās ar HRegion serveriem. HMaster piešķir reģionus reģionu serveriem un, savukārt, pārbauda reģionu serveru veselības stāvokli.

Visā arhitektūrā mums ir vairāki reģiona serveri. Hlog atrodas reģiona serveros, kuri glabā visus žurnālfailus.

HBase reģionu serveri:

Kad HBase reģiona serveris saņem rakstīšanas un lasīšanas pieprasījumus no klienta, tas piešķir pieprasījumu noteiktam reģionam, kur atrodas faktiskā kolonnu saime. Tomēr klients var tieši sazināties ar HRegion serveriem, HMaster klientam nav nepieciešama obligāta atļauja attiecībā uz saziņu ar HRegion serveriem. Klientam nepieciešama HMaster palīdzība, kad ir nepieciešamas operācijas, kas saistītas ar metadatu un shēmas izmaiņām.

HRegionServer ir reģiona servera ieviešana. Tā ir atbildīga par reģionu vai datu, kas atrodas izplatītajā kopā, apkalpošanu un pārvaldību. Reģiona serveri darbojas ar datu mezgliem, kas atrodas Hadoop klasterī.

HMaster var sazināties ar vairākiem HRegion serveriem un veic šādas funkcijas.

  • Reģionu uzņemšana un pārvaldīšana
  • Reģionu sadalīšana automātiski
  • Apstrādājot lasīšanas un rakstīšanas pieprasījumus
  • Tieša saziņa ar klientu

HBase reģioni:

HRegions ir galvenie HBase klastera veidošanas elementi, kas sastāv no tabulu sadalījuma un sastāv no kolonnu ģimenēm. Tajā ir vairāki veikali, pa vienam katrai kolonnu saimei. Tas sastāv galvenokārt no diviem komponentiem, kas ir Memstore un Hfile.

ZooKeeper:

HBase Zookeeper ir centralizēts uzraudzības serveris, kas uztur konfigurācijas informāciju un nodrošina sadalītu sinhronizāciju. Sadalītā sinhronizācija ir piekļuve izplatītajām lietojumprogrammām, kas darbojas visā klasterī, atbildot par koordinācijas pakalpojumu sniegšanu starp mezgliem. Ja klients vēlas sazināties ar reģioniem, servera klientam vispirms jāvēršas pie ZooKeeper.

Tas ir atvērtā koda projekts, un tas sniedz tik daudz svarīgu pakalpojumu.

Pakalpojumus nodrošina ZooKeeper

  • Uztur konfigurācijas informāciju
  • Nodrošina sadalītu sinhronizāciju
  • Klientu komunikācijas izveide ar reģiona serveriem
  • Nodrošina īslaicīgus mezglus, kas pārstāv dažādus reģiona serverus
  • Galveno serveru īslaicīgo mezglu lietojamība, lai klasterī atklātu pieejamos serverus
  • Lai izsekotu servera kļūmi un tīkla nodalījumus

Master un HBase vergu mezgli (reģiona serveri) reģistrējās ZooKeeper. Klientam ir nepieciešama piekļuve ZK (zookeeper) kvoruma konfigurācijai, lai izveidotu savienojumu ar galveno un reģionālo serveri.

Neveiksmes mezglu, kas atrodas HBase klasterī, laikā, ZKquoram aktivizēs kļūdas ziņojumus, un tas sāk labot neizdevušos mezglus.

HDFS:

HDFS ir Hadoop izplatīta failu sistēma, kā norāda nosaukums, tā nodrošina sadalītu vidi glabāšanai, un tā ir failu sistēma, kas izveidota tā, lai darbotos ar preču aparatūru. Katrs fails tiek glabāts vairākos blokos, un, lai uzturētu kļūdu toleranci, bloki tiek atkārtoti Hadoop klasterī.

HDFS nodrošina augstu kļūdu tolerances pakāpi un darbojas ar lētu preču aparatūru. Pievienojot kopai mezglus un veicot apstrādi un uzglabāšanu, izmantojot lētu preču aparatūru, tas klientam sniegs labākus rezultātus, salīdzinot ar esošo.

Šeit katrā blokā saglabātie dati atkārtojas 3 mezglos jebkurā gadījumā, ja kāds mezgls iet uz leju, dati nezaudēs, tam būs piemērots rezerves atkopšanas mehānisms.

HDFS nonāk saskarē ar HBase komponentiem un uzglabā lielu datu daudzumu sadalītā veidā.

HBase lasīt un rakstīt datus paskaidrots

Lasīšanas un rakstīšanas operācijas no klienta uz Hfile var parādīt zemāk esošajā diagrammā.

1. solis. Klients vēlas rakstīt datus un, savukārt, vispirms sazinās ar Reģionu serveri un pēc tam ar reģioniem

2. solis. Reģioni sazinās ar memstore, lai saglabātu saistītos ar kolonnu saimi

3. solis. Pirmie dati tiek glabāti Memstore, kur dati tiek sakārtoti, un pēc tam tie tiek ievadīti HFile. Galvenais Memstore izmantošanas iemesls ir datu glabāšana izplatītajā failu sistēmā, kuras pamatā ir rindas atslēga. Memstore tiks ievietota reģiona servera galvenajā atmiņā, kamēr HFiles tiek ierakstītas HDFS.

4. solis. Klients vēlas nolasīt datus no reģioniem

5. solis . Savukārt klientam var būt tieša piekļuve Mem veikalam, un tas var pieprasīt datus.

6. solis. Klients vēršas pie HFiles, lai iegūtu datus. Datus ienes un izgūst klients.

Memstore glabā veikalā modifikācijas atmiņā. Objektu hierarhija HBase reģionos ir parādīta zemāk esošajā tabulā no augšas uz leju.

Tabula HBase tabula atrodas HBase klasterī
Novads HRreģioni uzrādītajām tabulām
Veikals Tas tiek glabāts katrā ColumnFamily katram reģionam tabulā
Memstore
  • Memstore katram veikalam katram reģionam galdam
  • Pirms datu skalošanas HFilos tā tiek kārtota dati
  • Rakstīšanas un lasīšanas veiktspēja palielināsies šķirošanas dēļ
StoreFile StoreFiles katram veikalam katram tabulas reģionam
Bloķēt Bloki atrodas StoreFiles iekšpusē

HBase lietošanas gadījumi

Tālāk ir sniegti HBase lietošanas gadījumu piemēri ar detalizētu skaidrojumu par tā sniegto risinājumu dažādām tehniskām problēmām

Problēmas izklāsts Risinājums
Telekomunikāciju nozare saskaras ar šādām tehniskām problēmām
  • Tiek glabāti miljardi CDR (Call detail recording) žurnāla ierakstu, ko ģenerē telekomunikāciju domēns
  • Reālā laika piekļuves nodrošināšana CDR žurnāliem un klientu norēķinu informācijai
  • Nodrošiniet rentablu risinājumu salīdzinājumā ar tradicionālajām datu bāzu sistēmām
HBase tiek izmantota, lai uzglabātu miljardiem detalizētu zvanu ierakstu rindu. Ja mēnesī esošajai RDBMS datu bāzei tiek pievienoti 20 TB datu, veiktspēja pasliktināsies. Lai šajā lietošanas gadījumā apstrādātu lielu datu apjomu, labākais risinājums ir HBase. HBase ātri veic vaicājumus un parāda ierakstus.
Banku nozare rada miljoniem ierakstu katru dienu. Papildus tam banku nozarei ir nepieciešams arī analītisks risinājums, kas var atklāt krāpšanos naudas darījumos Liela apjoma datu glabāšanai, apstrādei un atjaunināšanai un analīzes veikšanai ideāls risinājums ir - HBase integrēts ar vairākiem Hadoop ekosistēmas komponentiem.

Neatkarīgi no tā, var izmantot HBase

  • Ikreiz, kad ir nepieciešams rakstīt smagas lietojumprogrammas.
  • Veicot tiešsaistes žurnālu analīzi un ģenerējot atbilstības ziņojumus.

HBase pret HDFS

HBase darbojas virs HDFS un Hadoop. Dažas galvenās atšķirības starp HDFS un HBase ir datu operāciju un apstrādes ziņā.

HBASE

HDFS

  • Zema latentuma operācijas
  • Operācijas ar augstu latentumu
  • Random lasa un raksta
  • Vienreiz rakstiet Lasiet daudzas reizes
  • Piekļūstiet, izmantojot čaulas komandas, klienta API Java, REST, Avro vai Thrift
  • Galvenokārt piekļūst, izmantojot MR (Map Reduce) darbus
  • Var veikt gan uzglabāšanu, gan apstrādi
  • Tas paredzēts tikai uzglabāšanas vietām

Dažās tipiskās IT rūpniecības lietojumprogrammās HBase operācijas tiek izmantotas kopā ar Hadoop. Pieteikumos ietilpst biržas dati, tiešsaistes bankas datu operācijas, un Hbase apstrāde ir vispiemērotākā risinājuma metode.

Kopsavilkums

Hbase ir viena no NoSql kolonnām orientēta izplatīta datu bāze, kas pieejama Apache Foundation. HBase nodrošina lielāku veiktspēju, lai izgūtu mazāk ierakstu, nevis Hadoop vai Hive. Ir ļoti viegli meklēt norādīto ievades vērtību, jo tā atbalsta indeksēšanu, darījumus un atjaunināšanu.

Mēs varam veikt tiešsaistes reāllaika analīzi, izmantojot Hbase, kas integrēta Hadoop ekosistēmā. Tam ir automātiska un konfigurējama datu kopu vai tabulu sadalīšana, un tas nodrošina mierīgu API, lai veiktu MapReduce darbus.