Académique Documents
Professionnel Documents
Culture Documents
THEME: Hbase
Membres du groupe
No MATRICULES NOMSETPRENOMS
1 20A0503FS RICKSEUNBE TEBOBE DAVID
2 22A1235FS SADATE MANA
3 22A1223FS SEINI MATAKUIOU
4 19A1168FS SOBNONE MOUBANE JONATHAN
5 16A0034FS SODKANRA MENDIKREO
6 22A0672FS SOULEY PAUL
7 22A1226FS SOULEYMANOU MANSOUROU
8 21A1034FS TAGUIEGUE BAVA
9 20A0393FS TAKA FIDELE FANDAI
10 20A1555FS TAKOUA BRUNO
11 20A0467FS TALO SYLAS
12 20A0602FS BAGOULONG MOUSSA CLEMENT
INTRODUCTION A LA HBASE 1
definition 2
2 CARACTERISTIQUE D’APACHE HBASE 2
2 – a- Concept de Base 2
3-ARCHITECTURE 3
3-a-Aspect Physique (avec Hadoop) 3
3-b-ZooKeeper 3
3-c-MasterServer 4
4-Lecture et Ecriture dans HBase 4
4-a-Lecture 4
4-b-Ecriture 6
QCM QUESTION A CHOIX MULTIPLES 7
EXERCICE CORRIGE 10
TPE INF 356 HBase
Introduction à la Hbase
Définition
Hbase est une base de données distribuées et non relationnelle, reprenant le concept et les
fonctionnalités de Google BigTable. La différence est que Hbase est Open Source. L’un des
principaux objectifs de Hbase est d’héberger des milliards de lignes et des millions de colonnes.
On peut ajouter des serveurs `a tout moment pour augmenter la capacité et de multiples nœuds
maitres assureront une haute disponibilité des données. Cette base de données s’exécute
généralement sur le système des fichiers distribués Hadoop (HDFS). Elle offre un accès
d’écriture et de lecture en temps réel, aléatoire et cohérent.
1
TPE INF 356 HBase
le concept de BD noSQL est devnu populaire auprès des gérant de l’internet tel que
google,facebook,amazon etc… qui traite d’énorme volume de donnée.Le temps de
réponse du système devient lent lorque vous utilisez SGBD pour des volumes massifs de
donnée
2-a-Concepts de base
La base de données Hbase est régie par les concepts suivants :
• Map : Le stockage se fait dans une map. Cette dernière est basée sur le principe de
clé/valeur. Chaque valeur (tableau de bytes) est identifiée par un clé (tableau de bytes).
L’accès à une valeur par sa clé est très rapide.
• Map trié : La map est triée par ordre lexicographique. Cette fonctionnalité de tri est très
importante car elle permet de récupérer les valeurs par intervalle de clés.
• Multidimensionnel : La clé dans la map est une structure composée de row-key, column
family, column, et d’un timestamp.
• Null (Sparse) : Contrairement aux bases de données relationnelles, une colonne qui n’a
pas de valeur n’est pas matérialisée (aucun stockage n’est n´nécessaire en cas d’une valeur
null pour une colonne).
• Persistance : Les données stockées dans la map sont sauvegardées durablement sur
disque.
• Consistance : Toutes les modifications sont atomiques et les lectures se font toujours sur
la dernière valeur validée (commit).
• Système distribué : Le système de base de données est construit sur un systèmes de
fichiers distribués afin que le stockage de fichiers sous-jacent soit reparti sur un ensemble
de machines d’un cluster. Les données sont répliquées sur un certain nombre de nœuds
permettant ainsi une tolérance aux pannes.
3-Architecture
Hbase est un système de gestion des données pour un environnement distribué qui est couple au
gestionnaire de fichier d’Hadoop où : Hbase gère la partie logique, tandis qu’Hadoop gère la
partie physique.
Aspect logique (Avec Hbase) Le modèle se base sur six concepts, qui sont :
• Htable : Les données sont organisées au sein de grandes tables. Les noms de tables sont
des chaînes de caractères.
• Row (Lignes) : dans chaque table les données sont organisées dans des lignes. Une ligne
est identifiée par une clé unique (RowKey). La RowKey n’a pas un type, elle est traitée
comme un tableau d’octets.
• Column Family (Familles de colonnes) : Les données au sein d’une ligne sont
regroupées par column family. Chaque ligne de la table a les mêmes column family, qui
peuvent être peuplées ou pas. Les column family sont définit `a la création de la table dans
Hbase, et chaque famille de colonne est divisée en sous colonnes.
• Column qualifier : -les colonnes- L’accès aux données au sein d’une column family se
fait via le column qualifier ou column. Ce dernier n’est pas spécifié à la création de la table
mais plus tôt `a l’insertion de la donnée. Comme les rowkeys, le column qualifier n’est pas
typé, il est traité comme un tableau d’octets.
• Cell : La combinaison du RowKey, de la Column Family ainsi que la Column qualifier
identifie d’une manière unique une cellule. Les données stockées dans une cellule sont
2
TPE INF 356 HBase
appelée les valeurs de cette cellule. Les valeurs n’ont pas de type, ils sont toujours
considérés comme tableau d’octets.
• Version : Les valeurs au sein d’une cellule sont versionnés. Les versions sont identifiés
par leur timestamp (de type long). Le nombre de versions est configuré via la Column
Family. Par défaut, ce nombre est égale à trois.
Du fait que toutes les données sont logiquement placées dans la même table, les jointures
sont inutiles.
3
TPE INF 356 HBase
a- Region Servers: permettent de fournir les données pour lectures et écritures. Pour
accéder aux données, les clients communiquent avec les RegionServers directement.
b-HBase HMaster : gère l'affectation des régions, les opérations de création et
suppression de tables.
HMaster est l’implémentation du Master Server. Le Master Server est chargé de
coordonner et de surveiller toutes les instances de RegionServer du cluster. Il en charge de
la répétition des Region(s) sur les nœuds du cluster. Les changements dans les tables
métadonnées passe par le serveur Master Server
c- Zookeeper
permet de maintenir le cluster en état. Le DataNode de Hadoop permet de stocker les
données que le Region Server gère. Toutes les données de HBase sont stockées dans des
fichiers HDFS. Les RegionServers sont colocalisés avec les DataNodes. Le NameNode
permet de maintenir les métadonnées sur tous les blocs physiques qui forment les
fichiers
4
TPE INF 356 HBase
Installation de HBase
Sudo ./start-hadoop.sh
Manipulation de Hbase
Pour manipuler votre base de données avec son shell interactif, vous devez lancer le script
suivant:
Hbase shell
Commençons par créer la table, ainsi que les familles de colonnes associées:
create 'sales_ledger','customer','sales'
5
TPE INF 356 HBase
HBase SGBD
N’a pas de schema fixe. Il y’a un schema fixe qui décrit la structure de
Definit seulement les familles de colonne la table
Fonctionne bien avec les données structurées et Fonctionne bien avec les données structurées
semi-structurées
Il peut avoir des données de-normalisées stocke seulement avec les données normalisées
(valeur manquante).
Conçut pour les tables,large pouvant evoluer Conçut pour des « petites » tables difficiles à
horizontalement evoluer.
6
TPE INF 356 HBase
5-Avantages de HBase
Les avantages de HBase sont nombreux :
• Assure l’extensibilité et la scalabilité.
• Importante tolérance aux pannes : Les données sont répliquées sur les différents
serveurs du Data Center, et un failover (basculement) automatique garantit une haute
disponibilit´e.
• Rapidité : Il propose des lookups en temps réel ou presque, et un processing server
side 3 par le biais de filtres et de coprocesseurs. Un caching in-memory est également
proposé.
• Distribution transparente de la donnée : Répartition de la charge est faite par
le systéme lui mme.
• Les langages de programmation supportés : Hbase supporte beaucoup de
langage de programmation : C, C#, C++, Groovy, Java, PHP, Python, Scala.
• Utile pour les données de capteurs : HBase est trés adapté aux données collectées de
Façon incrémentielle à partir de diverses sources. Cela inclut l’analytique
sociale, les séries chronologiques, la mise a jour des tableaux de bord interactifs avec
les tendances et les compteurs, et la gestion de systèmes de journal audit.
• Fournit des recherches rapides pour les grandes tables.
• Fournit un accès à faible latence des rangées individuelles à partir de milliards
d’enregistrements.
• API Java facile pour le client
• Auto-sharding.
• C’est une base de données sans licence.
• Gère de grands ensembles de données sur le dessus du stockage de fichiers HDFS.
• Flexible sur la conception des schémas.
• Haute vitesse.
7
TPE INF 356 HBase
7-Inconvénients de HBase
• Ne supporte pas la transaction.
• Pas de permissions ou d’authentification intégrée.
• L’indexation et le tri se fait uniquement sur clé.
• Point de d´efaillance unique (lorsqu’un seul HMaster est utilisé).
• Ne supporte pas la structure SQL et XML.
• Problémes de mémoire sur le cluster : Il y a une trés faible capacité en mémoire.
• HBase ne vérifie pas le respect des contraintes d’intégrité reférentielle et sémantique
8
TPE INF 356 HBase
Q 3 - Les valeurs stockées dans une cellule identifiée à l'aide d'une clé de ligne, d'une famille
de colonnes et d'un qualificatif de colonne sont stockées sous la forme
A – Octet◙
B -Numéro
C - Varchar
D – Nchar
Q 4 - Lorsqu'une application cliente souhaite accéder à une ligne dans une table Hbase, elle
interroge d'abord la table
A – Racine ◙
B - Meta.
C - Région
D -Toutes les régions
Q 5 - Dans Hbase, nous pouvons créer un index sur :
A - Plusieurs colonnes
B - Colonne clé ◙
C - Seulement une paire de colonnes
D - Hbase ne prend pas en charge la création d'index.
9
TPE INF 356 HBase
Q 6 - Un espace de noms dans Hbase est analogue à quel objet de base de données dans un système
relationnel ?
A -Tableau
B -Indice
C -Vue
D - Base de données ◙
Q 7 - Combien de types de marqueurs de suppression sont utilisés par Hbase pour supprimer des
colonnes ?
A -2
B -3 ◙
C -4
D-1
Q 8 - Un nouveau compteur créé dans Hbase a la valeur :
A -Zéro
B -1
C - Préc configuré
D - Décidé au moment de la création du compteur. ◙
Q 9 - Lequel des éléments suivants n'est pas un fichier valide dans Hbase ?
A - Fichiers de niveau table
B - Fichiers au niveau de la région
C - Fichiers au niveau de la famille de colonnes ◙
D - Fichiers de niveau racine Hbase
Q 10 - Dans quel scénario rien n'est écrit dans le WAL sur HBase ?
A - Mises à jour des enregistrements
B - Suppressions d'enregistrements
C - Exportation en masse
D - Chargement en vrac ◙
Q 11 - Quel est le nombre de MemStore par famille de colonne :
A -1 ◙
B -2
C - Égal à autant de colonnes dans la famille de colonnes
D - Égal à autant de familles de colonnes dans la table.
10
TPE INF 356 HBase
Q 12 - Les enregistrements supprimés dans Hbase sont stockés dans le fichier connu sous le nom de
Tombstone. Ensuite, l'espace n'est libéré qu'en supprimant véritablement ces enregistrements de
Hbase. Ce processus est connu sous le nom de :
A – Compactage ◙
B - Rétractation
C - Consolidation
D – Séparation
Q 13 - Les valeurs stockées dans une cellule identifiée à l'aide d'une clé de ligne, d'une famille de
colonnes et d'un qualificatif de colonne sont stockées sous la forme :
A – Octet◙
B -Numéro
C - Varchar
D - Nchar
Q 14 - Les deux tables qui sont utilisées pour trouver où les régions de différentes tables sont
hébergées sont :
A - Régiontab et Metatab
B - Régionbase et métabase
C - ROOT et META◙
D - –ROOT- et .REGION.
Q 15 - Dans Hbase, nous pouvons créer un index sur :
A - Plusieurs colonnes
B - Colonne clé◙
C - Seulement une paire de colonnes
D - Hbase ne prend pas en charge la création d'index.
Q 16 - Alors que les clés de lignes et de colonnes sont exprimées en octets, la version est spécifiée
comme :
A -Date
B - Entier long◙
C - Entier court
D – Décimal
Q 17 - Hbase peut stocker :
A - Seule chaîne
11
TPE INF 356 HBase
D – Affectation
12
TPE INF 356 HBase
Q 23 - Une analyse renvoie une grande quantité de lignes. Mais seules quelques lignes sélectionnées
peuvent être extraites d'une analyse à l'aide d'un :
A - Grouper par clause
B - Clause de minimisation
C – Clause de sous ensemble
D - Clause de filtrage ◙
Q 24 - La taille d'une région individuelle est régie par le paramètre
A - Hbase.region.size
B - Hbase.region.filesize
C – Hbase.region.max.filesize ◙
D – Hbase.max.region.size
Q 24 - Lorsqu'une tâche de carte dans un travail mapreduce lit à partir de la table Hbase, elle lit à
partir de :
A - Une rangée
B - Une famille de colonnes
C - Une colonne
D - Une région ◙
Q 25 - Le tuple qui spécifie une cellule dans Hbase est :
A - {ligne, colonne, version} ◙
B - {ligne, famille de colonnes, version}
C - {ligne, tableau, colonne}
D - {colonne-famille, colonne-attribut, version}
Q 26 - Lorsqu'un grand nombre de requêtes client sont dirigées vers un très petit nombre de nœuds
dans un cluster, cela s'appelle :
A - Latence
B - Goulot d'étranglement
C - Point d'accès ◙
D – Redondance
Q 27 - Le type de coprocesseurs qui s'apparentent aux procédures stockées en base de données
relationnelle est :
A - Coprocesseur de stockage
B - Coprocesseur parallèle
C – Observateur
13
TPE INF 356 HBase
D - Point final ◙
Q 28 - Si une seule famille de colonnes dépasse la taille de fichier maximale spécifiée par la
configuration Hbase, alors :
A - Une erreur de chargement de données s'est produite
B - La famille de colonnes est supprimée
C - Les données de la famille de colonnes sont tronquées
D - La région est divisée ◙
Q 29 - Avant que les modifications d'un fichier journal Hbase puissent être relues, elles sont
séparées en un fichier journal par région.
Il s'appelle -
A - Fendage de bûches ◙
B - Fractionnement régional
C - Fractionnement WAL
D - Fractionnement de la relecture
Q 30- Tous les travaux Mapreduce lisant à partir d'une table Hbase acceptent leur paire
[K1,V1] sous la forme de :
A - [rowid:valeur de la cellule]
B - [rowkey:résultat de l'analyse] ◙
C - [famille de colonne : valeur de cellule]
D - [attribut de colonne : résultat de l'analyse]
Q 31- En mode autonome, Hbase fonctionne sur :
A - Système de fichiers local ◙
B - Système HDFS
C - À la fois local et HDFS
D - Système de fichiers NAS
Q 32- Dans Hbase, nous pouvons créer un index sur :
A - Plusieurs colonnes
B - Colonne clé ◙
C - Seulement une paire de colonnes
D - Hbase ne prend pas en charge la création d'index.
14
TPE INF 356 HBase
a) create
b) remove
c) mkdir
d) aucune réponse
Q33 - Laquelle de ces commandes SHELL Hbase active une table ?
a) create
b) alter
c) drop
d) enable
Q34-Lequel n’est pas composant de l’architecture principale de Hbase ?
a) HMaster
b) HregionServer
c) Apache
Q35-Hbase est une BD orienté :
a) Key-value
b) Graph
c) Document
d) Column store
Q36- La commande #Whoami :
a) Affiche les informations sur la BD
b) Affiche les informations sur l’administrateur
c) Affiche les informations sur la version de Hbase
d) Affiche les informations sur l’utilis
15