HBase est un système de gestion de base de données non relationnelle orientée colonnes qui s’exécute sur le système de fichiers distribués Hadoop (HDFS), un composant principal d’Apache Hadoop.
HBase offre un moyen tolérant aux pannes de stocker des jeux de données clairsemés, courants dans de nombreux cas d’utilisation du big data. Il est particulièrement adapté au traitement des données en temps réel ou à l’accès aléatoire en lecture/écriture à de grands volumes de données.
Contrairement aux systèmes de bases de données relationnelles, HBase ne prend pas en charge un langage de requête structuré tel que SQL. De fait, HBase n’est pas du tout un entrepôt de données relationnelles. Les applications HBase sont écrites en Java, tout comme une application Apache MapReduce classique. HBase prend en charge l’écriture d’applications dans Apache Avro, REST et Thrift.
Un système HBase est conçu pour évoluer de manière linéaire. Il comprend un ensemble de tables standard avec des lignes et des colonnes, tout comme une base de données traditionnelle. Chaque table doit avoir un élément défini comme clé primaire, et toutes les tentatives d’accès aux tables HBase doivent utiliser cette clé primaire.
En tant que composant, Avro prend en charge un ensemble complet de types de données primitives, dont les données numériques, binaires et les chaînes de caractères, ainsi qu’un certain nombre de types complexes, notamment les tableaux, les cartes, les énumérations et les enregistrements. Un ordre de tri peut également être défini pour les données.
HBase s’appuie sur ZooKeeper pour une coordination haute performance. ZooKeeper est intégré à HBase, mais si vous exécutez un cluster de production, il est recommandé de disposer d’un cluster ZooKeeper dédié intégré à votre cluster HBase.
HBase s’intègre parfaitement à Hive, un moteur de requête pour le traitement par lots du big data, afin de permettre des applications tolérantes aux pannes.
Une colonne HBase représente un attribut d’un objet. Si la table stocke les journaux de diagnostic des serveurs de votre environnement, chaque ligne peut correspondre à un enregistrement de journal, et une colonne type peut être l’horodatage de la création de l’enregistrement de journal ou le nom du serveur d’origine de l’enregistrement.
HBase permet de regrouper de nombreux attributs dans des familles de colonnes, de sorte que les éléments d’une famille de colonnes sont tous stockés ensemble. Ceci diffère d’une base de données relationnelle orientée ligne, où toutes les colonnes d’une ligne donnée sont stockées ensemble. Avec HBase, vous devez prédéfinir le schéma de la table et indiquer les familles de colonnes. Cependant, de nouvelles colonnes peuvent être ajoutées aux familles à tout moment, ce qui rend le schéma flexible et capable de s’adapter aux exigences changeantes des applications.
Tout comme HDFS dispose d’un NameNode et de nœuds esclaves, et MapReduce dispose de JobTracker et de TaskTracker esclaves, HBase est construit sur des concepts similaires. Dans HBase, un nœud maître gère le cluster et les serveurs de région stockent des parties des tables et effectuent le travail sur les données. De la même manière que HDFS présente certains problèmes pour les entreprises en raison de la disponibilité du NameNode, HBase est également sensible à la perte de son nœud maître.
Élaborez une stratégie de gestion des données qui élimine les silos, réduit la complexité et améliore la qualité des données pour offrir une expérience client et collaborateur exceptionnelle.
Watsonx.data vous permet d’adapter le dimensionnement des analyses et de l’IA à toutes vos données, où qu’elles se trouvent, grâce à un entrepôt de données ouvert, hybride et gouverné.
Avec IBM Consulting, exploitez les données de votre entreprise et développez une organisation basée sur les informations pour tirer des avantages métier.