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

  1. 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.
  2. 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
  3. 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.
  4. 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
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Toda na drugi strani ima Hbase svoj vmesnik v obliki Hbase Shell kot na primer: -

  1. hbase (glavna): 003: 0> ustvari 'test', 'cf'

0 vrstic v 1.2200 sekundah

  1. hbase (glavna): 004: 0> dal 'test', 'row1', 'cf: a', 'value1'

0 vrstic v 0.0560 sekund

  1. hbase (glavna): 005: 0> dal 'test', 'row2', 'cf: b', 'value2'

0 vrstic v 0, 0370 sekundah

  1. hbase (glavna): 006: 0> dal 'test', 'row3', 'cf: c', 'value3'

0 vrstic v 0, 0450 sekundah

  1. 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 primerjavoHDFSHBase
Zakaj jih potrebujemoPotrebno je obdelati ogromne naloge podatkov na velikih grozdih računalnikovHBase je distribuirana stolpčno naravnana shramba podatkov, zgrajena na vrhu HDFS
Vozlišča odpovejo vsak dana) 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 vzorecDoda samoNaključno pisanje, povečanje obsega
Preberi vzorecPopolno pregledovanje mize, pregled pregradne mizeNaključno branje, majhno branje ali pregledovanje tabel
V / R vzorecHDFS je zelo primeren za primere enkrat za pisanje in večkratno branjeHBase je idealno primeren za naključno zapisovanje in branje podatkov, ki so shranjeni v HDFS.
Učinkovitost panj (SQL)Relativno zelo dobro4-5 krat počasneje
Strukturirano skladiščenjeNaredite sami ali TSV ali Sequence FileModel podatkov z redkimi družinami stolpcev
Največja velikost podatkovObičajno lahko shranijo približno 30 PBPribližno približno 1 PB
Dinamične spremembeHDFS 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 podatkovPodatki 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 podatkovVsi 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 modeliranjeV HDFS uporabljamo tehniko zmanjšanja zemljevidov, ki datoteke deli na pare ključ - vrednostHBase temelji na Googlovem modelu Bigtable, ki uporablja tudi pare Key-Value
OperacijeIma velike zamude pri operacijahIma operacije z nizko zamudo
DostopnostDostop 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 -

  1. HBase proti Cassandri - kateri je boljši (Infographics)
  2. Ugotovite 7 najboljših razlik med Hadoopom in HBase
  3. Top 12 primerjava Apache Hive z Apache HBase (Infographics)

Kategorija: