Skillnaden mellan HDFS och HBase

HDFS (Hadoop Distribuerat filsystem) HDFS låter dig lagra enorma mängder data på ett distribuerat och redundant sätt, som körs på råvaruhårdvara. HBase (Hadoops databas) är en NoSQL-databas som kör ovanpå ditt Hadoop-kluster

Låt oss ta en titt på komponenterna och arkitekturen för HDFS respektive HBase:

Komponenter till HDFS

  • NameNode
  • DataNode

NameNode: NameNode kan betraktas som en master i systemet. Det underhåller filsystemträdet och metadata för alla filer och kataloger som finns i systemet. Två filer 'Namnrymdsbild' och 'redigeringsloggen' används för att lagra information om metadata. Namenode har kunskap om alla datanoder som innehåller datablock för en given fil, men det lagrar inte blockeringsplatser ihållande. Denna information rekonstrueras varje gång från datanoder när systemet startar.

DataNode: DataNodes är slavar som finns på varje maskin i ett kluster och ger den faktiska lagringen. Det ansvarar för att betjäna, läsa och skriva förfrågningar för kunderna.

HDFS Arkitektur: -

Komponenter av HBase: -

  • Hbase master
  • Regionserver
  • Område
  • zookeeper

HMaster : Det är Master-servern i HBase-arkitektur. Det är övervakningsagenten att övervaka alla regionserver och det är också HMasters ansvar att vara gränssnittet för alla metadataförändringar. Det körs på NameNode.

Region-servrar: När Region-servern tar emot skriver och läser förfrågningar från klienten tilldelar den begäran till en viss region, där den faktiska kolumnfamiljen finns. Emellertid kan klienten direkt kontakta med regionens servrar, det finns inget behov av HMaster obligatoriskt tillstånd till klienten angående kommunikation med regionservrar. Klienten behöver HMaster-hjälp när operationer relaterade till metadata och schematändringar krävs.

Regioner: Regioner är de grundläggande byggelementen i HBase-klustret som består av fördelningen av tabeller och består av kolumnfamiljer. Den innehåller flera butiker, en för varje kolumnfamilj. Den består huvudsakligen av två komponenter, som är Memstore och Hfile.

ZooKeeper: I Hbase är Zookeeper en centraliserad övervakningsserver som upprätthåller konfigurationsinformation och ger distribuerad synkronisering. Distribuerad synkronisering är åtkomst till de distribuerade applikationer som körs över klustret med ansvaret för att tillhandahålla koordinationstjänster mellan noder. Om klienten vill kommunicera med regioner måste serverns klient närma sig ZooKeeper först.

HBase Architecture: - HBase är en del av Hadoops ekosystem.

Djupmodell: -

Jämförelse mellan huvud och huvud mellan HDFS vs HBase (Infographics)

Nedan visas topp 14 jämförelse mellan HDFS vs HBase

Viktiga skillnader mellan HDFS vs HBase

Nedan är skillnaden mellan HDFS och HBase som följer

  1. HDFS är ett distribuerat filsystem som är väl lämpat för lagring av stora filer. Men HBase är å andra sidan byggd ovanpå HDFS och ger snabba uppslag (och uppdateringar) för stora bord.
  2. HDFS har baserat sig på GFS-filsystem. Men HBase distribueras - använder HDFS för lagring, kolumn - Orienterat, flerdimensionellt (versioner) och lagringssystem
  3. HDFS använder HIVE som en av dess komponenter för quirespråket som är HIVE Query Language (HQL), men Hbase är INTE en SQL-databas som betyder: - No Joins, no query engine, no datatypes, no (damn) SQL, No Schema och ingen DBA behövs.
  4. Eftersom HDFS är en distribuerad lagringsenhet har därför inget annat språk än de kommandon som används som UNIX-smak som till exempel: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Men å andra sidan har Hbase sitt eget gränssnitt i form av Hbase Shell som till exempel: -

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

0 rad (er) på 1.2200 sekunder

  1. hbase (main): 004: 0> sätta 'test', 'rad1', 'cf: a', 'värde1'

0 rad (er) på 0, 0560 sekunder

  1. hbase (huvud): 005: 0> sätta 'test', 'rad2', 'jfr: b', 'värde2'

0 rad (er) på 0, 0370 sekunder

  1. hbase (main): 006: 0> sätta 'test', 'row3', 'cf: c', 'value3'

