HBase-arkitektur, komponenter, datamodell og brukstilfeller

Innholdsfortegnelse:

Anonim

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 er tilstede i tabellen.

Kolonnefamiliene som er tilstede i skjemaet er nøkkelverdipar. Hvis vi i detalj observerer hver kolonnefamilie som har flere antall kolonner. Kolonneverdiene lagret i diskminnet. Hver celle i tabellen har sine egne metadata som tidsstempel og annen informasjon.

Lagringsmekanisme i HBase

Når det gjelder HBase er følgende nøkkelord som representerer tabellskjema

  • Tabell : Samling av rader til stede.
  • Rad : Samling av kolonnefamilier.
  • Kolonnefamilie : Samling av kolonner.
  • Kolonne : Samling av nøkkelverdipar.
  • Navneområde : Logisk gruppering av tabeller.
  • Celle : En {rad, kolonne, versjon} tuple spesifiserer nøyaktig en celledefinisjon i HBase.

I denne opplæringen - vil du lære,

  • Lagringsmekanisme i HBase
  • HBase datamodell
  • HBase Architecture og dens viktige komponenter
  • HBase Les og skriv data forklart
  • HBase brukstilfeller
  • HBASE vs. HDFS

Kolonneorientert vs Radorientert lagring

Kolonne- og radorienterte lagre er forskjellige i lagringsmekanismen. Som vi alle vet, lagrer tradisjonelle relasjonsmodeller data i form av radbasert format som i form av datarader. Kolonneorienterte lagringer lagrer datatabeller når det gjelder kolonner og kolonnefamilier.

Tabellen nedenfor gir noen viktige forskjeller mellom disse to lagrene

Kolonneorientert database Radorientert database
  • Når situasjonen kommer til prosess og analyse, bruker vi denne tilnærmingen. Slik som online analytisk behandling og applikasjoner.
  • Transaksjonelle online prosesser som bank- og finansdomener bruker denne tilnærmingen.
  • Mengden data som kan lagre i denne modellen er veldig stor som når det gjelder petabyte
  • Den er designet for et lite antall rader og kolonner.

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 tabellen HBase datamodell representerer attributter til objektene.

HBase datamodell 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ære nøkkelen
  • Hver kolonne i HBase betegner attributt som tilsvarer objektet

HBase Architecture og dens viktige komponenter

Nedenfor er en detaljert arkitekter av HBase med komponenter:

HBase-arkitekturdiagram

HBase-arkitekturen består hovedsakelig av fire komponenter

  • HMaster
  • HRregionserver
  • HRregioner
  • Dyrepasser
  • HDFS

HMaster:

HMaster i HBase er implementeringen av en Master-server i HBase-arkitektur. Det 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 tilbyr adminytelse og distribuerer tjenester til forskjellige regionsservere.
  • HMaster tildeler regioner til regionservere.
  • HMaster har funksjonene som å kontrollere lastbalansering og failover for å håndtere belastningen over noder som er tilstede i klyngen.
  • Når en klient ønsker å endre skjema og endre Metadata-operasjoner, tar HMaster ansvar for disse operasjonene.

Noen av metodene eksponert av HMaster Interface er primært Metadata-orienterte metoder.

  • Tabell (createTable, removeTable, enable, disable)
  • ColumnFamily (legg til kolonne, endre kolonne)
  • Region (flytte, tildele)

Klienten kommuniserer på en toveis måte med både HMaster og ZooKeeper. For lese- og skriveoperasjoner, kontakter den direkte med HRegion-servere. HMaster tilordner regioner til regionservere, og i sin tur sjekker du helsesstatusen til områdeserverne.

I hele arkitekturen har vi flere regionservere. Hlog til stede i regionservere som skal lagre alle loggfilene.

HBase Regions-servere:

Når HBase Region Server mottar forespørsler om skriving og lesing fra klienten, tilordner den forespørselen til en bestemt region, der den faktiske kolonnefamilien befinner seg. Imidlertid kan klienten kontakte direkte med HRegion-servere, 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 er påkrevd.

HRegionServer er implementeringen av Region Server. Det er ansvarlig for å betjene og administrere regioner eller data som er tilstede i en distribuert klynge. Regionserverne kjøres 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 administrere regioner
  • Deler regioner automatisk
  • Håndtering av lese- og skriveforespørsler
  • Kommunisere med klienten direkte

HBase-regioner:

HR-regioner er de grunnleggende bygningselementene i HBase-klyngen som består av fordelingen 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 distribuerte applikasjoner som kjører over klyngen med ansvaret for å tilby koordineringstjenester mellom noder. Hvis klienten vil kommunisere med regioner, må serverens klient nærme seg ZooKeeper først.

Det er et open source-prosjekt, og det gir så mange viktige tjenester.

Tjenester levert av ZooKeeper

  • Opprettholder konfigurasjonsinformasjon
  • Tilbyr distribuert synkronisering
  • Klientkommunikasjonsetablering med regionservere
  • Tilbyr kortvarige noder som representerer forskjellige regionservere
  • Master serveres brukervennlighet av kortvarige noder for å oppdage tilgjengelige servere i klyngen
  • For å spore serverfeil og nettverkspartisjoner

