Verschil tussen HDFS en HBase

HDFS (Hadoop Distributed File System) Met HDFS kunt u enorme hoeveelheden gegevens opslaan op een gedistribueerde en redundante manier, die draait op standaardhardware. HBase (Hadoop's database) is een NoSQL-database die bovenop uw Hadoop-cluster wordt uitgevoerd

Laten we de componenten en architectuur van respectievelijk HDFS en HBase bekijken:

Componenten van HDFS

  • NameNode
  • DataNode

NameNode: NameNode kan worden beschouwd als een meester van het systeem. Het onderhoudt de boomstructuur van het bestand en de metagegevens voor alle bestanden en mappen in het systeem. Twee bestanden 'Naamruimte-afbeelding' en het 'bewerkingslogboek' worden gebruikt om metagegevensinformatie op te slaan. Namenode heeft kennis van alle gegevensknooppunten die gegevensblokken voor een bepaald bestand bevatten, maar slaat bloklocaties niet permanent op. Deze informatie wordt telkens opnieuw opgebouwd uit gegevensknooppunten wanneer het systeem start.

DataNode: DataNodes zijn slaves die zich op elke machine in een cluster bevinden en de daadwerkelijke opslag bieden. Het is verantwoordelijk voor het bedienen, lezen en schrijven van aanvragen voor de clients.

HDFS-architectuur: -

Componenten van HBase: -

  • Hbase meester
  • Regioserver
  • Regio
  • Dierentuinmedewerker

HMaster : Het is de hoofdserver in HBase-architectuur. Het is de monitoring agent om alle Region Server te monitoren en het is ook de verantwoordelijkheid van HMaster om de interface te zijn voor alle metadata-veranderingen. Het draait op NameNode.

Regio-servers: wanneer Regio-server verzoeken van de client ontvangt om te lezen en te lezen, wijst het de aanvraag toe aan een specifieke regio, waar de werkelijke kolomfamilie zich bevindt. De client kan echter rechtstreeks contact opnemen met Region-servers, er is geen behoefte aan HMaster verplichte toestemming aan de client met betrekking tot communicatie met Region-servers. De client heeft HMaster-hulp nodig wanneer bewerkingen met betrekking tot metagegevens en schemamethoden zijn vereist.

Regio's: Regio's zijn de basisbouwelementen van het HBase-cluster dat bestaat uit de verdeling van tabellen en bestaat uit kolomfamilies. Het bevat meerdere winkels, één voor elke kolomfamilie. Het bestaat voornamelijk uit twee componenten, namelijk Memstore en Hfile.

ZooKeeper: In Hbase is Zookeeper een gecentraliseerde bewakingsserver die configuratie-informatie onderhoudt en gedistribueerde synchronisatie biedt. Gedistribueerde synchronisatie is bedoeld om toegang te krijgen tot de gedistribueerde applicaties die in het cluster worden uitgevoerd met de verantwoordelijkheid om coördinatiediensten tussen knooppunten te leveren. Als de client met regio's wil communiceren, moet de client eerst ZooKeeper benaderen.

HBase Architecture: - HBase maakt deel uit van het Ecosysteem van Hadoop.

Diepgaand Model: -

Vergelijking van kop tot kop tussen HDFS en HBase (infographics)

Hieronder vindt u de Top 14-vergelijking tussen HDFS en HBase

Belangrijkste verschillen tussen HDFS versus HBase

Hieronder is het verschil tussen HDFS en HBase als volgt

  1. HDFS is een gedistribueerd bestandssysteem dat zeer geschikt is voor de opslag van grote bestanden. Maar HBase, aan de andere kant, is gebouwd bovenop HDFS en biedt snelle record-lookups (en updates) voor grote tafels.
  2. HDFS is gebaseerd op GFS-bestandssysteem. Maar HBase is gedistribueerd - gebruikt HDFS voor opslag, kolom - Oriented, Multi-Dimensional (versies) en opslagsysteem
  3. HDFS gebruikt HIVE als een van zijn componenten voor de quire-taal die HIVE Query Language (HQL) is, maar Hbase is GEEN SQL-database die betekent: - Geen Joins, geen query-engine, geen gegevenstypen, geen (verdomde) SQL, geen schema en geen DBA nodig.
  4. Omdat HDFS een gedistribueerde opslageenheid is, hebben ze daarom geen specifieke taal anders dan de opdrachten die worden gebruikt zoals de UNIX-smaak, zoals bijvoorbeeld: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Maar aan de andere kant heeft Hbase zijn eigen interface in de vorm van Hbase Shell zoals bijvoorbeeld: -

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

0 rij (len) in 1, 2200 seconden

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

0 rij (len) in 0, 0560 seconden

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

0 rij (len) in 0, 0370 seconden

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

0 rij (len) in 0, 0450 seconden

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

RIJ KOLOM + CEL

rij 1 kolom = cf: a, timestamp = 1288380727188, waarde = waarde1

rij 2 kolom = cf: b, tijdstempel = 1288380738440, waarde = waarde2

rij 3 kolom = cf: c, tijdstempel = 1288380747365, waarde = waarde3

3 rij (len) in 0, 0590 seconden

Vergelijkingstabel HDFS versus HBase

Basis voor vergelijkingHDFSHBase
Waarom we ze nodig hebbenMoeten enorme datasets op grote clusters van computers verwerkenHBase is een gedistribueerde kolomgerichte datastore gebouwd bovenop HDFS
Knopen mislukken elke daga) Falen wordt verwacht in plaats van uitzonderlijk
b) Het aantal knooppunten in een cluster is niet constant
HBase is een open source-project van Apache met als doel opslag te bieden voor de Hadoop Distributed Computing
Schrijf patroonAlleen toevoegenWillekeurig schrijven, bulk incrementeel
Patroon lezenVolledige tabelscan, partitietabelscanWillekeurig lezen, scan op klein bereik of tabelscan
W / R-patroonHDFS is bij uitstek geschikt voor eenmalig en veelvuldig gebruikHBase is bij uitstek geschikt voor willekeurig schrijven en lezen van gegevens die zijn opgeslagen in HDFS.
Hive (SQL) prestatiesRelatief zeer goed4-5 keer langzamer
Gestructureerde opslagDoe het zelf of TSV of Sequence FileDun gegevensmodel voor kolomfamilie
Maximale gegevensgrootteTypisch kan winkels in de buurt van ongeveer 30 PBOngeveer ongeveer 1 PB
Dynamische veranderingenHDFS heeft een rigide architectuur die geen wijzigingen toestaat. Het vergemakkelijkt geen dynamische opslag.HBase zorgt voor dynamische veranderingen en kan worden gebruikt voor zelfstandige toepassingen.
GegevensdistributieGegevens worden verdeeld verdeeld over de knooppunten in een cluster. Gegevens worden verdeeld in blokken en worden vervolgens opgeslagen over knooppunten in het HDFS-cluster.Tabellen worden via regio's verdeeld over het cluster en regio's worden automatisch gesplitst en opnieuw gedistribueerd naarmate uw gegevens groeien
Gegevens opslagAlle gegevens worden opgeslagen in de vorm van kleine bestanden en alle bestanden hebben een typische grootte van 64 MB (wat 128 MB is in de nieuwere versie)Alle gegevens worden opgeslagen in de vorm van tabellen, rijen en kolommen
DatamodelleringIn HDFS gebruiken we de Map Reduce-techniek die de bestanden verdeelt in de sleutel / waarde-parenHBase is gebaseerd op het Bigtable-model van Google dat ook Key-Value-paren gebruikt
ActiviteitenHet heeft operaties met hoge latentieHet heeft bewerkingen met lage latentie
ToegankelijkheidHet is voornamelijk toegankelijk via MR-opdrachten (Map Reduce)Het is toegankelijk via shell-opdrachten, client-API in Java, REST, Avro of Thrift

