Forskjellen mellom HDFS og HBase
HDFS (Hadoop Distribuert filsystem) HDFS lar deg lagre enorme datamengder på en distribuert og overflødig måte, som kjører på råvaremaskinvare. HBase (Hadoops database) er en NoSQL-database som kjører på toppen av din Hadoop-klynge
La oss se på komponentene og arkitekturen til henholdsvis HDFS og HBase:
Komponenter til HDFS
- NameNode
- DataNode
NameNode: NameNode kan betraktes som en master av systemet. Den vedlikeholder filsystemtreet og metadataene for alle filene og katalogene som er til stede i systemet. To filer 'Navneområde-bilde' og 'redigeringslogg' brukes til å lagre metadatainformasjon. Namenode har kunnskap om alle datanoder som inneholder datablokker for en gitt fil, men den lagrer ikke blokkeringssteder vedvarende. Denne informasjonen rekonstrueres hver gang fra dataknuter når systemet starter.
DataNode: DataNodes er slaver som bor på hver maskin i en klynge og gir den faktiske lagringen. Det er ansvarlig for å betjene, lese og skrive forespørsler for klientene.
HDFS Arkitektur: -
Komponenter av HBase: -
- Hbase master
- Region Server
- Region
- Dyrepasser
HMaster : Det er master-serveren i HBase-arkitektur. Det er overvåkingsagenten å overvåke alle Region Server, og det er også HMasters ansvar å være grensesnittet for alle metadataendringene. Den kjører på NameNode.
Region-servere: Når Regionserver mottar skrivinger og leser forespørsler fra klienten, tilordner den forespørselen til en bestemt region, der den faktiske kolonnefamilien er bosatt. Imidlertid kan klienten direkte kontakte med regionservere, det er ikke behov for HMaster obligatorisk tillatelse til klienten angående kommunikasjon med regionservere. Klienten trenger HMaster-hjelp når operasjoner relatert til metadata og skjemaendringer er nødvendige.
Regioner: 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.
ZooKeeper: I Hbase er Zookeeper en sentralisert overvåkningsserver som opprettholder konfigurasjonsinformasjon og gir distribuert synkronisering. Distribuert synkronisering er å få tilgang til de distribuerte applikasjonene som kjører over klyngen med ansvar for å tilby koordineringstjenester mellom noder. Hvis klienten ønsker å kommunisere med regioner, må serverens klient først henvende seg til ZooKeeper.
HBase Architecture: - HBase er en del av Hadoops økosystem.
Dybdemodell: -
Sammenligning mellom hodet og hodet mellom HDFS vs HBase (Infographics)
Nedenfor er Topp 14-sammenligningen mellom HDFS vs HBase
Viktige forskjeller mellom HDFS vs HBase
Nedenfor er forskjellen mellom HDFS og HBase som følger
- HDFS er et distribuert filsystem som er godt egnet for lagring av store filer. Men HBase er derimot bygget oppå HDFS og gir raske oppslag (og oppdateringer) for store bord.
- HDFS har basert på GFS-filsystem. Men HBase er distribuert - bruker HDFS for lagring, kolonne - Orientert, flerdimensjonalt (versjoner) og lagringssystem
- HDFS bruker HIVE som en av komponentene sine for quirespråket som er HIVE Query Language (HQL), men Hbase er IKKE en SQL-database som betyr: - No Joins, no query engine, no datatypes, no (damn) SQL, No Schema og ingen DBA trengs.
- Ettersom HDFS er en distribuert lagringsenhet, har de derfor ikke noe annet språk enn kommandoene som brukes som UNIX-smaken som for eksempel: - Hadoop dfs -mkdir / foodir
- hadoop dfs -katt /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Men på den annen side har Hbase et eget grensesnitt i form av Hbase Shell som for eksempel: -
- hbase (main): 003: 0> opprett 'test', 'cf'
0 rad (er) på 1.2200 sekunder
- hbase (hoved): 004: 0> sett 'test', 'rad1', 'jf: a', 'verdi1'
0 rad (er) på 0, 0560 sekunder
- hbase (hoved): 005: 0> sett 'test', 'rad2', 'jf: b', 'verdi2'
0 rad (er) på 0, 0370 sekunder
- hbase (main): 006: 0> sette 'test', 'row3', 'cf: c', 'value3'
0 rad (er) på 0, 0450 sekunder
- hbase (main): 007: 0> skanne 'test'
RÅ KOLONN + CELL
rad1 kolonne = jf: a, tidsstempel = 1288380727188, verdi = verdi1
rad2 kolonne = cf: b, tidsstempel = 1288380738440, verdi = verdi2
rad3 kolonne = cf: c, tidsstempel = 1288380747365, verdi = verdi3
3 rad (er) på 0, 0590 sekunder
HDFS vs HBase-sammenligningstabell
Grunnlag for sammenligning | HDFS | HBase |
Hvorfor VI trenger dem | Trenger å behandle enorme datasett på store datamaskiner | HBase er et distribuert kolonneorientert datalager bygget på toppen av HDFS |
Knutepunkt mislykkes hver dag | a) Svikt forventes, snarere enn eksepsjonell b) Antall noder i en klynge er ikke konstant | HBase er et Apache open source-prosjekt som har som mål å skaffe lagring til Hadoop Distribuerte Computing |
Skriv mønster | Bare legg til | Tilfeldig skriving, bulktrinn |
Les mønster | Full tabellskanning, partisjonstabelskanning | Tilfeldig lest, liten rekkevidde eller tabellskanning |
W / R mønster | HDFS er ideelt egnet for å skrive en gang og lese mange ganger bruk | HBase er ideell for tilfeldig skriving og lesing av data som er lagret i HDFS. |
Hive (SQL) ytelse | Relativt veldig bra | 4-5 ganger saktere |
Strukturert lagring | Gjør det selv eller TSV eller Sequence File | Sparsom kolonne familiedatamodell |
Maksimal datastørrelse | Vanligvis kan butikker i nærheten av omtrent 30 PB | Cirka 1 PB |
Dynamiske endringer | HDFS har en stiv arkitektur som ikke tillater endringer. Det letter ikke dynamisk lagring. | HBase gir mulighet for dynamiske endringer og kan brukes til frittstående applikasjoner. |
Datadistribusjon | Data lagres på en distribuert måte over nodene i en klynge. Data blir delt inn i blokker og lagres deretter over noder som er til stede i HDFS-klyngen. | Tabeller blir distribuert på klyngen via regioner, og regioner blir automatisk delt opp og distribuert på nytt etter hvert som dataene dine vokser |
Datalagring | Alle dataene er lagret i form av små filer og alle filene har en typisk størrelse på 64 MB (som er 128 MB i den nyere versjonen) | All data blir lagret i form av tabeller, rader og kolonner |
Datamodellering | I HDFS bruker vi Map Reduce-teknikken som deler filene inn i Key - Value-parene | HBase er basert på Googles Bigtable-modell som også bruker Key-Value-par |
operasjoner | Den har høy latensoperasjoner | Den har lave latensoperasjoner |
tilgjengelighet | Det er først og fremst tilgang til via MR (Map Reduce) jobber | Det kan nås via shell-kommandoer, klient-API i Java, REST, Avro eller Thrift |
Konklusjon - HDFS vs HBase
I den samlede konklusjonen har både HDFS og HBase fantastiske teknologier i seg selv. De både HDFS og HBase ble opprettet for å lagre Big Data og for å gjøre det enkelt å få tilgang til og beregne dem. De både HDFS og HBase går side om side, ettersom HDFS lagrer dataene, den andre HBase legger et skjema for dataene om hvordan de skal lagres og hentes senere for bruk av klienten.
Hbase er en av NoSql-kolonneorientert distribuert database tilgjengelig i apache foundation. HBase gir mer ytelse for å hente inn færre plater i stedet for Hadoop eller Hive. Det er veldig enkelt å søke etter gitt inngangsverdi fordi den støtter indeksering, transaksjoner og oppdatering.
Vi kan utføre online sanntidsanalyser ved hjelp av Hbase integrert med Hadoop-økosystemet. Den har en automatisk og konfigurerbar skjerming for datasett eller tabeller og gir avslappende API-er for å utføre MapReduce-jobber.
Anbefalt artikkel
Dette har vært en guide til HDFS vs HBase, deres betydning, sammenligning mellom hodet og hodet, nøkkelforskjeller, sammenligningstabell og konklusjon. denne artikkelen har den nyttige forskjellen mellom HDFS og HBase.Du kan også se på følgende artikler for å lære mer -
- HBase vs Cassandra - Hvilken som er bedre (Infographics)
- Finn ut de 7 beste forskjellene mellom Hadoop vs HBase
- Topp 12 sammenligning av Apache Hive vs Apache HBase (Infographics)