Rozdíl mezi HDFS a HBase

HDFS (distribuovaný systém souborů Hadoop) HDFS vám umožňuje ukládat obrovské množství dat distribuovaným a redundantním způsobem, který běží na komoditním hardwaru. HBase (databáze Hadoop) je databáze NoSQL, která běží na vrcholu vašeho clusteru Hadoop

Podívejme se na komponenty a architekturu HDFS, respektive HBase:

Komponenty HDFS

  • NameNode
  • DataNode

NameNode: NameNode lze považovat za master systému. Udržuje strom systému souborů a metadata pro všechny soubory a adresáře přítomné v systému. K ukládání informací o metadatech se používají dva soubory „obraz oboru názvů“ a „protokol úprav“. Namenode má znalosti o všech datových uzlech obsahujících datové bloky pro daný soubor, ale umístění bloků trvale neukládá. Tato informace je rekonstruována pokaždé z datových uzlů při spuštění systému.

DataNode: DataNodes jsou otroci, kteří sídlí na každém počítači v klastru a poskytují skutečné úložiště. Je zodpovědný za obsloužení, čtení a zápis požadavků pro klienty.

HDFS architektura: -

Složky HBase: -

  • Hbase pán
  • Regionální server
  • Oblast
  • Zookeeper

HMaster : Je to hlavní server v architektuře HBase. Je monitorovacím agentem, který monitoruje všechny Regionální servery, a je také odpovědností HMaster, aby byl rozhraním pro všechny změny metadat. Běží na NameNode.

Servery regionů: Když Region Server přijme zápisy a přečte požadavky od klienta, přiřadí požadavek konkrétní oblasti, ve které se nachází skutečná rodina sloupců. Klient však může přímo kontaktovat servery se serverem Region, není tedy nutné, aby klient měl k dispozici povinné povolení společnosti HMaster týkající se komunikace se servery Servers. Klient vyžaduje pomoc HMaster, pokud jsou vyžadovány operace týkající se změn metadat a schématu.

Regiony: Regiony jsou základní stavební prvky klastru HBase, které sestávají z distribuce tabulek a jsou tvořeny rodinami sloupců. Obsahuje více obchodů, jeden pro každou rodinu sloupců. Skládá se převážně ze dvou složek, kterými jsou Memstore a Hfile.

ZooKeeper: V Hbase je Zookeeper centralizovaný monitorovací server, který udržuje informace o konfiguraci a poskytuje distribuovanou synchronizaci. Distribuovaná synchronizace je přístup k distribuovaným aplikacím běžícím v klastru s odpovědností za poskytování koordinačních služeb mezi uzly. Pokud chce klient komunikovat s regiony, musí klient serveru nejprve přistoupit k ZooKeeper.

Architektura HBase: - HBase je součástí Hadoopova ekosystému.

Hloubkový model: -

Srovnání hlava-hlava mezi HDFS vs HBase (Infographics)

Níže je Top 14 Porovnání mezi HDFS vs HBase

Klíčové rozdíly mezi HDFS vs. HBase

Níže je rozdíl mezi HDFS a HBase následující

  1. HDFS je distribuovaný systém souborů, který se dobře hodí pro ukládání velkých souborů. HBase je naproti tomu postavena na vrcholu HDFS a poskytuje rychlé vyhledávání záznamů (a aktualizace) pro velké tabulky.
  2. HDFS je založen na systému souborů GFS. Ale HBase je distribuován - používá HDFS pro ukládání, sloupec - orientovaný, vícerozměrný (verze) a úložný systém
  3. HDFS používá HIVE jako jednu ze svých komponent pro jazyk quire, který je HIVE Query Language (HQL), ale Hbase NENÍ SQL databáze, což znamená: - Žádné připojení, žádný dotazovací stroj, žádné datové typy, žádné (zatraceně) SQL, žádné schéma a bez potřeby DBA.
  4. Protože HDFS je distribuovaná paměťová jednotka, nemá proto žádný specifický jazyk kromě příkazů používaných jako příchuť UNIX, jako například: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Na druhou stranu má Hbase vlastní rozhraní ve formě Hbase Shell, jako například: -

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

0 řádků za 1, 2200 sekund

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

0 řádků za 0, 0560 sekund

  1. hbase (hlavní): 005: 0> vložte 'test', 'row2', 'cf: b', 'value2'

0 řádků za 0, 0370 sekund

  1. hbase (main): 006: 0> vložte 'test', 'row3', 'cf: c', 'value3'

0 řádků za 0, 0450 sekund

  1. hbase (hlavní): 007: 0> testovací test

ROW COLUMN + CELL

row1 column = cf: a, timestamp = 1288380727188, value = value1

row2 column = cf: b, timestamp = 1288380738440, value = value2

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

3 řádky za 0, 0590 sekund

Srovnávací tabulka HDFS vs HBase

Základ pro srovnáníHDFSHBase
Proč je potřebujemeJe třeba zpracovat obrovské soubory dat na velkých klastrech počítačůHBase je distribuovaný datový sklad orientovaný na sloupy postavený na vrcholu HDFS
Uzly selhávají každý dena) Porucha se očekává spíše než výjimečně
b) Počet uzlů v klastru není konstantní
HBase je projekt otevřeného zdroje Apache, jehož cílem je poskytnout úložiště pro distribuovaný výpočet Hadoop
Napište vzorPřipojit pouzeNáhodné psaní, hromadné přírůstkové
Přečtěte si vzorÚplné skenování tabulky, skenování tabulky oddílůNáhodné čtení, skenování malého rozsahu nebo skenování tabulky
W / R vzorHDFS se ideálně hodí pro případy jednorázového zápisu a četného použitíHBase je ideální pro náhodný zápis a čtení dat uložených v HDFS.
Výkon úlu (SQL)Relativně velmi dobré4-5krát pomaleji
Strukturované úložištěUdělejte to sami nebo TSV nebo Sequence FileDatový model řídkých sloupců
Maximální velikost datObvykle lze skladovat přibližně 30 PBPřibližně kolem 1 PB
Dynamické změnyHDFS má tuhou architekturu, která neumožňuje změny. Nepomáhá to dynamické úložiště.HBase umožňuje dynamické změny a lze jej použít pro samostatné aplikace.
Distribuce datData jsou ukládána distribuovaným způsobem přes uzly v clusteru. Data jsou rozdělena do bloků a poté jsou uložena na uzlech přítomných v klastru HDFS.Tabulky jsou distribuovány v klastru přes regiony a regiony jsou automaticky rozděleny a znovu distribuovány, jak rostou vaše data
Datové úložištěVšechna data jsou uložena ve formě malých souborů a všechny soubory mají typickou velikost 64 MB (což je 128 MB v novější verzi).Všechna data jsou ukládána ve formě tabulek, řádků a sloupců
Modelování datV HDFS používáme techniku ​​Map Reduce, která rozděluje soubory do dvojic Key - ValueHBase je založen na modelu Google Bigtable, který používá také páry klíč-hodnota
OperaceMá operace s vysokou latencíMá operace s nízkou latencí
PřístupnostJe primárně přístupný prostřednictvím úloh MR (Map Reduce)Je přístupný prostřednictvím příkazů prostředí, klientského rozhraní API v jazyce Java, REST, Avro nebo Thrift

Závěr - HDFS vs. HBase

Celkově lze říci, že jak HDFS, tak HBase mají skvělé technologie jako takové. Oba HDFS a HBase byly vytvořeny pro ukládání velkých dat a pro snadný přístup k nim a jejich výpočet. Oba HDFS a HBase jdou bok po boku, zatímco jeden HDFS ukládá data, druhý HBase vloží do dat schéma, jak je uložit a načíst později pro použití klienta.

Hbase je jednou z distribuovaných databází NoSql orientovaných na sloupce, které jsou dostupné v nadaci apache. HBase poskytuje vyšší výkon pro načtení méně záznamů, spíše než Hadoop nebo Hive. Vyhledání dané vstupní hodnoty je velmi snadné, protože podporuje indexování, transakce a aktualizace.

Můžeme provádět online analytiku v reálném čase pomocí Hbase integrované s ekosystémem Hadoop. Má automatické a konfigurovatelné sharding pro datové sady nebo tabulky a poskytuje klidná API pro provádění úloh MapReduce.

Doporučený článek

Toto byl průvodce HDFS vs. HBase, jejich význam, srovnání hlava-hlava, hlavní rozdíly, srovnávací tabulka a závěr. Tento článek obsahuje všechny užitečné rozdíly mezi HDFS a HBase. Další informace naleznete také v následujících článcích -

  1. HBase vs Cassandra - který z nich je lepší (Infografika)
  2. Zjistěte 7 nejlepších rozdílů mezi Hadoopem a HBase
  3. Top 12 Porovnání Apache Hive vs Apache HBase (Infographics)

Kategorie: