Razlika med HDFS in HBase
HDFS (Hadoop Distributed File System) HDFS omogoča shranjevanje ogromnih količin podatkov na razdeljen in odvečen način, ki deluje na robni strojni opremi. HBase (Hadoopova baza podatkov) je baza podatkov NoSQL, ki deluje na vrhu vaše skupine Hadoop
Oglejmo si komponente in arhitekturo HDFS oziroma HBase:
Sestavni deli HDFS
- NameNode
- DataNode
NameNode: NameNode se lahko obravnava kot glavni sistem. Ohranja drevo datotečnega sistema in metapodatke za vse datoteke in mape, ki so prisotne v sistemu. Za shranjevanje podatkov o metapodatkih se uporabljata dve datoteki 'Slika imenskega prostora' in 'Uredi dnevnik'. Namenode pozna vsa podatkovna vozlišča, ki vsebujejo podatkovne bloke za dano datoteko, vendar lokacije blokov ne shranjuje vztrajno. Te informacije se vsakič obnovijo iz podatkovnih vozlišč, ko se sistem zažene.
DataNode: DataNode so sužnji, ki se nahajajo na vsaki napravi v gruči in zagotavljajo dejansko shranjevanje. Odgovoren je za vročanje, branje in pisanje zahtev za stranke.
HDFS Arhitektura: -
Sestavni deli HBase: -
- Hbase mojster
- Regijski strežnik
- Regija
- Oskrbnik živalskega vrta
HMaster : To je glavni strežnik v arhitekturi HBase. To sredstvo za spremljanje je spremljanje vseh regijskih strežnikov, HMaster pa je odgovoren za vmesnik za vse spremembe metapodatkov. Poteka na NameNode.
Regijski strežniki: Ko Regijski strežnik prejme zapisuje in bere zahteve odjemalca, ga dodeli določeni regiji, kjer prebiva dejanska družina stolpcev. Vendar lahko odjemalec neposredno stopi v stik s regijskimi strežniki, zato ni potrebno obvezno dovoljenje HMaster za komunikacijo z regijskimi strežniki. Odjemalec potrebuje pomoč HMaster, kadar so potrebne operacije, povezane z metapodatki in spremembami sheme.
Regije: Regije so osnovni gradbeni elementi grozda HBase, ki je sestavljen iz porazdelitve tabel in jih sestavljajo družine stolpcev. Vsebuje več trgovin, po eno za vsako družino stolpcev. Sestavljen je predvsem iz dveh komponent, in sicer Memstore in Hfile.
ZooKeeper: V Hbase je Zookeeper centraliziran nadzorni strežnik, ki vzdržuje konfiguracijske informacije in zagotavlja porazdeljeno sinhronizacijo. Distribuirana sinhronizacija je dostop do porazdeljenih aplikacij, ki tečejo skozi grozd, z odgovornostjo zagotavljanja koordinacijskih storitev med vozlišči. Če želi odjemalec komunicirati z regijami, se mora odjemalec strežnika najprej obrniti na ZooKeeper.
HBase arhitektura: - HBase je del Hadoopovega ekosistema.
Model v globini: -
Primerjava med proizvajalci HDFS in HBase (Infographics)
Spodaj je zgornjih 14 primerjav med HDFS in HBase
Ključne razlike med HDFS in HBase
Spodaj je razlika med HDFS in HBase sledeča
- HDFS je porazdeljeni datotečni sistem, ki je zelo primeren za shranjevanje velikih datotek. Toda HBase je na drugi strani zasnovan na HDFS in omogoča hitro iskanje posnetkov (in posodobitve) za velike tabele.
- HDFS temelji na datotečnem sistemu GFS. Toda HBase je razdeljen - HDFS uporablja za shranjevanje, stolpec - orientiran, večdimenzionalni (različice) in sistem za shranjevanje
- HDFS uporablja HIVE kot eno od svojih komponent za jezik poizvedbe, ki je HIVE Query Language (HQL), vendar Hbase NI baze podatkov SQL, kar pomeni: - Brez pridruževanja, brez iskalnih mehanizmov, brez podatkovnih vrst, brez (prekleto) SQL, brez sheme in DBA ni potreben.
- Ker je HDFS porazdeljena shranjevalna enota, torej nimajo nobenega posebnega jezika razen ukazov, ki se uporabljajo kot okus UNIX, na primer: - Hadoop dfs -mkdir / foodir
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Toda na drugi strani ima Hbase svoj vmesnik v obliki Hbase Shell kot na primer: -
- hbase (glavna): 003: 0> ustvari 'test', 'cf'
0 vrstic v 1.2200 sekundah
- hbase (glavna): 004: 0> dal 'test', 'row1', 'cf: a', 'value1'
0 vrstic v 0.0560 sekund
- hbase (glavna): 005: 0> dal 'test', 'row2', 'cf: b', 'value2'
0 vrstic v 0, 0370 sekundah
- hbase (glavna): 006: 0> dal 'test', 'row3', 'cf: c', 'value3'
0 vrstic v 0, 0450 sekundah
- hbase (glavna): 007: 0> skeniraj 'test'
ROW COLUMN + CELL
vrstica1 stolpec = cf: a, časovna oznaka = 1288380727188, vrednost = vrednost1
vrstica2 stolpec = cf: b, časovna oznaka = 1288380738440, vrednost = vrednost2
vrstica3 stolpec = cf: c, časovna oznaka = 1288380747365, vrednost = vrednost3
3 vrstice v 0, 0590 sekundah
Tabela primerjave HDFS proti HBase
Osnove za primerjavo | HDFS | HBase |
Zakaj jih potrebujemo | Potrebno je obdelati ogromne naloge podatkov na velikih grozdih računalnikov | HBase je distribuirana stolpčno naravnana shramba podatkov, zgrajena na vrhu HDFS |
Vozlišča odpovejo vsak dan | a) Neuspeh je pričakovan, ne pa izjemen b) Število vozlišč v grozdu ni konstantno | HBase je odprtokodni projekt Apache, katerega cilj je zagotoviti shrambo za distribuirano računalništvo Hadoop |
Vpišite vzorec | Doda samo | Naključno pisanje, povečanje obsega |
Preberi vzorec | Popolno pregledovanje mize, pregled pregradne mize | Naključno branje, majhno branje ali pregledovanje tabel |
V / R vzorec | HDFS je zelo primeren za primere enkrat za pisanje in večkratno branje | HBase je idealno primeren za naključno zapisovanje in branje podatkov, ki so shranjeni v HDFS. |
Učinkovitost panj (SQL) | Relativno zelo dobro | 4-5 krat počasneje |
Strukturirano skladiščenje | Naredite sami ali TSV ali Sequence File | Model podatkov z redkimi družinami stolpcev |
Največja velikost podatkov | Običajno lahko shranijo približno 30 PB | Približno približno 1 PB |
Dinamične spremembe | HDFS ima togo arhitekturo, ki ne omogoča sprememb. Ne omogoča dinamičnega shranjevanja. | HBase omogoča dinamične spremembe in se lahko uporablja za samostojne aplikacije. |
Razdelitev podatkov | Podatki so shranjeni porazdeljeno po vozliščih v grozdu. Podatki so razdeljeni v bloke in se nato shranijo v vozlišča, prisotna v skupini HDFS. | Tabele se razdelijo na grozdu preko regij, regije pa se samodejno razdelijo in ponovno razdelijo, ko rastejo vaši podatki |
Shranjevanje podatkov | Vsi podatki so shranjeni v obliki majhnih datotek in vse datoteke so običajno velikosti 64 MB (kar je v novejši različici 128 MB) | Vsi podatki so shranjeni v obliki tabel, vrstic in stolpcev |
Podatkovno modeliranje | V HDFS uporabljamo tehniko zmanjšanja zemljevidov, ki datoteke deli na pare ključ - vrednost | HBase temelji na Googlovem modelu Bigtable, ki uporablja tudi pare Key-Value |
Operacije | Ima velike zamude pri operacijah | Ima operacije z nizko zamudo |
Dostopnost | Dostop do njega je predvsem prek delovnih mest MR (zmanjšanje zemljevidov) | Dostop do njega lahko poteka prek ukazov lupine, odjemalca API na Javi, REST, Avro ali Thrift |
Zaključek - HDFS proti HBase
Na splošno gledano imata HDFS in HBase čudovite tehnologije. HDFS in HBase sta bila ustvarjena za shranjevanje velikih podatkov in olajšanje dostopa do njih ter njihovega računanja. Tako HDFS kot HBase gresta drug ob drugem, saj eden HDFS shranjuje podatke, drugi HBase postavlja shemo podatkov o tem, kako ga shraniti in pozneje pridobiti za uporabo odjemalca.
Hbase je ena od NoSql stolpčno usmerjene porazdeljene baze podatkov, ki je na voljo v apache fundaciji. HBase zagotavlja večjo zmogljivost za pridobivanje manj zapisov kot Hadoop ali Hive. Za določeno vhodno vrednost je zelo enostavno poiskati, ker podpira indeksiranje, transakcije in posodabljanje.
Spletno analitiko v realnem času lahko izvajamo z uporabo Hbase, integrirane v ekosistem Hadoop. Ima samodejno in nastavljivo ostrenje za nabore podatkov ali tabel in ponuja spokojne API-je za izvajanje opravil MapReduce.
Priporočeni članek
To je vodnik za HDFS proti HBase, njihov pomen, primerjava med seboj, ključne razlike, primerjalna tabela in sklep. ta članek vsebuje vse koristne razlike med HDFS in HBase. Če želite izvedeti več, si oglejte tudi naslednje članke -
- HBase proti Cassandri - kateri je boljši (Infographics)
- Ugotovite 7 najboljših razlik med Hadoopom in HBase
- Top 12 primerjava Apache Hive z Apache HBase (Infographics)