Architecture HBase : tout ce que vous devez savoir [2022]

Publié: 2021-01-06

Les données structurées et non structurées connaissent une croissance exponentielle et Apache Hadoop a prouvé son excellence dans la gestion de données aussi vastes. Apache Hadoop a donc gagné en popularité dans le monde du Big Data. Cependant, il existe certaines limites à l'architecture HDFS de Hadoop.

HDFS produit des opérations à latence élevée et ne peut pas gérer un grand volume de demandes de lecture et d'écriture simultanément. Une autre limitation est que HDFS est une architecture à lecture unique, ce qui signifie qu'il doit réécrire complètement un fichier pour modifier un ensemble de données. Ces limitations de l'architecture HDFS ont soulevé le besoin d'une architecture HBase .

Table des matières

Qu'est-ce que HBase ?

HBase est une architecture de stockage de données orientée colonne qui est formée au-dessus de HDFS pour surmonter ses limites. Il exploite les fonctionnalités de base de HDFS et s'appuie dessus pour fournir une évolutivité en gérant un grand volume de demandes de lecture et d'écriture en temps réel. Bien que l' architecture HBase soit une base de données NoSQL, elle facilite le processus de maintenance des données en les répartissant uniformément sur le cluster. Cela facilite l'accès et la modification des données dans le modèle de données HBase. En savoir plus sur HBase.

Quels sont les composants du modèle de données HBase ?

Étant donné que le modèle de données HBase est une base de données NoSQL, les développeurs peuvent facilement lire et écrire des données selon les besoins, ce qui le rend plus rapide que l'architecture HDFS. Il se compose des composants suivants :

1. Tables HBase : L'architecture HBase est orientée colonne ; par conséquent, les données sont stockées dans des tables au format table.

2. RowKey : Une RowKey est attribuée à chaque ensemble de données enregistrées. Cela facilite la recherche de données spécifiques dans les tables HBase.

3. Colonnes : Les colonnes sont les différents attributs d'un jeu de données. Chaque RowKey peut avoir un nombre illimité de colonnes.

4. Famille de colonnes : Les familles de colonnes sont une combinaison de plusieurs colonnes. Une seule demande de lecture d'une famille de colonnes donne accès à toutes les colonnes de cette famille, ce qui accélère et facilite la lecture des données.

5. Qualificatifs de colonne : les qualificatifs de colonne sont comme les titres de colonne ou les noms d'attribut dans une table normale.

6. Cell : Il s'agit d'un tuple ligne-colonne qui est identifié à l'aide de RowKey et de qualificatifs de colonne.

7. Horodatage : Chaque fois qu'une donnée est stockée dans le modèle de données HBase, elle est stockée avec un horodatage.

Lire : Composants de l'écosystème Hadoop

Quels sont les composants de l'architecture HBase ?

L' architecture HBase comprend trois composants principaux, HMaster, Region Server et ZooKeeper.

1. HMaster

HMaster fonctionne de manière similaire à son nom. C'est le maître qui attribue les régions au serveur de région (esclave). L'architecture HBase utilise un processus de partitionnement automatique pour conserver les données. Dans ce processus, chaque fois qu'une table HBase devient trop longue, elle est distribuée par le système à l'aide de HMaster. Certaines des responsabilités typiques de HMaster incluent :

  • Contrôler le basculement
  • Gérer le serveur de région et le cluster Hadoop
  • Gérer les opérations DDL telles que la création et la suppression de tables
  • Gérer les changements dans les opérations de métadonnées
  • Gérer et attribuer des régions aux serveurs de région
  • Accepte les demandes et les envoie au serveur de région concerné

2. Serveur de région

Les serveurs de région sont les nœuds finaux qui gèrent toutes les demandes des utilisateurs. Plusieurs régions sont combinées au sein d'un seul serveur de région. Ces régions contiennent toutes les lignes entre les clés spécifiées. La gestion des demandes des utilisateurs est une tâche complexe à exécuter et, par conséquent, les serveurs de région sont divisés en quatre composants différents pour rendre la gestion des demandes transparente.

  • Write-Ahead Log (WAL) : WAL est attaché à chaque serveur de région et stocke une sorte de données temporaires qui ne sont pas encore validées sur le lecteur.
  • Block Cache : Il s'agit d'un cache de requêtes de lecture ; toutes les données récemment lues sont stockées dans le cache de bloc. Les données qui ne sont pas souvent utilisées sont automatiquement supprimées du stock lorsqu'il est plein.
  • MemStore : C'est un cache en écriture chargé de stocker les données non encore écrites sur le disque.
  • HFile : Le HFile stocke toutes les données réelles après l'engagement.

