Rozdiel medzi HDFS a HBase

HDFS (Distribuovaný súborový systém Hadoop) HDFS vám umožňuje ukladať obrovské množstvo údajov distribuovaným a redundantným spôsobom, ktorý beží na komoditnom hardvéri. HBase (databáza Hadoop) je databáza NoSQL, ktorá beží na vrchole vášho klastra Hadoop

Pozrime sa na komponenty a architektúru systémov HDFS a HBase:

Komponenty HDFS

  • NameNode
  • DataNode

NameNode: NameNode možno považovať za master systému. Udržuje strom systému súborov a metadáta pre všetky súbory a adresáre, ktoré sú v systéme. Na ukladanie informácií o metaúdajoch sa používajú dva súbory „obraz namespace“ a „protokol úprav“. Namenode má vedomosti o všetkých dátových uzloch obsahujúcich dátové bloky pre daný súbor, neukladá však trvalé umiestnenia blokov. Tieto informácie sa obnovia zakaždým z dátových uzlov, keď sa systém spustí.

DataNode: DataNodes sú otroky, ktorí sídlia na každom počítači v klastri a poskytujú skutočné úložisko. Je zodpovedný za vybavovanie, čítanie a zápis požiadaviek pre klientov.

Architektúra HDFS: -

Zložky HBase: -

  • Hbase majster
  • Regionálny server
  • kraj
  • Ošetrovateľ v zoo

HMaster : Je to hlavný server v architektúre HBase. Je monitorovacím agentom, ktorý monitoruje všetky regionálne servery a je zodpovednosťou spoločnosti HMaster, aby bola rozhraním pre všetky zmeny metadát. Beží na NameNode.

Servery regiónov: Keď regionálny server prijme zapisovanie a načítanie požiadaviek od klienta, priradí žiadosť konkrétnej oblasti, v ktorej sa nachádza skutočná rodina stĺpcov. Klient sa však môže priamo spojiť so servermi regiónu, nie je potrebné povinné povolenie klienta HMaster týkajúce sa komunikácie so servermi regiónu. Klient vyžaduje pomoc HMaster, keď sú potrebné operácie týkajúce sa zmien metadát a schém.

Regióny: Regióny sú základné stavebné prvky klastra HBase, ktoré pozostávajú z distribúcie tabuliek a pozostávajú z rodín stĺpcov. Obsahuje viac obchodov, jeden pre každú rodinu stĺpcov. Pozostáva predovšetkým z dvoch komponentov, ktorými sú Memstore a Hfile.

ZooKeeper: V Hbase je Zookeeper centralizovaný monitorovací server, ktorý udržuje konfiguračné informácie a poskytuje distribuovanú synchronizáciu. Distribuovaná synchronizácia je prístup k distribuovaným aplikáciám bežiacim v klastri so zodpovednosťou za poskytovanie koordinačných služieb medzi uzlami. Ak chce klient komunikovať s regiónmi, musí klient servera najskôr navštíviť ZooKeeper.

Architektúra HBase: - HBase je súčasťou ekosystému Hadoop.

Hĺbkový model: -

Porovnanie vzájomných vzťahov medzi HDFS a HBase (infografika)

Nasleduje Top 14 Porovnanie medzi HDFS vs HBase

Kľúčové rozdiely medzi HDFS a HBase

Nižšie je uvedený rozdiel medzi HDFS a HBase

  1. HDFS je distribuovaný systém súborov, ktorý je vhodný na ukladanie veľkých súborov. Ale HBase, na druhej strane, je postavený na vrchole HDFS a poskytuje rýchle vyhľadávanie záznamov (a aktualizácie) pre veľké tabuľky.
  2. HDFS je založený na súborovom systéme GFS. Ale HBase je distribuovaný - používa HDFS na ukladanie, stĺpce - orientované, viacrozmerné (verzie) a úložný systém
  3. HDFS používa HIVE ako jednu zo svojich zložiek pre jazyk quire, ktorý je HIVE Query Language (HQL), ale Hbase NIE JE SQL databáza, čo znamená: - Žiadni pripojení, žiadny dotazovací stroj, žiadne dátové typy, žiadne (sakra) SQL, žiadne schémy a bez potreby DBA.
  4. Pretože HDFS je distribuovaná úložná jednotka, nemá preto iný špecifický jazyk ako príkazy používané ako príchuť UNIX, ako napríklad: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Na druhej strane má Hbase vlastné rozhranie vo forme Hbase Shell, ako napríklad: -

  1. hbase (main): 003: 0> create 'test', 'cf'

0 riadkov za 1 200 sekúnd

  1. hbase (main): 004: 0> dať 'test', 'row1', 'cf: a', 'value1'

0 riadkov za 0, 0560 sekúnd

  1. hbase (main): 005: 0> dať 'test', 'row2', 'cf: b', 'value2'

0 riadkov za 0, 0370 sekundy

  1. hbase (main): 006: 0> dať 'test', 'row3', 'cf: c', 'value3'

