Présentation de l'architecture de stockage HBase



L'architecture HBase Storage comprend de nombreux composants. Examinons les fonctions de ces composants et savons comment les données sont écrites.

Apache HBase est une base de données open source, distribuée et non relationnelle, inspirée de la Bigtable de Google et écrite en Java. Il fournit des capacités similaires à Bigtable en plus de Hadoop et HDFS (Hadoop Distributed Filesystem), c'est-à-dire qu'il fournit un moyen tolérant aux pannes de stocker de grandes quantités de données éparses, qui sont courantes dans de nombreux cas d'utilisation de Big Data. HBase est utilisé pour l'accès en lecture / écriture en temps réel au Big Data.





L'architecture HBase Storage comprend de nombreux composants. Examinons les fonctions de ces composants et voyons comment les données sont écrites.

HFiles:



HFiles constitue le bas niveau de l’architecture de HBase. Les fichiers HFiles sont des fichiers de stockage créés pour stocker les données HBase rapidement et efficacement.

HMaster:

Le HMaster est responsable d'attribuer les régions à chaque HRegionServer lorsque HBase est démarré. Il est responsable de la gestion de tout ce qui concerne les lignes, les tables et leurs activités de coordination. Le Hmaster a également les détails des métadonnées.



Composants de HBase:

HBase comprend les composants suivants:

  • Tableau - Comprend les régions
  • Région - Plage de lignes stockées ensemble
  • Serveurs de région - Sert une ou plusieurs régions
  • Master Server - Daemon est responsable de la gestion du cluster HBase

Le HBase stocke les données directement dans le HDFS et s'appuie largement sur la haute disponibilité et la tolérance aux pannes de HDFS.

Architecture de stockage HBase:

Architecture de stockage HBase

Le flux général est qu'un client contacte d'abord le gardien de zoo pour trouver une clé de ligne particulière. Il le fait en récupérant le nom du serveur depuis Zookeeper. Avec ces informations, il peut désormais interroger ce serveur pour obtenir le serveur qui contient la métatable. Ces deux détails sont mis en cache et ne sont recherchés qu'une seule fois. Enfin, il peut interroger le métaserveur et récupérer le serveur contenant la ligne recherchée par le client.

instructions if dans les requêtes SQL

Une fois qu'il sait dans quelle région réside la ligne, il met également ces informations en cache et contacte directement HRegionServer. Ainsi, au fil du temps, le client a des informations complètes sur l'endroit où obtenir les lignes sans avoir à interroger à nouveau le métaserveur. Lorsque HRegion est ouvert, il configure une instance Store pour chaque HColumnFamily pour chaque table. Les données sont écrites lorsque le client émet une demande au HRegionServer qui fournit les détails à l'instance HRegion correspondante. La première étape est que nous devons décider si les données doivent d’abord être écrites dans le ‘Write-Ahead-Log’ (WAL) représenté par la classe HLog. La décision est basée sur l'indicateur défini par le client.
Une fois que les données sont écrites sur le WAL, elles sont placées dans le MemStore. En même temps, le Memstore est vérifié s'il est plein et dans ce cas un vidage sur le disque est demandé. Ensuite, les données sont écrites dans le HFile.

Vous avez une question pour nous? Mentionnez-les dans la section commentaires et nous vous recontacterons.

Articles Similaires

Aperçu de l'architecture HBase