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
- 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.
- HDFS har baserat sig på GFS-filsystem. Men HBase distribueras - använder HDFS för lagring, kolumn - Orienterat, flerdimensionellt (versioner) och lagringssystem
- 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.
- 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
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Men å andra sidan har Hbase sitt eget gränssnitt i form av Hbase Shell som till exempel: -
- hbase (main): 003: 0> skapa 'test', 'cf'
0 rad (er) på 1.2200 sekunder
- hbase (main): 004: 0> sätta 'test', 'rad1', 'cf: a', 'värde1'
0 rad (er) på 0, 0560 sekunder
- hbase (huvud): 005: 0> sätta 'test', 'rad2', 'jfr: b', 'värde2'
0 rad (er) på 0, 0370 sekunder
- hbase (main): 006: 0> sätta 'test', 'row3', 'cf: c', 'value3'
0 rad (er) på 0, 0450 sekunder
- 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örelse | HDFS | HBase |
Varför VI behöver dem | Behöver behandla enorma datasätt på stora datorer | HBase är en distribuerad kolumnorienterad datalager byggd ovanpå HDFS |
Noderna misslyckas varje dag | a) 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önster | Lägg endast till | Slumpmässig skrivning, bulkökning |
Läs mönster | Full tabellskanning, partitionstabellscanning | Slumpmässig avläsning, liten räckvidd eller tabellskanning |
W / R-mönster | HDFS är idealiskt anpassat för fall och skriv-läsning många gånger | HBase är idealisk för slumpmässig skrivning och läsning av data som lagras i HDFS. |
Hive-prestanda | Relativt mycket bra | 4-5 gånger långsammare |
Strukturerad lagring | Gör det själv eller TSV eller sekvensfil | Sparsam kolumnfamiljedatamodell |
Maximal datastorlek | Vanligtvis kan butiker nära cirka 30 PB | Cirka 1 PB |
Dynamiska förändringar | HDFS 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. |
Datadistribution | Data 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 |
Datalagring | All 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 |
Datamodellering | I HDFS använder vi Map Reduce-tekniken som delar upp filerna i Key-Value-paren | HBase är baserad på Googles Bigtable-modell som också använder Key-Value-par |
Operationer | Det har hög latensoperationer | Det har låg latensoperationer |
Tillgänglighet | Det åtkomst främst via MR (Map Reduce) -jobb | Det 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 -
- HBase vs Cassandra - Vilken som är bättre (Infographics)
- Ta reda på de 7 bästa skillnaderna mellan Hadoop vs HBase
- Topp 12 jämförelse av Apache Hive vs Apache HBase (Infographics)