3. Gardien du zoo

ZooKeeper agit comme un pont à travers la communication de l' architecture HBase . Il est responsable du suivi de tous les serveurs de région et des régions qui s'y trouvent. Surveiller quels serveurs de région et HMaster sont actifs et lesquels ont échoué fait également partie des tâches de ZooKeeper. Lorsqu'il constate qu'une région de serveur a échoué, il déclenche le HMaster pour qu'il prenne les mesures nécessaires. D'autre part, si le HMaster lui-même tombe en panne, il déclenche le HMaster inactif qui devient actif après l'alerte. Chaque utilisateur et même le HMaster doivent passer par ZooKeeper pour accéder aux serveurs de région et aux données qu'ils contiennent. ZooKeeper stocke un fichier .Meta , qui contient une liste de tous les serveurs de région. Les responsabilités de ZooKeeper incluent :

  • Établir la communication dans le cluster Hadoop
  • Gestion des informations de configuration
  • Suivi de l'échec du serveur de région et du HMaster
  • Maintenance des informations du serveur de région

Comment les requêtes sont-elles gérées dans l'architecture HBase ?

Maintenant que nous connaissons les principaux composants de l' architecture HBase et leur fonction, approfondissons la manière dont les demandes sont traitées dans l'ensemble de l'architecture.

1. Commencer la recherche dans l'architecture HBase

Les étapes pour initialiser la recherche sont :

  1. L'utilisateur récupère la table Meta de ZooKeeper, puis demande l'emplacement du serveur de région concerné.
  2. Ensuite, l'utilisateur demandera les données exactes au serveur de région à l'aide de RowKey.

2. Mécanisme d'écriture dans l'architecture HBase

Les étapes pour écrire dans l' architecture HBase sont :

  1. Le client devra d'abord trouver le serveur de région, puis l'emplacement des données pour les modifier. (Cette étape n'est impliquée que pour la conversion des données et non pour l'écriture de nouvelles informations)
  2. La demande d'écriture proprement dite commence au WAL, où le client écrit les données.
  3. WAL transfère les données à MemStore et envoie un accusé de réception à l'utilisateur.
  4. Lorsque MemStore est rempli de données, il valide les données dans HFile, où elles sont stockées.

3. Mécanisme de lecture dans l'architecture HBase

Pour lire des données, l'utilisateur devra d'abord accéder au serveur de région concerné. Une fois le serveur de région connu, l'autre processus comprend :

  1. La première analyse est effectuée au niveau du cache de lecture, qui est le cache de bloc.
  2. Le prochain emplacement d'analyse est MemStore, qui est le cache d'écriture.
  3. Si les données ne sont pas trouvées dans le cache de bloc ou MemStore, le scanner récupérera les données de HFile.

Comment fonctionne la récupération de données dans l'architecture HBase ?

L' architecture Hbase divise les données par compactage et division de région pour réduire la charge de données dans le cluster. Cependant, s'il y a un plantage et qu'une récupération est nécessaire, voici comment procéder :

  1. Le ZooKeeper déclenche HMaster lorsqu'une panne de serveur se produit.
  2. HMaster distribue les régions en panne et les WAL aux serveurs de région actifs.
  3. Ces serveurs de région réexécutent WAL et construisent le MemStore.
  4. Lorsque tous les serveurs de région réexécutent WAL, toutes les données ainsi que les familles de colonnes sont récupérées.

Paiement : écosystème et composants Hadoop

Conclusion

Les données sont devenues le nouveau pétrole dans diverses industries. Il existe donc de multiples opportunités de carrière chez Hadoop. Vous pouvez tout savoir sur Hadoop et le Big Data sur upGrad .

Si vous souhaitez en savoir plus sur Hbase, Big Data, consultez notre programme PG Diploma in Software Development Specialization in Big Data qui est conçu pour les professionnels en activité et fournit plus de 7 études de cas et projets, couvre 14 langages et outils de programmation, mains pratiques -sur des ateliers, plus de 400 heures d'apprentissage rigoureux et d'aide au placement avec les meilleures entreprises.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Maîtrisez la technologie du futur - Big Data

PLUS DE 400 HEURES D'APPRENTISSAGE. 14 LANGUES & OUTILS. STATUT DES ALUMNI IIIT-B.
Programme de certificat avancé en Big Data de l'IIIT Bangalore