CHAPITRE 5:
HBASE
BIG DATA
Ons Ben Rejeb
ISET de Zaghouan
Département TI
Classe 3ème année DSI
Année Universitaire 2020/2021
Plan
Hbase ?
Modèle de données
Architecture multidimensionnelle
Vue Logique
Exemple
Architecture simplifiée
Commande shell de HBase
Exercices
HBase
Ons Ben Rejeb 2
Hbase ?
Big Table Design : Duplication, distribution et
architecture multidimensionnelle
Open source Apache
Stockage de données NOSQL
Evolutive et haute disponibilité
Temps de réponse réduit
Très utile pour des données éparse (sparse)
HBase
Ons Ben Rejeb 3
Modèle de données
Données stockées dans des tables Hbase
Tables Hbase lignes et colonnes
Toutes les colonnes appartiennent à une « Column
Family »
(rowKey, columnKey,timeStamp)Valeur
Le tuple {row, column, version} spécifie une « cell »
Chaque « cell value» a une version (timeStamp)
HBase
Les lignes sont stockées par ordre du « rowKeys »
Ons Ben Rejeb 4
HBase Architecture multidimensionnelle
Ons Ben Rejeb 5
Vue Logique
HBase
Ons Ben Rejeb 6
Exemple
Exemple d’une table d’une base de données
traditionnelle
HBase
Ons Ben Rejeb 7
Exemple
Vue physique
HBase
Ons Ben Rejeb 8
Exemple
Vue physique
HBase
Ons Ben Rejeb 9
Architecture simplifiée
HBase
Ons Ben Rejeb 10
Architecture simplifiée
Region:
Sous ensemble de lignes des tables
Region Server:
Accès direct par les clients pour
lecture/écriture
Master:
Coordination des « region Server(s) »
HBase
Détection de l’état des « region Server(s) »
Ons Ben Rejeb (balancement en cas de panne ) 11
Architecture simplifiée
Affecte les « Regions » au(x) « region
Server(s) »
Zookeeper
Apache Open source
Composante principal de Hbase
Assure l’exécution d’un « Master Server »
Architecture Hbase de tolérance aux pannes
HBase
Ons Ben Rejeb 12
Commande shell de HBase
Lancer le shell
…/Hbase shell
Créer une table
create ‘table_1’, ‘column_family1’, ‘column_family2’
Insérer des données
Hbase…> put ‘table_1’, ‘row1’, ‘column_family1:c1’, ‘valeur’
Visualiser des données d’une ligne
Hbase…> get ‘table_1’, ‘row1’
HBase
Ons Ben Rejeb 13
Commande shell de HBase
Compter le nombre de ligne d’une table
Hbase…> count ‘table_1’
Décrire une table HBase
Hbase…> enable ‘table_1’
Hbase…> describe ‘table_1’
Visualiser des données d’une table
Hbase…> scan ‘table_1’
Définir le nombre de version
HBase
Hbase…> alter ‘table_1’, {NAME=> ‘column_family1’,
Ons Ben Rejeb VERSION=>1} 14
Exercices
Exercice 1
Retrouver la BD de l’exercice du chapitre 3
Questions:
1) Présenter la vue logique de cette base de
données selon Hbase
2) Présenter la vue physique de cette base de
données selon Hbase
HBase
Ons Ben Rejeb 15
Exercices
Exercice 2
Vue physique d’une base HBase
HBase
Ons Ben Rejeb 16
Exercices
Questions: (commande shell)
1) Créer la table ‘table_1’ relative à la BD
2) Insérer toutes les lignes
3) Limiter le nombre de version pour la
column_family1 à 2
4) Donner le nombre de lignes
5) Afficher le contenu de la table ‘table_1’
HBase
Ons Ben Rejeb 17