Conclusie - HDFS versus HBase

Kortom, zowel HDFS als HBase hebben prachtige technologieën op zich. Beide HDFS en HBase zijn gemaakt om de Big Data op te slaan en om ze gemakkelijk toegankelijk te maken en te verwerken. Ze gaan zowel HDFS als HBase naast elkaar terwijl de ene HDFS de gegevens opslaat en de andere HBase zet een schema op voor de gegevens voor het opslaan en later ophalen voor gebruik door de client.

Hbase is een van NoSQL kolomgeoriënteerde gedistribueerde database beschikbaar in Apache Foundation. HBase biedt meer prestaties voor het ophalen van minder records in plaats van Hadoop of Hive. Het is heel gemakkelijk om te zoeken naar een gegeven invoerwaarde omdat het indexeren, transacties en bijwerken ondersteunt.

We kunnen online realtime analyses uitvoeren met behulp van Hbase geïntegreerd met het Hadoop-ecosysteem. Het heeft een automatische en configureerbare sharding voor datasets of tabellen en biedt rustgevende API's om de MapReduce-taken uit te voeren.

Aanbevolen artikel

Dit is een leidraad geweest voor HDFS versus HBase, hun betekenis, vergelijking van persoon tot persoon, belangrijkste verschillen, vergelijkingstabel en conclusie. dit artikel heeft het nuttige verschil tussen HDFS en HBase. Raadpleeg ook de volgende artikelen voor meer informatie -

  1. HBase versus Cassandra - Welke is beter (Infographics)
  2. Ontdek de 7 beste verschillen tussen Hadoop en HBase
  3. Top 12 vergelijking van Apache Hive vs Apache HBase (Infographics)

Categorie: