HBase ArchiTecture: Use Cases, Components & Data Model
HBase Architecture og dens viktige komponenter
HBase-arkitektur består hovedsakelig av fire komponenter
- HMaster
- HRegionserver
- HR-regioner
- Dyrepasser
- HDFS
Nedenfor er en detaljert arkitektur av HBase med komponenter:

HMaster
HMaster i HBase er implementeringen av en Master-server i HBase-arkitektur. Den fungerer som en overvåkingsagent for å overvåke alle Region Server-forekomster som er tilstede i klyngen og fungerer som et grensesnitt for alle metadataendringene. I et distribuert klyngemiljø kjører Master på NameNode. Master kjører flere bakgrunnstråder.
Følgende er viktige roller utført av HMaster i HBase.
- Spiller en viktig rolle når det gjelder ytelse og vedlikehold av noder i klyngen.
- HMaster gir adminytelse og distribuerer tjenester til forskjellige regionservere.
- HMaster tildeler regioner til regionservere.
- HMaster har funksjoner som å kontrollere belastningsbalansering og failover for å håndtere belastningen over noder som er tilstede i klyngen.
- Når en klient ønsker å endre et hvilket som helst skjema og endre eventuelle Metadata-operasjoner, tar HMaster ansvaret for disse operasjonene.
Noen av metodene som eksponeres av HMaster Interface er primært metadataorienterte metoder.
- Tabell (opprett tabell, fjerntabell, aktiver, deaktiver)
- ColumnFamily (legg til kolonne, endre kolonne)
- Region (flytte, tilordne)
Klienten kommuniserer på en toveis måte med både HMaster og ZooKeeper. For lese- og skriveoperasjoner tar den direkte kontakt med HRegion-servere. HMaster tildeler regioner til regionservere og kontrollerer på sin side helsestatusen til regionservere.
I hele arkitekturen har vi flere regionservere. Hlog tilstede i regionservere som skal lagre alle loggfilene.
HBase Region-servere
Når HBase Region Server mottar skrive- og leseforespørsler fra klienten, tilordner den forespørselen til en bestemt region, der den faktiske kolonnefamilien ligger. Imidlertid kan klienten kontakte HRegion-servere direkte, det er ikke behov for HMaster obligatorisk tillatelse til klienten angående kommunikasjon med HRegion-servere. Klienten krever HMaster-hjelp når operasjoner relatert til metadata og skjemaendringer kreves.
HRegionServer er Region Server-implementeringen. Den er ansvarlig for å betjene og administrere regioner eller data som finnes i en distribuert klynge. Regionserverne kjører på datanoder som er tilstede i Hadoop-klyngen.
HMaster kan komme i kontakt med flere HRegion-servere og utfører følgende funksjoner.
- Hosting og administrering av regioner
- Deler regioner automatisk
- Håndtering av lese- og skriveforespørsler
- Kommuniserer direkte med kunden
HBase-regioner
HRegioner er de grunnleggende byggeelementene i HBase-klyngen som består av distribusjon av tabeller og består av kolonnefamilier. Den inneholder flere butikker, en for hver kolonnefamilie. Den består hovedsakelig av to komponenter, som er Memstore og Hfile.
Dyrepasser
HBase Zookeeper er en sentralisert overvåkingsserver som vedlikeholder konfigurasjonsinformasjon og gir distribuert synkronisering. Distribuert synkronisering er å få tilgang til de distribuerte applikasjonene som kjører på tvers av klyngen med ansvaret for å tilby koordineringstjenester mellom noder. Hvis klienten ønsker å kommunisere med regioner, må serverens klient henvende seg til ZooKeeper først.
Det er et åpen kildekode-prosjekt, og det gir så mange viktige tjenester.
Tjenester levert av Dyrepasser
- Vedlikeholder konfigurasjonsinformasjon
- Gir distribuert synkronisering
- Klientkommunikasjonsetablering med regionservere
- Gir flyktige noder som representerer forskjellige regionservere
- Masterservers brukbarhet av flyktige noder for å oppdage tilgjengelige servere i klyngen
- For å spore serverfeil og nettverkspartisjoner
Master- og HBase-slavenoder (regionservere) registrerte seg hos ZooKeeper. Klienten trenger tilgang til ZK(zookeeper) quorum-konfigurasjon for å koble til hoved- og regionservere.
Under en feil på noder som finnes i HBase-klyngen, vil ZKquoram utløse feilmeldinger, og den begynner å reparere de mislykkede nodene.
HDFS
HDFS er en Hadoop-distribuert File System, som navnet tilsier, gir det et distribuert miljø for lagringen, og det er et filsystem designet på en måte for å kjøre på råvaremaskinvare. Den lagrer hver fil i flere blokker, og for å opprettholde feiltoleranse, blir blokkene replikert over en Hadoop-klynge.
HDFS gir en høy grad av feiltoleranse og kjører på billig råvare. Ved å legge til noder til klyngen og utføre prosessering og lagring ved å bruke den billige varemaskinvaren, vil det gi klienten bedre resultater sammenlignet med den eksisterende.
Her replikeres dataene som er lagret i hver blokk til 3 noder. I et tilfelle når en node går ned, vil det ikke være noe tap av data, den vil ha en riktig sikkerhetskopigjenopprettingsmekanisme.
HDFS komme i kontakt med HBase-komponentene og lagre en stor mengde data på en distribuert måte.
HBase datamodell
HBase datamodell er et sett med komponenter som består av tabeller, rader, kolonnefamilier, celler, kolonner og versjoner. HBase-tabeller inneholder kolonnefamilier og rader med elementer definert som primærnøkler. En kolonne i HBase-datamodelltabellen representerer attributter til objektene.
HBase Data Model består av følgende elementer,
- Sett med bord
- Hver tabell med kolonnefamilier og rader
- Hver tabell må ha et element definert som Primærnøkkel.
- Radnøkkel fungerer som en primærnøkkel i HBase.
- All tilgang til HBase-tabeller bruker denne primærnøkkelen
- Hver kolonne som er tilstede i HBase, angir attributt som tilsvarer objektet
HBase-brukstilfeller
Følgende er eksempler på HBase-brukstilfeller med en detaljert forklaring av løsningen den gir på ulike tekniske problemer
Problemstilling | Oppløsning |
---|---|
Telekomindustri står overfor følgende tekniske utfordringer
|
HBase brukes til å lagre milliarder av rader med detaljerte samtaleposter. Hvis 20 TB med data legges til per måned til den eksisterende RDBMS-databasen, vil ytelsen forringes. For å håndtere store mengder data i denne brukssaken er HBase den beste løsningen. HBase utfører rask spørring og viser poster. |
Ocuco Bankindustrien genererer millioner av poster på daglig basis. I tillegg til dette trenger banknæringen også en analyseløsning som kan oppdage svindel i pengetransaksjoner | For å lagre, behandle og oppdatere store mengder data og utføre analyser, er en ideell løsning – HBase integrert med flere Hadoop-økosystemkomponenter. |
Foruten det kan HBase brukes
- Når det er behov for å skrive tunge søknader.
- Utføre online logganalyse og generere samsvarsrapporter.
Lagringsmekanisme i HBase
HBase er en kolonneorientert database og data lagres i tabeller. Tabellene er sortert etter RowId. Som vist nedenfor har HBase RowId, som er samlingen av flere kolonnefamilier som finnes i tabellen.
Kolonnefamiliene som finnes i skjemaet er nøkkelverdi-par. Hvis vi observerer i detalj hver kolonnefamilie har flere antall kolonner. Kolonneverdiene lagret i diskminnet. Hver celle i tabellen har sine egne metadata som tidsstempel og annen informasjon.
Når vi kommer til HBase, er følgende nøkkelbegreper som representerer tabellskjema
- Bord: Samling av rader tilstede.
- Rad: Samling av kolonnefamilier.
- Kolonnefamilie: Samling av kolonner.
- Kolonne: Samling av nøkkelverdi-par.
- namespace: Logisk gruppering av tabeller.
- Cell: En {rad, kolonne, versjon}-tuppel spesifiserer nøyaktig en celledefinisjon i HBase.
Kolonneorienterte vs radorienterte lagringer
Kolonne- og radorienterte lagringsenheter er forskjellige i lagringsmekanismen. Som vi alle vet lagrer tradisjonelle relasjonsmodeller data i form av radbasert format som når det gjelder rader med data. Kolonneorienterte lagringer lagrer datatabeller i form av kolonner og kolonnefamilier.
Følgende tabell gir noen viktige forskjeller mellom disse to lagringene
Kolonneorientert database | Radorientert database |
---|---|
Når situasjonen kommer til prosess og analyser bruker vi denne tilnærmingen. Slik som Online analytisk behandling og det er applikasjoner. | Online transaksjonsprosess slik som bank- og finansdomener bruker denne tilnærmingen. |
Mengden data som kan lagres i denne modellen er veldig stor som når det gjelder petabyte | Den er designet for et lite antall rader og kolonner. |
HBase lese og skrive data forklart
Lese- og skriveoperasjonene fra klient til Hfile kan vises i diagrammet nedenfor.
Trinn 1) Klienten ønsker å skrive data og kommuniserer i sin tur først med regionsserver og deretter regioner
Trinn 2) Regioner som kontakter memstore for lagring knyttet til kolonnefamilien
Trinn 3) Data lagres først i Memstore, hvor dataene sorteres og deretter skylles de inn i HFile. Hovedgrunnen til å bruke Memstore er å lagre data i et distribuert filsystem basert på Row Key. Memstore vil bli plassert i regionserverens hovedminne mens HF-filer skrives inn i HDFS.
Trinn 4) Klient ønsker å lese data fra regioner
Trinn 5) På sin side kan klienten ha direkte tilgang til Mem-butikken, og den kan be om data.
Trinn 6) Klient henvender seg til HFiles for å få dataene. Dataene hentes og hentes av Kunden.
Memstore har modifikasjoner i minnet i butikken. Hierarkiet av objekter i HBase-regioner er som vist fra topp til bunn i tabellen nedenfor.
Bord | HBase-tabell til stede i HBase-klyngen |
Region | HR-regioner for de presenterte tabellene |
Butikk | Den lagres per kolonnefamilie for hver region for tabellen |
Memstore |
|
Lagrefil | StoreFiles for hver butikk for hver region for tabellen |
Blokker | Blokker tilstede inne i StoreFiles |
HBase vs. HDFS
HBase kjører på toppen av HDFS og Hadoop. Noen viktige forskjeller mellom HDFS og HBase er når det gjelder dataoperasjoner og prosessering.
HBASE | HDFS |
---|---|
Operasjoner med lav latens | Operasjoner med høy latens |
Tilfeldig lesing og skriving | Skriv en gang Les mange ganger |
Tilgang gjennom shell-kommandoer, klient-API i Java, REST, Avro eller Thrift | Primært tilgang via MR (Map Reduce)-jobber |
Både lagring og prosess kan utføres | Det er kun for lagringsområder |
Noen typiske IT-industriapplikasjoner bruker HBase-operasjoner sammen med Hadoop. Applikasjoner inkluderer børsdata, nettbankdataoperasjoner og behandling Hbase er best egnet løsningsmetode.
Sammendrag
- HBase-arkitekturkomponenter: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HMaster i HBase er implementeringen av en Master-server i HBase-arkitektur.
- Når HBase Region Server mottar skrive- og leseforespørsler fra klienten, tildeler den forespørselen til en spesifikk region, der den faktiske kolonnefamilien befinner seg
- HRegioner er de grunnleggende byggeelementene i HBase-klyngen som består av distribusjon av tabeller og består av kolonnefamilier.
- HBase Zookeeper er en sentralisert overvåkingsserver som vedlikeholder konfigurasjonsinformasjon og gir distribuert synkronisering.
- HDFS gir en høy grad av feiltoleranse og kjører på billig råvare.
- HBase Data Model er et sett med komponenter som består av tabeller, rader, kolonnefamilier, celler, kolonner og versjoner.
- Kolonne- og radorienterte lagringsenheter er forskjellige i lagringsmekanismen.