0 rad (er) på 0, 0450 sekunder

  1. hbase (main): 007: 0> skanna 'test'

RAD KOLONN + CELL

rad 1 kolumn = cf: a, tidsstämpel = 1288380727188, värde = värde1

rad2 kolumn = cf: b, tidsstämpel = 1288380738440, värde = värde2

rad3 kolumn = cf: c, tidsstämpel = 1288380747365, värde = värde3

3 rad (er) på 0, 0590 sekunder

HDFS jämfört med HBas jämförelsetabell

Grund för jämförelseHDFSHBase
Varför VI behöver demBehöver behandla enorma datasätt på stora datorerHBase är en distribuerad kolumnorienterad datalager byggd ovanpå HDFS
Noderna misslyckas varje daga) Fel förväntas snarare än exceptionellt
b) Antalet noder i ett kluster är inte konstant
HBase är ett Apache-öppen källkodsprojekt vars mål är att ge lagring för Hadoop Distribuerad Computing
SkrivmönsterLägg endast tillSlumpmässig skrivning, bulkökning
Läs mönsterFull tabellskanning, partitionstabellscanningSlumpmässig avläsning, liten räckvidd eller tabellskanning
W / R-mönsterHDFS är idealiskt anpassat för fall och skriv-läsning många gångerHBase är idealisk för slumpmässig skrivning och läsning av data som lagras i HDFS.
Hive-prestandaRelativt mycket bra4-5 gånger långsammare
Strukturerad lagringGör det själv eller TSV eller sekvensfilSparsam kolumnfamiljedatamodell
Maximal datastorlekVanligtvis kan butiker nära cirka 30 PBCirka 1 PB
Dynamiska förändringarHDFS har en styv arkitektur som inte tillåter förändringar. Det underlättar inte dynamisk lagring.HBase möjliggör dynamiska förändringar och kan användas för fristående applikationer.
DatadistributionData lagras på ett distribuerat sätt över noderna i ett kluster. Data delas upp i block och lagras sedan över noder som finns i HDFS-klustret.Tabeller distribueras i klustret via regioner, och regionerna delas automatiskt upp och distribueras när dina data växer
DatalagringAll data lagras i form av små filer och alla filer har en typisk storlek på 64 MB (vilket är 128 MB i den nyare versionen)All data lagras i form av tabeller, rader och kolumner
DatamodelleringI HDFS använder vi Map Reduce-tekniken som delar upp filerna i Key-Value-parenHBase är baserad på Googles Bigtable-modell som också använder Key-Value-par
OperationerDet har hög latensoperationerDet har låg latensoperationer
TillgänglighetDet åtkomst främst via MR (Map Reduce) -jobbDet kan nås via skalkommandon, klient-API i Java, REST, Avro eller Thrift

Slutsats - HDFS vs HBase

Sammantaget har både HDFS och HBase underbara teknologier i sig. De både HDFS och HBase skapades för att lagra Big Data och göra det enkelt att komma åt dem och beräkna dem. De både HDFS och HBase går sida vid sida när en HDFS lagrar data och den andra HBase lägger ett schema på informationen om hur de ska lagras och hämtas senare för användning av klienten.

Hbase är en av NoSql-kolumnorienterad distribuerad databas som finns tillgänglig i apache foundation. HBase ger mer prestanda för att hämta färre skivor snarare än Hadoop eller Hive. Det är väldigt lätt att söka efter givet ingångsvärde eftersom det stöder indexering, transaktioner och uppdatering.

Vi kan utföra online realtidsanalys med Hbase integrerat med Hadoop-ekosystemet. Den har en automatisk och konfigurerbar skärmning för datasätt eller tabeller och ger vilsamma API: er för att utföra MapReduce-jobb.

Rekommenderad artikel

Detta har varit en guide till HDFS vs HBase, deras betydelse, jämförelse mellan huvud och huvud, viktiga skillnader, jämförelsetabell och slutsats. den här artikeln har all användbar skillnad mellan HDFS och HBase.Du kan också titta på följande artiklar för att lära dig mer -

  1. HBase vs Cassandra - Vilken som är bättre (Infographics)
  2. Ta reda på de 7 bästa skillnaderna mellan Hadoop vs HBase
  3. Topp 12 jämförelse av Apache Hive vs Apache HBase (Infographics)

Kategori: