HBase Architecture : cas d'utilisation, composants et modèle de données

HBase Architecture et ses composants importants

L'architecture HBase se compose principalement de quatre composants

  • HMaster
  • HRegionserveur
  • HRégions
  • Zookeeper
  • HDFS

Vous trouverez ci-dessous une architecture détaillée de HBase avec ses composants :

HBase Architecture
HBase Archidiagramme de structure

HMaster

HMaster dans HBase est l'implémentation d'un serveur maître dans l'architecture HBase. Il agit comme un agent de surveillance pour surveiller toutes les instances de Region Server présentes dans le cluster et agit comme une interface pour toutes les modifications de métadonnées. Dans un environnement de cluster distribué, Master s'exécute sur NameNode. Master exécute plusieurs threads en arrière-plan.

Voici les rôles importants joués par HMaster dans HBase.

  • Joue un rôle essentiel en termes de performances et de maintenance des nœuds dans le cluster.
  • HMaster fournit des performances d'administration et distribue des services aux serveurs de différentes régions.
  • HMaster attribue des régions aux serveurs de région.
  • HMaster possède des fonctionnalités telles que le contrôle de l'équilibrage de charge et du basculement pour gérer la charge sur les nœuds présents dans le cluster.
  • Lorsqu'un client souhaite modifier un schéma et modifier des opérations de métadonnées, HMaster assume la responsabilité de ces opérations.

Certaines des méthodes exposées par HMaster Interface sont principalement des méthodes orientées métadonnées.

  • Table (createTable, RemoveTable, activer, désactiver)
  • ColumnFamily (ajouter une colonne, modifier une colonne)
  • Région (déplacer, attribuer)

Le client communique de manière bidirectionnelle avec HMaster et ZooKeeper. Pour les opérations de lecture et d'écriture, il contacte directement les serveurs HRegion. HMaster attribue des régions aux serveurs de région et vérifie à son tour l'état de santé des serveurs de région.

Dans toute l’architecture, nous avons plusieurs serveurs régionaux. Hlog présent dans les serveurs de région qui vont stocker tous les fichiers journaux.

Serveurs de région HBase

Lorsque HBase Region Server 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 HRegion, il n'est pas nécessaire d'obtenir l'autorisation obligatoire de HMaster pour le client concernant la communication avec les serveurs HRegion. 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.

HRegionServer est l'implémentation du serveur de région. Il est responsable de la desserte et de la gestion des régions ou des données présentes dans un cluster distribué. Les serveurs de région s'exécutent sur les nœuds de données présents dans le cluster Hadoop.

HMaster peut entrer en contact avec plusieurs serveurs HRegion et remplit les fonctions suivantes.

  • Hébergement et gestion des régions
  • Fractionner automatiquement les régions
  • Gestion des requêtes de lecture et d'écriture
  • Communiquer directement avec le client

Régions HBase

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

Gardien de zoo

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 exécutées 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 s'adresser à ZooKeeper.

Il s'agit d'un projet open source et il fournit de nombreux services importants.

Services fournis par Gardien de zoo

  • Conserve les informations de configuration
  • Fournit une synchronisation distribuée
  • Établissement de la communication client avec les serveurs de la région
  • Fournit des nœuds éphémères pour lesquels représentent différents serveurs de région
  • Utilisabilité des serveurs maîtres des nœuds éphémères pour découvrir les serveurs disponibles dans le cluster
  • À tracpanne du serveur k et partitions réseau

Les nœuds maîtres et esclaves HBase (serveurs de région) se sont enregistrés auprès de ZooKeeper. Le client doit accéder à la configuration du quorum ZK (zookeeper) pour se connecter aux serveurs maîtres et régionaux.

Lors d'une défaillance des nœuds présents dans le cluster HBase, ZKquoram déclenchera des messages d'erreur et commencera à réparer les nœuds défaillants.

HDFS

HDFS est un Hadoop distribué Système de fichiers, comme son nom l'indique, il fournit un environnement distribué pour le stockage et il s'agit d'un système de fichiers conçu de manière à fonctionner sur du matériel standard. Il stocke chaque fichier dans plusieurs blocs et pour maintenir la tolérance aux pannes, les blocs sont répliqués sur un cluster Hadoop.

HDFS offre un haut degré de tolérance aux pannes et fonctionne sur du matériel de base bon marché. En ajoutant des nœuds au cluster et en effectuant le traitement et le stockage en utilisant du matériel de base bon marché, cela donnera au client de meilleurs résultats par rapport à celui existant.

Ici, les données stockées dans chaque bloc sont répliquées sur 3 nœuds. Dans le cas où un nœud tombe en panne, il n'y aura aucune perte de données, il disposera d'un mécanisme de récupération de sauvegarde approprié.

HDFS entrer en contact avec les composants HBase et stocke une grande quantité de données de manière distribuée.

Modèle de données HBase

Modèle de données HBase est un ensemble de composants composé de tableaux, de lignes, de familles de colonnes, de cellules, de colonnes et de versions. Les tables HBase contiennent des familles de colonnes et des lignes avec des éléments définis comme clés primaires. Une colonne dans la table du modèle de données HBase représente les attributs des objets.

Le modèle de données HBase se compose des éléments suivants,

  • Ensemble de tableaux
  • Chaque table avec des familles de colonnes et des lignes
  • Chaque table doit avoir un élément défini comme clé primaire.
  • La clé de ligne agit comme une clé primaire dans HBase.
  • Tout accès aux tables HBase utilise cette clé primaire
  • Chaque colonne présente dans HBase désigne l'attribut correspondant à l'objet

Cas d'utilisation de HBase

Voici des exemples de cas d'utilisation de HBase avec une explication détaillée de la solution qu'il apporte à divers problèmes techniques.

Énoncé du problème Solution
Industrie des télécommunications visages suite aux défis techniques

  • Stockage de milliards d'enregistrements de journaux CDR (enregistrement détaillé des appels) générés par le domaine des télécommunications
  • Fournir un accès en temps réel aux journaux CDR et aux informations de facturation des clients
  • Fournir une solution rentable par rapport aux systèmes de bases de données traditionnels
HBase est utilisé pour stocker des milliards de lignes d'enregistrements d'appels détaillés. Si 20 To de données sont ajoutés par mois à la base de données SGBDR existante, les performances se détérioreront. Pour gérer une grande quantité de données dans ce cas d’utilisation, HBase est la meilleure solution. HBase effectue des requêtes rapides et affiche les enregistrements.
Le L'industrie banquaire génère des millions d’enregistrements quotidiennement. En plus de cela, le secteur bancaire a également besoin d'une solution d'analyse capable de détecter la fraude dans les transactions monétaires. Pour stocker, traiter et mettre à jour de vastes volumes de données et effectuer des analyses, une solution idéale est : HBase intégré à plusieurs composants de l'écosystème Hadoop.

Cela mis à part, HBase peut être utilisé

  • Chaque fois qu'il est nécessaire d'écrire des applications lourdes.
  • Effectuer des analyses de journaux en ligne et générer des rapports de conformité.

Mécanisme de stockage dans HBase

HBase est une base de données orientée colonnes et les données sont stockées dans des tables. Les tables sont triées par RowId. Comme indiqué ci-dessous, HBase a RowId, qui est la collection de plusieurs familles de colonnes présentes dans le tableau.

Les familles de colonnes présentes dans le schéma sont des paires clé-valeur. Si l'on observe en détail chaque famille de colonnes ayant plusieurs nombres de colonnes. Les valeurs de colonne stockées dans la mémoire disque. Chaque cellule du tableau possède ses propres métadonnées comme l'horodatage et d'autres informations.

Mécanisme de stockage dans HBase
Mécanisme de stockage dans HBase

En arrivant à HBase, voici les termes clés représentant le schéma de table

  • lampe de table: Collection de lignes présentes.
  • Rangée: Collection de familles de colonnes.
  • Famille de colonnes: Collection de colonnes.
  • Colonne: Collection de paires clé-valeur.
  • Espace de nomsGroupe logiqueping tables.
  • Cellule: Un tuple {row, column, version} spécifie exactement une définition de cellule dans HBase.

Stockages orientés colonnes ou orientés lignes

Les stockages orientés colonnes et lignes diffèrent par leur mécanisme de stockage. Comme nous le savons tous, les modèles relationnels traditionnels stockent les données en termes de format basé sur les lignes, comme en termes de lignes de données. Les stockages orientés colonnes stockent les tables de données en termes de colonnes et de familles de colonnes.

Le tableau suivant donne quelques différences clés entre ces deux stockages

Base de données orientée colonnes Base de données orientée lignes
Lorsqu'il s'agit de processus et d'analyses, nous utilisons cette approche. Tel que Processus analytique en ligne et ce sont des applications. Processus transactionnel en ligne tels que les domaines bancaires et financiers utilisent cette approche.
La quantité de données pouvant être stockée dans ce modèle est très énorme, en termes de pétaoctets. Il est conçu pour un petit nombre de lignes et de colonnes.

Explication des données de lecture et d'écriture HBase

Les opérations de lecture et d'écriture du client dans Hfile peuvent être illustrées dans le diagramme ci-dessous.

HBase lire et écrire des données

Étape 1) Le client souhaite écrire des données et communique d'abord avec le serveur des régions, puis avec les régions.

Étape 2) Régions contactant memstore pour le stockage associé à la famille de colonnes

Étape 3) Les données sont d'abord stockées dans Memstore, où les données sont triées, puis vidées dans HFile. La principale raison d'utiliser Memstore est de stocker des données dans un système de fichiers distribué basé sur Row Key. Memstore sera placé dans la mémoire principale du serveur de région tandis que les fichiers HFiles seront écrits dans HDFS.

Étape 4) Le client souhaite lire les données des régions

Étape 5) À son tour, le client peut avoir un accès direct au magasin Mem et peut demander des données.

Étape 6) Client approche HFiles pour obtenir les données. Les données sont récupérées et récupérées par le Client.

Memstore contient les modifications en mémoire apportées au magasin. La hiérarchie des objets dans les régions HBase est indiquée de haut en bas dans le tableau ci-dessous.

lampe de table Table HBase présente dans le cluster HBase
Région HRégions pour les tableaux présentés
Boutique Il stocke par ColumnFamily pour chaque région de la table
Mémoire
  • Memstore pour chaque magasin pour chaque région pour la table
  • Il trie les données avant de les vider dans HFiles
  • Les performances d'écriture et de lecture augmenteront grâce au tri
StoreFile StoreFiles pour chaque magasin pour chaque région pour la table
Bloquer Blocs présents dans StoreFiles

HBase contre HDFS

HBase fonctionne sur HDFS et Hadoop. Certaines différences clés entre HDFS et HBase concernent les opérations et le traitement des données.

HBASE HDFS
Opérations à faible latence Opérations à latence élevée
Lectures et écritures aléatoires Écrire une fois Lire plusieurs fois
Accessible via commandes shell, API client dans Java, REST, Avro ou Thrift Principalement accessible via les tâches MR (Map Reduction)
Le stockage et le traitement peuvent tous deux être effectués C'est uniquement pour les zones de stockage

Certaines applications industrielles informatiques typiques utilisent les opérations HBase avec Hadoop. Les applications incluent les données boursières, les opérations de données bancaires en ligne et le traitement Hbase est la méthode de solution la mieux adaptée.

Résumé

  • Composants de l'architecture HBase : HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • HMaster dans HBase est l'implémentation d'un serveur maître dans l'architecture HBase.
  • Lorsque HBase Region Server 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.
  • Les HRegions sont les éléments de construction de base du cluster HBase qui consiste en la distribution de tables et sont composés de familles de colonnes.
  • HBase Zookeeper est un serveur de surveillance centralisé qui conserve les informations de configuration et fournit une synchronisation distribuée.
  • HDFS offre un haut degré de tolérance aux pannes et fonctionne sur du matériel de base bon marché.
  • Le modèle de données HBase est un ensemble de composants composé de tables, de lignes, de familles de colonnes, de cellules, de colonnes et de versions.
  • Les stockages orientés colonnes et lignes diffèrent par leur mécanisme de stockage.

Résumez cet article avec :