Différence entre HDFS et HBase

HDFS (Hadoop Distributed File System) HDFS vous permet de stocker d'énormes quantités de données de manière distribuée et redondante, qui s'exécute sur du matériel standard. HBase (base de données Hadoop) est une base de données NoSQL qui s'exécute sur votre cluster Hadoop

Jetons un regard sur les composants et l'architecture de HDFS et HBase respectivement:

Composants de HDFS

  • NameNode
  • DataNode

NameNode: NameNode peut être considéré comme un maître du système. Il gère l'arborescence du système de fichiers et les métadonnées de tous les fichiers et répertoires présents dans le système. Deux fichiers «Image d'espace de noms» et «Journal d'édition» sont utilisés pour stocker les informations de métadonnées. Namenode a connaissance de tous les nœuds de données contenant des blocs de données pour un fichier donné, mais il ne stocke pas les emplacements de bloc de manière persistante. Ces informations sont reconstruites à chaque fois à partir des nœuds de données au démarrage du système.

DataNode: les DataNodes sont des esclaves qui résident sur chaque machine d'un cluster et fournissent le stockage réel. Il est chargé de servir, lire et écrire les demandes des clients.

Architecture HDFS: -

Composants de HBase: -

  • Maître Hbase
  • Serveur de région
  • Région
  • Zookeeper

HMaster : Il s'agit du serveur maître dans l'architecture HBase. C'est l'agent de surveillance pour surveiller tous les serveurs de région et il est également de la responsabilité de HMaster d'être l'interface pour toutes les modifications de métadonnées. Il s'exécute sur NameNode.

Serveurs de régions: lorsque le serveur de régions reçoit des demandes d'écriture et de lecture du client, il attribue la demande à une région spécifique, où réside la famille de colonnes réelle. Cependant, le client peut contacter directement les serveurs de région, il n'est pas nécessaire d'obtenir l'autorisation obligatoire de HMaster pour le client concernant la communication avec les serveurs de région. Le client a besoin de l'aide de HMaster lorsque des opérations liées aux métadonnées et aux modifications de schéma sont requises.

Régions: les régions sont les éléments de construction de base du cluster HBase qui consiste en la distribution des tables et sont composées de familles de colonnes. Il contient plusieurs magasins, un pour chaque famille de colonnes. Il se compose principalement de deux composants, qui sont Memstore et Hfile.

ZooKeeper: Dans Hbase, Zookeeper est un serveur de surveillance centralisé qui conserve les informations de configuration et fournit une synchronisation distribuée. La synchronisation distribuée consiste à accéder aux applications distribuées qui s'exécutent sur le cluster avec la responsabilité de fournir des services de coordination entre les nœuds. Si le client souhaite communiquer avec les régions, le client du serveur doit d'abord approcher ZooKeeper.

Architecture HBase: - HBase fait partie de l'écosystème Hadoop.

Modèle détaillé: -

Comparaison directe entre HDFS et HBase (infographie)

Ci-dessous est la comparaison du Top 14 entre HDFS vs HBase

Différences clés entre HDFS et HBase

Voici la différence entre HDFS et HBase:

  1. HDFS est un système de fichiers distribué bien adapté au stockage de gros fichiers. Mais HBase, d'autre part, est construit au-dessus de HDFS et fournit des recherches d'enregistrement rapides (et des mises à jour) pour les grandes tables.
  2. HDFS est basé sur le système de fichiers GFS. Mais HBase est distribué - utilise HDFS pour le stockage, la colonne - Orienté, multidimensionnel (versions) et le système de stockage
  3. HDFS utilise HIVE comme l'un de ses composants pour le langage quire qui est le langage de requête HIVE (HQL), mais Hbase n'est PAS une base de données SQL qui signifie: - Pas de jointures, pas de moteur de requête, pas de types de données, pas (putain) de SQL, pas de schéma et aucun DBA nécessaire.
  4. Comme HDFS est une unité de stockage distribuée, il n'y a donc pas de langage spécifique autre que les commandes utilisées comme la saveur UNIX comme par exemple: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Mais d'autre part, Hbase a sa propre interface sous la forme d'Hbase Shell comme par exemple: -

  1. hbase (principal): 003: 0> créer 'test', 'cf'

0 ligne (s) en 1.2200 secondes

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

0 ligne (s) en 0.0560 secondes

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

0 ligne (s) en 0.0370 secondes

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

0 ligne (s) en 0, 0450 secondes

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

