Forskellen mellem HDFS og HBase
HDFS (Hadoop Distribueret filsystem) HDFS giver dig mulighed for at gemme enorme mængder data på en distribueret og overflødig måde, der kører på råvareshardware. HBase (Hadoop's database) er en NoSQL-database, der kører øverst på din Hadoop-klynge
Lad os se på komponenterne og arkitekturen i henholdsvis HDFS og HBase:
Komponenter til HDFS
- NameNode
- DataNode
NameNode: NameNode kan betragtes som en master af systemet. Det opretholder filsystemtræet og metadata for alle de filer og mapper, der findes i systemet. To filer 'Navneområde-billede' og 'redigeringsloggen' bruges til at gemme metadataoplysninger. Namenode har kendskab til alle dataknudepunkter, der indeholder datablokke for en given fil, men den gemmer ikke blokeringspladser vedvarende. Denne information rekonstrueres hver gang fra dataknudepunkter, når systemet starter.
DataNode: DataNodes er slaver, der bor på hver maskine i en klynge og giver den faktiske opbevaring. Det er ansvarligt for at betjene, læse og skrive anmodninger til klienterne.
HDFS Arkitektur: -
Komponenter til HBase: -
- Hbase master
- Regionserver
- Område
- Dyrepasser
HMaster : Det er hovedserveren i HBase-arkitektur. Det er overvågningsagenten, der overvåger alle Regionserver, og det er også HMasters ansvar at være grænsefladen for alle metadataændringer. Det kører på NameNode.
Regionservere: Når Regionserver modtager skriver og læser anmodninger fra klienten, tildeler den anmodningen til et specifikt område, hvor den faktiske kolonnefamilie er bosiddende. Imidlertid kan klienten direkte kontakte med regionens servere, der er ikke behov for HMaster obligatorisk tilladelse til klienten vedrørende kommunikation med regionsservere. Klienten kræver HMaster-hjælp, når operationer relateret til metadata og skemaændringer er påkrævet.
Regioner: Regioner er de grundlæggende bygningselementer i HBase-klyngen, der består af fordelingen af tabeller og består af søjlefamilier. Det indeholder flere butikker, en for hver søjlefamilie. Det består hovedsageligt af to komponenter, som er Memstore og Hfile.
ZooKeeper: I Hbase er Zookeeper en centraliseret overvågningsserver, der opretholder konfigurationsoplysninger og leverer distribueret synkronisering. Distribueret synkronisering er at få adgang til de distribuerede applikationer, der kører over klyngen, med ansvaret for at levere koordinationstjenester mellem noder. Hvis klienten ønsker at kommunikere med regioner, skal serverens klient først henvende sig til ZooKeeper.
HBase Arkitektur: - HBase er en del af Hadoops økosystem.
Dybdemodel: -
Sammenligning mellem hoved og hoved mellem HDFS vs HBase (Infographics)
Nedenfor er Top 14 sammenligningen mellem HDFS vs HBase
Nøgleforskelle mellem HDFS vs HBase
Nedenfor er forskellen mellem HDFS og HBase som følger
- HDFS er et distribueret filsystem, der er velegnet til opbevaring af store filer. Men HBase er på den anden side bygget oven på HDFS og giver hurtige rekordopslag (og opdateringer) til store borde.
- HDFS har baseret på GFS-filsystem. Men HBase distribueres - bruger HDFS til opbevaring, kolonne - Orienteret, multidimensionalt (versioner) og lagringssystem
- HDFS bruger HIVE som en af dets komponent til quiresproget, som er HIVE Query Language (HQL), men Hbase er IKKE en SQL-database, der betyder: - Ingen sammenføjning, ingen forespørgselsmotor, ingen datatyper, ingen (forbandet) SQL, intet skema og ingen DBA behov.
- Da HDFS er en distribueret lagringsenhed, har de derfor ikke andet specifikt sprog end de kommandoer, der bruges som UNIX-smagen som for eksempel: - Hadoop dfs -mkdir / foodir
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Men på den anden side har Hbase sin egen grænseflade i form af Hbase Shell som for eksempel: -
- hbase (main): 003: 0> Opret 'test', 'cf'
0 række (r) på 1.2200 sekunder
- hbase (hoved): 004: 0> sæt 'test', 'række1', 'jf: a', 'værdi1'
0 række (r) på 0, 0560 sekunder
- hbase (hoved): 005: 0> sæt 'test', 'række2', 'jf: b', 'værdi2'
0 række (r) på 0, 0370 sekunder
- hbase (hoved): 006: 0> sæt 'test', 'række3', 'jf: c', 'værdi3'
0 række (r) på 0, 0450 sekunder
- hbase (hoved): 007: 0> scan 'test'
ROW COLUMN + CELL
række 1 kolonne = jf: a, tidsstempel = 1288380727188, værdi = værdi1
række2 kolonne = jf: b, tidsstempel = 1288380738440, værdi = værdi2
række3 kolonne = jf: c, tidsstempel = 1288380747365, værdi = værdi3
3 række (r) på 0, 0590 sekunder
HDFS vs HBase-sammenligningstabel
Grundlag for sammenligning | HDFS | HBase |
Hvorfor VI har brug for dem | Brug for at behandle enorme datasæt på store klynger af computere | HBase er et distribueret søjleorienteret datalager bygget oven på HDFS |
Knuder mislykkes hver dag | a) Fejl forventes snarere end usædvanlig b) Antallet af noder i en klynge er ikke konstant | HBase er et Apache open source-projekt, hvis mål er at skaffe lager til Hadoop Distribueret Computing |
Skriv mønster | Tilføj kun | Tilfældig skrivning, bulk stigende |
Læs mønster | Fuld tabellscanning, partitionstabelscanning | Tilfældig læst, scanning i lille rækkevidde eller tabelscanning |
W / R mønster | HDFS er ideelt egnet til skrivning én gang og læsning mange gange brug sager | HBase er ideelt egnet til tilfældig skrivning og læsning af data, der er gemt i HDFS. |
Hive (SQL) ydeevne | Relativt meget god | 4-5 gange langsommere |
Struktureret opbevaring | Gør det selv eller TSV eller sekvensfil | Sparse kolonnefamiliedatamodel |
Maksimal datastørrelse | Kan typisk lagre i nærheden af omkring 30 PB | Cirka 1 PB |
Dynamiske ændringer | HDFS har en stiv arkitektur, der ikke tillader ændringer. Det letter ikke dynamisk lagring. | HBase giver mulighed for dynamiske ændringer og kan bruges til selvstændige applikationer. |
Datadistribution | Data gemmes på en distribueret måde over knudepunkterne i en klynge. Data er opdelt i blokke og gemmes derefter over noder, der findes i HDFS-klyngen. | Tabeller distribueres på klyngen via regioner, og regioner opdeles og distribueres automatisk, når dine data vokser |
Data opbevaring | Alle data gemmes i form af små filer, og alle filer har en typisk størrelse på 64 MB (hvilket er 128 MB i den nyere version) | Alle data gemmes i form af tabeller, rækker og kolonner |
Datamodellering | I HDFS bruger vi Map Reduce-teknikken, der opdeler filerne i nøgleværdipar | HBase er baseret på Googles Bigtable-model, der også bruger Key-Value-par |
operationer | Det har operationer med høj latens | Det har lav latensoperationer |
Tilgængelighed | Det tilgås primært via MR (Map Reduce) -job | Det kan nås via shell-kommandoer, klient-API i Java, REST, Avro eller Thrift |
Konklusion - HDFS vs HBase
I den samlede konklusion har både HDFS og HBase vidunderlige teknologier i sig selv. De både HDFS og HBase blev oprettet til at gemme Big Data og for at gøre det nemt at få adgang til og beregne dem. De både HDFS og HBase går side om side, da den ene HDFS lagrer dataene, den anden HBase lægger et skema på dataene om, hvordan de skal lagres og hentes senere til brug af klienten.
Hbase er en af NoSql søjleorienteret distribueret database tilgængelig i apache foundation. HBase giver mere ydelse til at hente færre poster snarere end Hadoop eller Hive. Det er meget let at søge efter en given inputværdi, fordi det understøtter indeksering, transaktioner og opdatering.
Vi kan udføre online realtidsanalyse ved hjælp af Hbase integreret med Hadoop-økosystemet. Det har en automatisk og konfigurerbar afskærmning til datasæt eller tabeller og giver afslappede API'er til at udføre MapReduce-job.
Anbefalet artikel
Dette har været en guide til HDFS vs HBase, deres betydning, sammenligning mellem hoved og hoved, nøgleforskelle, sammenligningstabel og konklusion. denne artikel har al den nyttige forskel mellem HDFS og HBase.Du kan også se på de følgende artikler for at lære mere -
- HBase vs Cassandra - Hvilken der er bedre (Infographics)
- Find ud af de 7 bedste forskelle mellem Hadoop vs HBase
- Top 12 sammenligning af Apache Hive vs Apache HBase (Infographics)