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
- 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.
- HDFS is gebaseerd op GFS-bestandssysteem. Maar HBase is gedistribueerd - gebruikt HDFS voor opslag, kolom - Oriented, Multi-Dimensional (versies) en opslagsysteem
- 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.
- 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
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Maar aan de andere kant heeft Hbase zijn eigen interface in de vorm van Hbase Shell zoals bijvoorbeeld: -
- hbase (main): 003: 0> maak 'test', 'cf'
0 rij (len) in 1, 2200 seconden
- hbase (main): 004: 0> zet 'test', 'row1', 'cf: a', 'value1'
0 rij (len) in 0, 0560 seconden
- hbase (main): 005: 0> zet 'test', 'row2', 'cf: b', 'value2'
0 rij (len) in 0, 0370 seconden
- hbase (main): 006: 0> zet 'test', 'row3', 'cf: c', 'value3'
0 rij (len) in 0, 0450 seconden
- 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 vergelijking | HDFS | HBase |
Waarom we ze nodig hebben | Moeten enorme datasets op grote clusters van computers verwerken | HBase is een gedistribueerde kolomgerichte datastore gebouwd bovenop HDFS |
Knopen mislukken elke dag | a) 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 patroon | Alleen toevoegen | Willekeurig schrijven, bulk incrementeel |
Patroon lezen | Volledige tabelscan, partitietabelscan | Willekeurig lezen, scan op klein bereik of tabelscan |
W / R-patroon | HDFS is bij uitstek geschikt voor eenmalig en veelvuldig gebruik | HBase is bij uitstek geschikt voor willekeurig schrijven en lezen van gegevens die zijn opgeslagen in HDFS. |
Hive (SQL) prestaties | Relatief zeer goed | 4-5 keer langzamer |
Gestructureerde opslag | Doe het zelf of TSV of Sequence File | Dun gegevensmodel voor kolomfamilie |
Maximale gegevensgrootte | Typisch kan winkels in de buurt van ongeveer 30 PB | Ongeveer ongeveer 1 PB |
Dynamische veranderingen | HDFS 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. |
Gegevensdistributie | Gegevens 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 opslag | Alle 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 |
Datamodellering | In HDFS gebruiken we de Map Reduce-techniek die de bestanden verdeelt in de sleutel / waarde-paren | HBase is gebaseerd op het Bigtable-model van Google dat ook Key-Value-paren gebruikt |
Activiteiten | Het heeft operaties met hoge latentie | Het heeft bewerkingen met lage latentie |
Toegankelijkheid | Het 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 -
- HBase versus Cassandra - Welke is beter (Infographics)
- Ontdek de 7 beste verschillen tussen Hadoop en HBase
- Top 12 vergelijking van Apache Hive vs Apache HBase (Infographics)