COLONNE RANGÉE + CELLULE

colonne ligne1 = cf: a, horodatage = 1288380727188, valeur = valeur1

colonne row2 = cf: b, horodatage = 1288380738440, valeur = valeur2

colonne ligne3 = cf: c, horodatage = 1288380747365, valeur = valeur3

3 ligne (s) en 0, 0590 seconde

Tableau de comparaison HDFS vs HBase

Base de comparaisonHDFSHBase
Pourquoi NOUS en avons besoinBesoin de traiter d'énormes ensembles de données sur de grands groupes d'ordinateursHBase est un magasin de données distribué orienté colonnes construit au-dessus de HDFS
Les nœuds échouent tous les joursa) Un échec est prévu plutôt qu'exceptionnel
b) Le nombre de nœuds dans un cluster n'est pas constant
HBase est un projet open source Apache dont l'objectif est de fournir du stockage pour le Hadoop Distributed Computing
Modèle d'écritureAjouter uniquementÉcriture aléatoire, incrémentielle en masse
Lire le modèleAnalyse complète de la table, analyse de la table des partitionsLecture aléatoire, balayage de petite portée ou balayage de table
Motif W / RHDFS est idéal pour les cas d'utilisation à écriture unique et à lecture multipleHBase est idéalement adapté pour l'écriture et la lecture aléatoires de données stockées dans HDFS.
Performances Hive (SQL)Relativement très bon4-5 fois plus lent
Stockage structuréFaites-le vous-même ou TSV ou fichier de séquenceModèle de données de famille de colonnes éparses
Taille maximale des donnéesPeut généralement stocker près de 30 PBEnviron 1 PB environ
Changements dynamiquesHDFS a une architecture rigide qui ne permet pas de changements. Il ne facilite pas le stockage dynamique.HBase permet des changements dynamiques et peut être utilisé pour des applications autonomes.
Distribution des donnéesLes données sont stockées de manière répartie sur les nœuds d'un cluster. Les données sont divisées en blocs et sont ensuite stockées sur les nœuds présents dans le cluster HDFS.Les tables sont distribuées sur le cluster via des régions, et les régions sont automatiquement divisées et redistribuées à mesure que vos données augmentent.
Stockage de donnéesToutes les données sont stockées sous forme de petits fichiers et tous les fichiers ont une taille typique de 64 Mo (soit 128 Mo dans la version la plus récente)Toutes les données sont stockées sous forme de tableaux, de lignes et de colonnes
La modélisation des donnéesDans HDFS, nous utilisons la technique Map Reduce qui divise les fichiers en paires clé-valeurHBase est basé sur le modèle Bigtable de Google qui utilise également des paires valeur / clé
Les opérationsIl a des opérations à latence élevéeIl a des opérations à faible latence
AccessibilitéIl est principalement accessible via les travaux MR (Map Reduce)Il est accessible via les commandes shell, l'API client en Java, REST, Avro ou Thrift

Conclusion - HDFS vs HBase

En conclusion générale, HDFS et HBase possèdent toutes deux de merveilleuses technologies. HDFS et HBase ont été créés pour stocker les Big Data et faciliter leur accès et leur calcul. Les deux HDFS et HBase vont de pair car un HDFS stocke les données, l'autre HBase met un schéma sur les données sur la façon de les stocker et de les récupérer plus tard pour l'usage du client.

Hbase est l'une des bases de données distribuées orientées colonnes NoSql disponibles dans Apache Foundation. HBase offre plus de performances pour récupérer moins d'enregistrements plutôt que Hadoop ou Hive. Il est très facile de rechercher une valeur d'entrée donnée, car il prend en charge l'indexation, les transactions et la mise à jour.

Nous pouvons effectuer des analyses en ligne en temps réel en utilisant Hbase intégré à l'écosystème Hadoop. Il dispose d'un partitionnement automatique et configurable pour les jeux de données ou les tables et fournit des API reposantes pour effectuer les travaux MapReduce.

Article recommandé

Cela a été un guide pour HDFS vs HBase, leur signification, leur comparaison directe, leurs principales différences, leur tableau de comparaison et leur conclusion. cet article a toute la différence utile entre HDFS et HBase.Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. HBase vs Cassandra - Lequel est le meilleur (Infographie)
  2. Découvrez les 7 meilleures différences entre Hadoop et HBase
  3. Top 12 Comparaison d'Apache Hive vs Apache HBase (Infographie)

Catégorie: