Opbevaringsmekanisme i HBase
HBase er en kolonneorienteret database, og data lagres 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.
Kolonnefamilierne, der er til stede i skemaet, er nøgleværdipar. 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.

Opbevaringsmekanisme i HBase
Kommer til HBase er følgende nøgleudtryk, der repræsenterer tabelskema
- Tabel : Samling af tilstedeværende rækker.
- Række : Samling af kolonnefamilier.
- Kolonnefamilie : Samling af kolonner.
- Kolonne : Samling af nøgleværdipar.
- Navneområde : Logisk gruppering af tabeller.
- Celle : En {række, kolonne, version} tuple specificerer nøjagtigt en celledefinition i HBase.
I denne vejledning - lærer du,
- Opbevaringsmekanisme i HBase
- HBase-datamodel
- HBase-arkitektur og dens vigtige komponenter
- HBase Læs og skriv data forklaret
- HBase brugssager
- HBASE vs. HDFS
Kolonneorienteret vs rækkeorienteret lager
Kolonne- og rækkeorienterede lagre adskiller sig i deres opbevaringsmekanisme. Som vi alle ved, gemmer traditionelle relationsmodeller data med hensyn til rækkebaseret format som med hensyn til datarækker. Kolonneorienterede lagre gemmer datatabeller i form af kolonner og kolonnefamilier.
Den følgende tabel giver nogle vigtige forskelle mellem disse to lagre
Kolonneorienteret database | Rækkeorienteret database |
|
|
|
|
HBase-datamodel
HBase-datamodel 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 tabellen HBase datamodel repræsenterer attributter til objekterne.
HBase datamodel består af følgende elementer,
- Sæt med borde
- Hver tabel med kolonnefamilier og rækker
- Hver tabel skal have et element defineret som primær nøgle.
- Rækketast fungerer som en primær nøgle i HBase.
- Enhver adgang til HBase-tabeller bruger denne primære nøgle
- Hver kolonne til stede i HBase angiver attribut svarende til objektet
HBase-arkitektur og dens vigtige komponenter
Nedenfor er en detaljeret architrecutre af HBase med komponenter:
HBase-arkitektur består hovedsageligt af fire komponenter
- HMaster
- HRegionserver
- HRegioner
- Dyrepasser
- HDFS
HMaster:
HMaster i HBase er implementeringen af en masterserver i HBase-arkitektur. Det fungerer som en overvågningsagent til at overvåge alle forekomster af Region Server, der findes i klyngen, og fungerer som en grænseflade til alle metadataændringerne. I et distribueret klyngemiljø kører Master på NameNode. Master kører flere baggrundstråde.
Følgende er vigtige roller udført af HMaster i HBase.
- Spiller en vigtig rolle med hensyn til ydeevne og vedligeholdelse af noder i klyngen.
- HMaster leverer admin-ydelse og distribuerer tjenester til forskellige regionservere.
- HMaster tildeler regioner til regionservere.
- HMaster har funktionerne som at kontrollere belastningsbalancering og failover til at håndtere belastningen over noder, der findes i klyngen.
- Når en klient ønsker at ændre ethvert skema og ændre Metadata-operationer, tager HMaster ansvaret for disse operationer.
Nogle af metoderne eksponeret af HMaster Interface er primært Metadata-orienterede metoder.
- Tabel (createTable, removeTable, aktiver, deaktiver)
- ColumnFamily (tilføj kolonne, rediger kolonne)
- Region (flyt, tildel)
Klienten kommunikerer på en tovejs måde med både HMaster og ZooKeeper. Til læse- og skriveoperationer kontakter den direkte med HRegion-servere. HMaster tildeler regioner til områdeservere og kontrollerer igen områdeservernes sundhedsstatus.
I hele arkitekturen har vi flere regionsservere. Hlog til stede i regionsservere, der skal gemme alle logfilerne.
HBase Regions-servere:
Når HBase Region Server modtager skrive- og læseanmodninger fra klienten, tildeler den anmodningen til en bestemt region, hvor den aktuelle kolonnefamilie er bosat. Imidlertid kan klienten kontakte direkte med HRegion-servere, det er ikke nødvendigt med 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 implementeringen af Region Server. Det er ansvarligt for at betjene og administrere regioner eller data, der er til stede i en distribueret klynge. Regionserverne kører på datanoder, der er til stede i Hadoop-klyngen.
HMaster kan komme i kontakt med flere HRegion-servere og udfører følgende funktioner.
- Hosting og styring af regioner
- Opdeling af regioner automatisk
- Håndtering af læse- og skriveanmodninger
- Kommunikation med klienten direkte
HBase-regioner:
HRegioner er de grundlæggende bygningselementer i HBase-klynge, der består af distribution 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, der vedligeholder konfigurationsoplysninger og giver 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 henvende sig først til ZooKeeper.
Det er et open source-projekt, og det leverer så mange vigtige tjenester.
Tjenester leveret af ZooKeeper
- Vedligeholder konfigurationsoplysninger
- Giver distribueret synkronisering
- Etablering af klientkommunikation med regionservere
- Tilbyder kortvarige noder, som repræsenterer forskellige regionservere
- Master servers brugbarhed af kortvarige noder til at finde tilgængelige servere i klyngen
- For at spore serverfejl og netværkspartitioner
Master- og HBase-slaveknudepunkter (regionservere) registrerede sig hos ZooKeeper. Klienten har brug for adgang til ZK (zookeeper) kvorumkonfiguration for at oprette forbindelse til master- og regionservere.
Under en fejl i noder, der findes i HBase-klynge, udløser ZKquoram fejlmeddelelser, og det begynder at reparere de mislykkede noder.
HDFS:
HDFS er et Hadoop-distribueret filsystem, som navnet antyder, det giver et distribueret miljø til lagring, og det er et filsystem designet på en måde 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 hardware. Ved at tilføje noder til klyngen og udføre behandling og lagring ved hjælp af billig råvarehardware, vil det give klienten bedre resultater sammenlignet med den eksisterende.
Herinde replikeres de data, der er gemt i hver blok, i 3 noder, hvilket som helst i et tilfælde, når en node går ned, vil der ikke være noget tab af data, det vil have en ordentlig sikkerhedskopieringsmekanisme.
HDFS kommer i kontakt med HBase-komponenterne og lagrer en stor mængde data distribueret.
HBase Læs og skriv data forklaret
Læs og skriv-operationerne fra klienten til Hfile kan vises i nedenstående diagram.
Trin 1) Klienten ønsker at skrive data og kommunikerer derefter igen med Regions-serveren og derefter regioner
Trin 2) Regioner, der kontakter memstore til lagring tilknyttet kolonnefamilien
Trin 3) Første datalagring i Memstore, hvor dataene sorteres, og derefter skylles de ind i HFile. Hovedårsagen til brug af Memstore er at gemme data i et distribueret filsystem baseret på Row Key. Memstore placeres i Region Server-hovedhukommelsen, mens HFiles skrives ind i HDFS.
Trin 4) Kunden ønsker at læse data fra regioner
Trin 5) Til gengæld kan klienten have direkte adgang til Mem store, og den kan anmode om data.
Trin 6) Kunden nærmer sig HFiles for at hente dataene. Dataene hentes og hentes af klienten.
Memstore har ændringer i hukommelsen til butikken. Hierarkiet af objekter i HBase-regioner er vist fra top til bund i nedenstående tabel.
Bord | HBase-tabel til stede i HBase-klyngen |
Område | HRegioner for de præsenterede tabeller |
butik | Den gemmer pr. ColumnFamily for hver region til tabellen |
Memstore |
|
StoreFile | StoreFiles for hver butik for hver region til tabellen |
Blok | Blokke findes i StoreFiles |
HBase brugssager
Følgende er eksempler på HBase-brugssager med en detaljeret forklaring på den løsning, den giver til forskellige tekniske problemer
Problemformulering | Opløsning |
---|---|
Telekomindustrien står over for følgende tekniske udfordringer
| HBase bruges til at gemme milliarder af rækker med detaljerede opkaldsposter. Hvis der tilføjes 20 TB data pr. Måned til den eksisterende RDBMS-database, forringes ydelsen. For at håndtere en stor mængde data i denne brugssag er HBase den bedste løsning. HBase udfører hurtig forespørgsel og viser poster. |
Den Banking industri genererer millioner af plader på daglig basis. Ud over dette har banksektoren også brug for en analyseløsning, der kan afsløre svig i pengetransaktioner | For at gemme, behandle og opdatere store datamængder og udføre analyser er en ideel løsning - HBase integreret med flere Hadoop-økosystemkomponenter. |
Bortset fra det kan HBase bruges
- Når der er behov for at skrive tunge applikationer.
- Udførelse af online loganalyser og generering af overensstemmelsesrapporter.
HBase vs. HDFS
HBase kører oven på HDFS og Hadoop. Nogle vigtige forskelle mellem HDFS og HBase er med hensyn til datafunktioner og behandling.
HBASE |
HDFS |
|
|
|
|
|
|
|
|
|
|
Nogle typiske IT-industrielle applikationer bruger HBase-operationer sammen med Hadoop. Ansøgninger inkluderer fondsbørsdata, onlinebankdataoperationer og behandling af Hbase er den bedst egnede løsningsmetode.
Resumé
Hbase er en af NoSql-kolonneorienteret distribueret database tilgængelig i apache foundation. HBase giver mere ydeevne til at hente færre poster i stedet for Hadoop eller Hive. Det er meget let at søge efter en given inputværdi, fordi den understøtter indeksering, transaktioner og opdatering.
Vi kan udføre online realtidsanalyser ved hjælp af Hbase integreret med Hadoop-økosystemet. Det har en automatisk og konfigurerbar deling til datasæt eller tabeller og giver afslappende API'er til at udføre MapReduce-job.