HBase est un système de gestion de base de données non relationnelle orienté colonnes qui fonctionne sur HDFS (Hadoop Distributed File System). HBase fournit un moyen tolérant aux pannes de stocker des ensembles de données éparses, ce qui est courant dans de nombreux cas d'utilisation Big Data. Il est bien 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 les langages de requête structuré comme SQL ; en fait, HBase n'est pas du tout un magasin de données relationnelles. Les applications HBase sont écrites en Java™ tout comme une application Apache MapReduce typique. HBase prend en charge l'écriture d'applications dans Apache Avro, REST et Thrift.
Un système HBase est conçu pour se mettre à l'échelle façon linéaire. Il comprend un ensemble de tables standard avec des lignes et des colonnes, comme une base de données traditionnelle. Chaque table doit avoir un élément défini comme une clé primaire, et toutes les tentatives d'accès aux tables HBase doivent utiliser cette clé primaire.
Avro, en tant que composant, prend en charge un riche ensemble de types de données primitives, notamment 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 mappes, les énumérations et les enregistrements. Un ordre de tri peut être également défini pour les données.
HBase s'appuie sur ZooKeeper pour la coordination haute performance. ZooKeeper est intégré à HBase, mais si vous exécutez un cluster de production, il est suggéré d'utiliser un cluster ZooKeeper dédié qui est intégré à votre cluster HBase.
HBase fonctionne bien avec Hive, un moteur de requête pour le traitement par lots des
données Big Data, pour permettre des applications de données volumineuses tolérantes aux pannes.
Une colonne HBase représente un attribut d'un objet ; si la table stocke les journaux de diagnostic des serveurs dans votre environnement, chaque ligne peut être un enregistrement de journal, et une colonne typique pourrait être l'horodatage de l'enregistrement du journal, ou le nom du serveur d'où provient l'enregistrement.
HBase permet de regrouper de nombreux attributs en familles de colonnes, de sorte que les éléments d'une famille de colonnes sont tous stockés ensemble. Cela 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 spécifier les familles de colonnes. Toutefois, de nouvelles colonnes peuvent être ajoutées aux familles à tout moment, ce qui rend le schéma flexible et capable de s'adapter à l'évolution des exigences des applications.
À l'instar de HDFS qui dispose d'un NameNode et de nœuds esclaves, et MapReduce qui dispose des esclaves JobTracker et TaskTracker, HBase est construit sur des concepts similaires. Dans HBase, un nœud maître gère le clustern et les serveurs régionaux stockent des parties des tables et effectuent le travail sur les données. De la même manière que HDFS a quelques problèmes d'entreprise en raison de la disponibilité du NameNode, HBase est également sensible à la perte de son nœud maître.
Planifiez un appel individuel gratuit avec un expert en Big Data IBM pour découvrir comment nous pouvons vous aider à étendre la science des données et l'apprentissage automatique dans l'écosystème Apache Hadoop.
IBM et Cloudera se sont associés pour proposer une distribution Hadoop de niveau entreprise, leader du marché, comprenant un écosystème intégré de produits et de services pour accélérer l'analytique à grande échelle.
Découvrez la meilleure approche de gestion des données et comment les entreprises donnent la priorité aux technologies de données pour stimuler la croissance et l'efficacité.
Lisez cette introduction pratique à la prochaine génération d'architectures de données. Elle présente le rôle du cloud et des technologies NoSQL et aborde les aspects pratiques de la sécurité, de la confidentialité et de la gouvernance. (PDF, 6,2 Mo)