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í
- 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.
- 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
- 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.
- 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
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Na druhou stranu má Hbase vlastní rozhraní ve formě Hbase Shell, jako například: -
- hbase (main): 003: 0> create 'test', 'cf'
0 řádků za 1, 2200 sekund
- hbase (main): 004: 0> put 'test', 'row1', 'cf: a', 'value1'
0 řádků za 0, 0560 sekund
- hbase (hlavní): 005: 0> vložte 'test', 'row2', 'cf: b', 'value2'
0 řádků za 0, 0370 sekund
- hbase (main): 006: 0> vložte 'test', 'row3', 'cf: c', 'value3'
0 řádků za 0, 0450 sekund
- 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í | HDFS | HBase |
Proč je potřebujeme | Je 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ý den | a) 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 vzor | Připojit pouze | Ná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 vzor | HDFS 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 File | Datový model řídkých sloupců |
Maximální velikost dat | Obvykle lze skladovat přibližně 30 PB | Přibližně kolem 1 PB |
Dynamické změny | HDFS 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 dat | Data 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í dat | V HDFS používáme techniku Map Reduce, která rozděluje soubory do dvojic Key - Value | HBase je založen na modelu Google Bigtable, který používá také páry klíč-hodnota |
Operace | Má operace s vysokou latencí | Má operace s nízkou latencí |
Přístupnost | Je 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 -
- HBase vs Cassandra - který z nich je lepší (Infografika)
- Zjistěte 7 nejlepších rozdílů mezi Hadoopem a HBase
- Top 12 Porovnání Apache Hive vs Apache HBase (Infographics)