Master- og HBase-slaveknuter (regionservere) registrerte seg hos ZooKeeper. Klienten trenger tilgang til ZK (zookeeper) quorumkonfigurasjon for å koble til master- og regionservere.

Under svikt i noder som finnes i HBase-klynge, vil ZKquoram utløse feilmeldinger, og det begynner å reparere de mislykkede nodene.

HDFS:

HDFS er et Hadoop-distribuert filsystem, som navnet antyder, gir det et distribuert miljø for lagring, og det er et filsystem designet på en måte å kjøre på råvaremaskinvare. Den lagrer hver fil i flere blokker, og for å opprettholde feiltoleranse replikeres blokkene over en Hadoop-klynge.

HDFS gir en høy grad av feiltoleranse og kjører på billig råvaremaskinvare. Ved å legge til noder i klyngen og utføre behandling og lagring ved å bruke billig råvaremaskinvare, vil det gi klienten bedre resultater sammenlignet med den eksisterende.

Her inne replikeres dataene som er lagret i hver blokk i 3 noder, uansett i tilfelle når en node går ned, vil det ikke være noe tap av data, den vil ha en ordentlig sikkerhetskopieringsmekanisme.

HDFS kommer i kontakt med HBase-komponentene og lagrer en stor mengde data på en distribuert måte.

HBase Les og skriv data forklart

Les og skriv-operasjonene fra klient til Hfile kan vises i diagrammet nedenfor.

Trinn 1) Klienten ønsker å skrive data og kommuniserer i sin tur først med Regions server og deretter regioner

Trinn 2) Regioner som kontakter memstore for lagring tilknyttet kolonnefamilien

Trinn 3) Første datalagring i Memstore, hvor dataene sorteres, og deretter skylles de inn i HFile. Hovedårsaken til bruk av Memstore er å lagre data i et distribuert filsystem basert på radnøkkel. Memstore vil bli plassert i hovedminnet til Region-serveren mens HFiles er skrevet inn i HDFS.

Trinn 4) Kunden vil lese data fra regioner

Trinn 5) I sin tur kan klienten ha direkte tilgang til Mem store, og den kan be om data.

Trinn 6) Kunden nærmer seg HFiles for å få data. Dataene blir hentet og hentet av klienten.

Memstore har endringer 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 HRregioner for de presenterte tabellene
butikk Den lagrer per ColumnFamily for hver region for tabellen
Memstore
  • Memstore for hver butikk for hver region for bordet
  • Den sorterer data før den skylles inn i HFiles
  • Skrive- og leseytelse vil øke på grunn av sortering
StoreFile StoreFiles for hver butikk for hver region for tabellen
Blokkere Blokker finnes i StoreFiles

HBase brukstilfeller

Følgende er eksempler på HBase-brukstilfeller med en detaljert forklaring på løsningen den gir til ulike tekniske problemer

Problemstilling Løsning
Telekomindustrien står overfor følgende tekniske utfordringer
  • Lagring av milliarder CDR (samtaler detaljert opptak) loggposter generert av telekom-domene
  • Gi tilgang i sanntid til CDR-logger og faktureringsinformasjon fra kunder
  • Gi kostnadseffektiv løsning sammenlignet med tradisjonelle databasesystemer
HBase brukes til å lagre milliarder av rader med detaljerte samtaleposter. Hvis det legges til 20 TB data per måned i den eksisterende RDBMS-databasen, vil ytelsen forverres. For å håndtere en stor mengde data i dette brukstilfellet, er HBase den beste løsningen. HBase utfører rask spørring og viser poster.
The Banking industrien genererer millioner av plater på en 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 datamengder og utføre analyser, er en ideell løsning - HBase integrert med flere Hadoop økosystemkomponenter.

Bortsett fra det, kan HBase brukes

  • Når det er behov for å skrive tunge applikasjoner.
  • Utfører logganalyse på nettet og genererer rapporter om samsvar.

HBase vs. HDFS

HBase kjører på toppen av HDFS og Hadoop. Noen viktige forskjeller mellom HDFS og HBase er når det gjelder datadrift og behandling.

HBASE

HDFS

  • Operasjoner med lav latens
  • Operasjoner med høy latens
  • Tilfeldig leser og skriver
  • Skriv en gang Les mange ganger
  • Tilgang via shell-kommandoer, klient-API i Java, REST, Avro eller Thrift
  • Primært tilgjengelig via MR (Map Reduce) jobber
  • Lagring og prosess kan begge utføres
  • Det er bare for lagringsområder

Noen typiske IT-industrielle applikasjoner bruker HBase-operasjoner sammen med Hadoop. Søknadene inkluderer børsdata, datadrift i nettbank og behandling av Hbase er den beste løsningsmetoden.

Sammendrag

Hbase er en av NoSql kolonneorientert distribuert database tilgjengelig i apache foundation. HBase gir mer ytelse for å hente færre poster i stedet for Hadoop eller Hive. Det er veldig enkelt å søke etter gitt inngangsverdi fordi det støtter indeksering, transaksjoner og oppdatering.

Vi kan utføre analyser i sanntid online ved hjelp av Hbase integrert med Hadoop-økosystemet. Den har en automatisk og konfigurerbar skjæring for datasett eller tabeller og gir avslappende API-er for å utføre MapReduce-jobbene.