0 riadkov za 0, 0450 sekundy

  1. hbase (hlavný): 007: 0> skenovací „test“

ROW COLUMN + CELL

stĺpec row1 = cf: a, timestamp = 1288380727188, value = value1

stĺpec row2 = cf: b, timestamp = 1288380738440, value = value2

row3 column = cf: c, timestamp = 1288380747365, value = value3

3 riadky za 0, 0590 sekundy

Porovnávacia tabuľka HDFS verzus HBase

Základ pre porovnanieHDFSHBase
Prečo ich potrebujemePotreba spracovať obrovské súbory údajov na veľkých klastroch počítačovHBase je distribuovaný dátový sklad orientovaný na stĺpce postavený na vrchole HDFS
Uzly zlyhávajú každý deňa) Očakáva sa skôr zlyhanie ako výnimočné
b) Počet uzlov v klastri nie je konštantný
HBase je projekt Apache open source, ktorého cieľom je poskytnúť úložisko pre distribuovaný počítač Hadoop
Napíšte vzorPripojiť ibaNáhodné písanie, hromadné inkrementálne
Prečítajte si vzorSkenovanie celej tabuľky, skenovanie tabuľky oddielovNáhodné čítanie, skenovanie malého rozsahu alebo skenovanie tabuľky
Vzor W / RHDFS je ideálny pre prípady jednorazového a opakovaného použitiaHBase je ideálna pre náhodný zápis a čítanie údajov, ktoré sú uložené v HDFS.
Výkon úľa (SQL)Pomerne veľmi dobre4-5 krát pomalšie
Štruktúrované úložiskoUrobte to sami alebo TSV alebo Sequence FileDátový model riedkej rodiny stĺpcov
Maximálna veľkosť údajovZvyčajne môžu byť uložené približne 30 PBPribližne okolo 1 PB
Dynamické zmenyHDFS má pevnú architektúru, ktorá neumožňuje zmeny. Nepomáha to dynamické ukladanie.HBase umožňuje dynamické zmeny a môže byť použitý pre samostatné aplikácie.
Distribúcia údajovDáta sa ukladajú distribuovaným spôsobom cez uzly v klastri. Dáta sú rozdelené do blokov a potom sú uložené na uzloch prítomných v klastri HDFS.Tabuľky sa distribuujú v klastri cez regióny a regióny sa automaticky rozdeľujú a znova rozdeľujú podľa rastu vašich údajov
Úložisko dátVšetky dáta sú uložené vo forme malých súborov a všetky súbory majú typickú veľkosť 64 MB (čo je 128 MB v novšej verzii).Všetky údaje sa ukladajú vo forme tabuliek, riadkov a stĺpcov
Modelovanie dátV HDFS používame techniku ​​Map Reduce, ktorá rozdeľuje súbory na páry kľúč - hodnotaSystém HBase je založený na modeli spoločnosti Bigtable od spoločnosti Google, ktorý využíva aj páry kľúč - hodnota
operácieMá operácie s vysokou latenciouMá operácie s nízkou latenciou
prístupnosťJe prístupný predovšetkým prostredníctvom úloh MR (Map Reduce)Je prístupný prostredníctvom príkazov shellu, klientskeho rozhrania API v jazyku Java, REST, Avro alebo Thrift

Záver - HDFS vs HBase

Na záver možno povedať, že HDFS aj HBase majú nádherné technológie samy o sebe. Oba systémy HDFS a HBase boli vytvorené na ukladanie veľkých dát a na uľahčenie ich prístupu a výpočtu. Oba systémy HDFS a HBase idú bok po boku, pretože jeden systém HDFS ukladá údaje, druhý program HBase vkladá do údajov schému, ako ich uložiť a načítať neskôr pre použitie klienta.

Hbase je jednou z distribuovaných databáz zameraných na stĺpce NoSql dostupných v nadácii apache. Program HBase poskytuje väčší výkon pri načítavaní menšieho počtu záznamov, ako pri Hadoop alebo Hive. Je veľmi ľahké vyhľadať zadanú hodnotu, pretože podporuje indexovanie, transakcie a aktualizácie.

Môžeme vykonávať online analýzy v reálnom čase pomocou systému Hbase integrovaného do ekosystému Hadoop. Má automatické a konfigurovateľné šrafovanie pre dátové sady alebo tabuľky a poskytuje pokojné API na vykonávanie úloh MapReduce.

Odporúčaný článok

Toto bola príručka pre systém HDFS verzus HBase, ich význam, porovnanie hlava-hlava, kľúčové rozdiely, porovnávacia tabuľka a záver. Tento článok obsahuje všetky užitočné rozdiely medzi HDFS a HBase. Ďalšie informácie nájdete v nasledujúcich článkoch -

  1. HBase vs Cassandra - ktorý z nich je lepší (infografika)
  2. Zistite 7 najlepších rozdielov medzi Hadoopom a HBase
  3. Top 12 Porovnanie Apache Hive vs Apache HBase (Infographics)

Kategórie: