HBase ArchiTecture: Use Cases, Components & Data Model
HBase Architecture og dens vigtige komponenter
HBase-arkitekturen bestรฅr hovedsageligt af fire komponenter
- HMaster
- HRegionserver
- HR-regioner
- Dyrepasser
- HDFS
Nedenfor er en detaljeret opbygning af HBase med komponenter:

HMaster
HMaster i HBase er implementeringen af โโen Master-server i HBase-arkitektur. Den fungerer som en overvรฅgningsagent til at overvรฅge alle Region Server-forekomster, der er til stede i klyngen, og fungerer som en grรฆnseflade for alle metadataรฆndringer. I et distribueret klyngemiljรธ kรธrer Master pรฅ NameNode. Master kรธrer flere baggrundstrรฅde.
Fรธlgende er vigtige roller, som HMaster udfรธrer i HBase.
- Spiller en afgรธrende rolle med hensyn til ydeevne og vedligeholdelse af noder i klyngen.
- HMaster leverer admin ydeevne og distribuerer tjenester til forskellige regionsservere.
- HMaster tildeler regioner til regionsservere.
- HMaster har funktioner som kontrol af belastningsbalancering og failover til at hรฅndtere belastningen over noder, der er til stede i klyngen.
- Nรฅr en klient รธnsker at รฆndre et hvilket som helst skema og รฆndre metadata-operationer, tager HMaster ansvaret for disse operationer.
Nogle af de metoder, der eksponeres af HMaster Interface, er primรฆrt metadata-orienterede metoder.
- Tabel (opret tabel, fjern tabel, aktiver, deaktiver)
- ColumnFamily (tilfรธj kolonne, rediger kolonne)
- Region (flytte, tildele)
Klienten kommunikerer pรฅ en tovejs mรฅde med bรฅde HMaster og ZooKeeper. Til lรฆse- og skriveoperationer kontakter den direkte HRegion-servere. HMaster tildeler regioner til regionsservere og kontrollerer pรฅ sin side sundhedsstatussen for regionsservere.
I hele arkitekturen har vi flere regionsservere. Hlog til stede i regionsservere, som skal gemme alle logfilerne.
HBase Region-servere
Nรฅr HBase Region Server modtager skrive- og lรฆseanmodninger fra klienten, tildeler den anmodningen til en specifik region, hvor den faktiske kolonnefamilie befinder sig. Dog kan klienten kontakte HRegion-servere direkte, der er ikke behov for HMaster obligatorisk tilladelse til klienten vedrรธrende kommunikation med HRegion-servere. Klienten krรฆver HMaster-hjรฆlp, nรฅr operationer relateret til metadata og skemaรฆndringer er pรฅkrรฆvet.
HRegionServer er Region Server implementeringen. Det er ansvarligt for at betjene og administrere regioner eller data, der er til stede i en distribueret klynge. Regionsserverne kรธrer pรฅ dataknuder, der findes i Hadoop-klyngen.
HMaster kan komme i kontakt med flere HRegion-servere og udfรธrer fรธlgende funktioner.
- Hosting og administration af regioner
- Opdeler regioner automatisk
- Hรฅndtering af lรฆse- og skriveanmodninger
- Kommunikerer direkte med kunden
HBase-regioner
HRegioner er de grundlรฆggende byggeelementer i HBase-klyngen, der bestรฅr af distributionen af โโtabeller og bestรฅr af kolonnefamilier. Den indeholder flere butikker, en for hver kolonnefamilie. Den bestรฅr hovedsageligt af to komponenter, som er Memstore og Hfile.
Dyrepasser
HBase Zookeeper er en centraliseret overvรฅgningsserver, som vedligeholder konfigurationsoplysninger og sรธrger for distribueret synkronisering. Distribueret synkronisering er at fรฅ adgang til de distribuerede applikationer, der kรธrer pรฅ tvรฆrs af klyngen med ansvaret for at levere koordineringstjenester mellem noder. Hvis klienten รธnsker at kommunikere med regioner, skal serverens klient fรธrst henvende sig til ZooKeeper.
Det er et open source-projekt, og det giver sรฅ mange vigtige tjenester.
Tjenester leveret af Dyrepasser
- Vedligeholder konfigurationsoplysninger
- Giver distribueret synkronisering
- Etablering af klientkommunikation med regionsservere
- Giver flygtige noder, som reprรฆsenterer forskellige regionsservere
- Masterservers anvendelighed af flygtige noder til at opdage tilgรฆngelige servere i klyngen
- Til track serverfejl og netvรฆrkspartitioner
Master- og HBase-slaveknuder (regionsservere) registrerede sig hos ZooKeeper. Klienten skal have adgang til ZK(zookeeper) kvorumskonfiguration for at oprette forbindelse til master- og regionsservere.
Under et svigt af noder, der findes i HBase-klyngen, vil ZKquoram udlรธse fejlmeddelelser, og det begynder at reparere de mislykkede noder.
HDFS
HDFS er en Hadoop-distribueret File System, som navnet antyder, giver det et distribueret miljรธ til lageret, og det er et filsystem, der er designet pรฅ en mรฅde til at kรธre pรฅ rรฅvarehardware. Den gemmer hver fil i flere blokke, og for at opretholde fejltolerance, replikeres blokkene pรฅ tvรฆrs af en Hadoop-klynge.
HDFS giver en hรธj grad af fejltolerance og kรธrer pรฅ billig rรฅvarehardware. Ved at tilfรธje noder til klyngen og udfรธre behandling og lagring ved at bruge den billige rรฅvarehardware, vil det give klienten bedre resultater sammenlignet med den eksisterende.
Heri replikeres de data, der er gemt i hver blok, til 3 noder. I et tilfรฆlde, hvor en node gรฅr ned, vil der ikke vรฆre noget tab af data, den vil have en ordentlig backup-gendannelsesmekanisme.
HDFS komme i kontakt med HBase-komponenterne og gemmer en stor mรฆngde data pรฅ en distribueret mรฅde.
HBase Data Model
HBase Data Model er et sรฆt komponenter, der bestรฅr af tabeller, rรฆkker, kolonnefamilier, celler, kolonner og versioner. HBase-tabeller indeholder kolonnefamilier og rรฆkker med elementer defineret som Primรฆre nรธgler. En kolonne i HBase-datamodeltabellen reprรฆsenterer attributter til objekterne.
HBase Data Model bestรฅr af fรธlgende elementer,
- Sรฆt af borde
- Hver tabel med kolonnefamilier og rรฆkker
- Hver tabel skal have et element defineret som Primary Key.
- Rรฆkkenรธgle fungerer som en primรฆr nรธgle i HBase.
- Enhver adgang til HBase-tabeller bruger denne primรฆre nรธgle
- Hver kolonne, der findes i HBase, angiver attributter, der svarer til objektet
HBase Use Cases
Fรธlgende er eksempler pรฅ HBase use cases med en detaljeret forklaring af den lรธsning, den giver pรฅ forskellige tekniske problemer
| Problemformulering | Lรธsning |
|---|---|
Telekomindustrien stรฅr over for fรธlgende tekniske udfordringer
|
HBase bruges til at gemme milliarder af rรฆkker af detaljerede opkaldsposter. Hvis der tilfรธjes 20 TB data om mรฅneden til den eksisterende RDBMS-database, forringes ydeevnen. Til at hรฅndtere en stor mรฆngde data i denne use case er HBase den bedste lรธsning. HBase udfรธrer hurtig forespรธrgsel og viser poster. |
| Bankbranchen genererer millioner af poster pรฅ daglig basis. Ud over dette har bankbranchen ogsรฅ brug for en analyselรธsning, der kan opdage svindel i pengetransaktioner | For at gemme, behandle og opdatere store mรฆngder data og udfรธre analyser er en ideel lรธsning โ HBase integreret med flere Hadoop-รธkosystemkomponenter. |
Ud over det kan HBase bruges
- Nรฅr der er behov for at skrive tunge ansรธgninger.
- Udfรธrelse af online loganalyse og generering af overholdelsesrapporter.
Opbevaringsmekanisme i HBase
HBase er en kolonneorienteret database og data gemmes i tabeller. Tabellerne er sorteret efter RowId. Som vist nedenfor har HBase RowId, som er samlingen af โโflere kolonnefamilier, der er til stede i tabellen.
De kolonnefamilier, der er til stede i skemaet, er nรธglevรฆrdi-par. Hvis vi observerer i detaljer, har hver kolonnefamilie flere antal kolonner. Kolonnevรฆrdierne gemt i diskhukommelsen. Hver celle i tabellen har sine egne metadata som tidsstempel og anden information.

Nรฅr vi kommer til HBase, er fรธlgende nรธglebegreber, der reprรฆsenterer tabelskema
- Bordlampe: Samling af rรฆkker til stede.
- Rรฆkke: Samling af sรธjlefamilier.
- Sรธjlefamilie: Samling af sรธjler.
- Kolonne: Samling af nรธglevรฆrdi-par.
- navnerumLogisk gruppeping af borde.
- Cell: En {row, column, version} tuple specificerer nรธjagtigt en celledefinition i HBase.
Kolonneorienterede vs rรฆkkeorienterede opbevaringssteder
Sรธjle- og rรฆkkeorienterede lagringspladser adskiller sig i deres lagringsmekanisme. Som vi alle ved, gemmer traditionelle relationsmodeller data i form af rรฆkkebaseret format som i form af rรฆkker af data. Kolonneorienterede lagre gemmer datatabeller i form af kolonner og kolonnefamilier.
Fรธlgende tabel giver nogle vigtige forskelle mellem disse to opbevaringssteder
| Kolonneorienteret database | Rรฆkkeorienteret database |
|---|---|
| Nรฅr situationen kommer til proces og analyse, bruger vi denne tilgang. Sรฅsom Online analytisk behandling og det er applikationer. | Online transaktionsproces sรฅsom bank- og finansdomรฆner bruger denne tilgang. |
| Mรฆngden af โโdata, der er i stand til at gemme i denne model, er meget stor ligesom i form af petabyte | Den er designet til et lille antal rรฆkker og kolonner. |
HBase lรฆse og skrive data forklaret
Lรฆse- og skriveoperationerne fra klient til Hfile kan vises i diagrammet nedenfor.
Trin 1) Klienten รธnsker at skrive data og kommunikerer til gengรฆld fรธrst med Regions server og derefter regioner
Trin 2) Regioner, der kontakter memstore for lagring i forbindelse med kolonnefamilien
Trin 3) Fรธrst lagres data i Memstore, hvor dataene sorteres, og derefter skylles det ind i HFile. Hovedรฅrsagen til at bruge Memstore er at gemme data i et distribueret filsystem baseret pรฅ Row Key. Memstore vil blive placeret i regionsserverens hovedhukommelse, mens HF-filer skrives ind i HDFS.
Trin 4) Klient รธnsker at lรฆse data fra regioner
Trin 5) Til gengรฆld kan klienten have direkte adgang til Mem-butikken, og den kan anmode om data.
Trin 6) Klient henvender sig til HFiles for at fรฅ dataene. Dataene hentes og hentes af Kunden.
Memstore indeholder รฆndringer i hukommelsen til butikken. Hierarkiet af objekter i HBase-regioner er som vist fra top til bund i nedenstรฅende tabel.
| Bordlampe | HBase-tabel til stede i HBase-klyngen |
| Omrรฅde | HRegioner for de prรฆsenterede tabeller |
| Butik | Den gemmer per kolonnefamilie for hver region for tabellen |
| Memstore |
|
| Gem fil | StoreFiles for hver butik for hver region for tabellen |
| Blokering | Blokke til stede i StoreFiles |
HBase vs. HDFS
HBase kรธrer oven pรฅ HDFS og Hadoop. Nogle vigtige forskelle mellem HDFS og HBase er med hensyn til datadrift og -behandling.
| HBASE | HDFS |
|---|---|
| Operationer med lav latens | Operationer med hรธj latens |
| Tilfรฆldig lรฆsning og skrivning | Skriv en gang Lรฆs mange gange |
| Tilgรฅs gennem skal kommandoer, klient-API i Java, REST, Avro eller Thrift | Primรฆrt adgang via MR (Map Reduce) jobs |
| Bรฅde opbevaring og proces kan udfรธres | Det er kun til opbevaringsomrรฅder |
Nogle typiske IT-industrielle applikationer bruger HBase-operationer sammen med Hadoop. Applikationer omfatter bรธrsdata, netbankdataoperationer og behandling Hbase er bedst egnede lรธsningsmetode.
Resumรฉ
- HBase-arkitekturkomponenter: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HMaster i HBase er implementeringen af โโen Master-server i HBase-arkitektur.
- Nรฅr HBase Region Server modtager skrive- og lรฆseanmodninger fra klienten, tildeler den anmodningen til en bestemt region, hvor den faktiske kolonnefamilie findes
- HRegioner er de grundlรฆggende byggeelementer i HBase-klyngen, der bestรฅr af distributionen af โโtabeller og bestรฅr af kolonnefamilier.
- HBase Zookeeper er en centraliseret overvรฅgningsserver, som vedligeholder konfigurationsoplysninger og sรธrger for distribueret synkronisering.
- HDFS giver en hรธj grad af fejltolerance og kรธrer pรฅ billig rรฅvarehardware.
- HBase Data Model er et sรฆt komponenter, der bestรฅr af tabeller, rรฆkker, kolonnefamilier, celler, kolonner og versioner.
- Sรธjle- og rรฆkkeorienterede lagringspladser adskiller sig i deres lagringsmekanisme.

