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 at spore 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.
- navnerum: Logisk gruppering af tabeller.
- 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.