SlideShare une entreprise Scribd logo
3
Plus lue
11
Plus lue
16
Plus lue
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation
Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HUG France SL2013 – Mai 2013
Introduction à HBase
Base orientée colonnes au dessus d'Hadoop
Charly CLAIRMONT
Altic - http://altic.org
charly.clairmont@altic.org
@egwada
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Un peu d'histoire...
● 2006.11 - Google sort son papier sur BigTable
● 2007.02 - Version prototype d'HBase / contribution à Hadoop
● 2007.10 - Première version d'HBase
● 2008.01 - Hadoop devient un top-level project à la fondation
Apache et HBase un sous-projet
● 2010.05 - HBase devient un top-level project à la fondation
Apache
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Pourquoi HBase ?
● Les jeux de données sont de plus en plus importants :
Teraoctets au Petaoctets ou plus
● Le "scale out" est aussi peu cher que le "scale in "
● par simple ajout d'une machine commode
● mais il arrive qu'Hadoop ne suffise pas
● Nécessité de supporter l'écriture aléatoire et la lecture
aléatoire
Les bases de données traditionnelles ne suffisent tout
simplement plus !
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HBase est
● Distribuée
● Orientée colonne
● Multidimensionnelle
● Haute Disponibilité
● Haute Performance
● Système de stockage
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HBase n'est pas
● une base de données SQL traditionnelle
● pas de jointure, pas de moteur d'interrogation, pas
de type, pas de SQL
● un remplaçant direct de votre SGBDR
● A vous d'apprécier un SGBDR sans schéma
● données dénormalisées
● table larges et peu peuplées
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Comment fonctionne HBase ?
● Deux types de nœuds
● Master et RegionServer
● Master (un à la fois)
● Gère les opérations du cluster
– Affectation, répartition de la charge, fractionnement
– Haute disponibilité avec Zookeeper
● RegionServer
● héberge les tables, exécute les lectures, écritures
● les Clients dialoguent directement avec eux pour les
lectures / écritures
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HBase Tables
● Un cluster HBase est constitué d'un nombre quelconque de tables
définies par l'utilisateur
● Schéma de la table ne définit que ses familles de colonnes
● Chaque famille se compose d'un certain nombre de colonnes
● Chaque colonne se compose d'un certain nombre de versions
● Colonnes n'existent que lorsqu'ils sont insérés, pour les "NULL"
elles sont libres
● Tout sauf les noms de table / famille sont byte[]
● Lignes d'une table sont triés et stockés de manière séquentielle
● Les colonnes d'une famille sont triés et stockés de manière
séquentielle
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
(Table, Row, Family, Column, Timestamp) → Value
Row Key Column Key Timestamp Value
1 info:name 1273516197868 Gaurav
1 info:age 1273871824184 28
1 info:age 1273871823022 34
1 info:sex 1273746281432 Male
2 info:name 1273863723227 Harsh
3 Info:name 1273822456433 Raman
2 Versions de la ligne
Timestamp est entier long
Nom de colonne
Trié selon la clé de la ligne
et la clé de la colonne
Famille de colonne
Student table
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Les Tables HBase comme structure de
données
● Une table fait correspondre les lignes et leur famille
● SortedMap(Row -> List(ColumnFamilies))
● Une famille fait correspondre un nom de colonne et ses
versions
● SortedMap(Column -> SortedMap(VersionedValues))
● Une colonne fait correspondre l'horodatage et les valeurs
● SortedMap(Timestamp -> Value)
Une table HBase est une structure tri-dimensionnel et
triée
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Région HBase
● Une table est constitué d'un nombre indéfini de régions
● Région est spécifiée par sa startKey et endKey
● Table Vide :
– table:(Table, NULL, NULL)
● Table sur deux régions
– table:(Table, NULL, “MidKey”) et (Table, “MidKey”, NULL)
● Une région existe seulement sur un RegionServer à la fois
● Chaque région peut vivre sur un nœud différent
– et est composée de plusieurs fichiers HDFS
– et des blocs, dont chacun est reproduit par Hadoop
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Architecture HBase (1)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Architecture HBase (2)
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Architecture HBase (3)
● Les informations des régions et leurs emplacements sont
rangées dans des tables spéciales appelées "catalog tables"
● ROOT - table contient les emplacements des méta tables
● .META.table contient les schémas et les emplacements des
régions utilisateur
● L'emplacement de ROOT est stocké par zookeeper
● c'est l'emplacement "de démarrage"
● Zookepper est exploité pour la surveillance et la coordination
● élit le nœud maître
● Nœuds éphémères pour détecter les défaillances de nœud
RegionServer
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Principales caractéristiques d'HBase
● Partitionnement automatique des données
● Lorsque les données s'accumulent, HBase fractionne
automatiquement
● Distribution transparente de la données
● Répartition de la charge est faite par le système lui même
● les tables sont triées par lignes, les lignes selon les colonnes
● Définit pour un accès plus rapide
● les clés composés facilitent ORDER BY / GROUP BY
● Filtre côté serveur
● Pas de talon d'Achille grâce à Zookeeper
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Principales caractéristiques d'HBase (suite)
● Insertion et suppression de nœuds à chaud
● Déplacement des emplacements ne bouge les données
● Support de création et de modification des tables à chaud
● tant au niveau des tables qu'au niveau des paramètres
de configuration
● Lien étroit avec Hadoop MapReduce
● TableInputFormat / TableOutputFormat
● FileOutputFormat
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale
- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
Se connecter à HBase
● Client / API natif en Java
● Get, Scan, Put, Delete classes
● HTablefor read/write, HBaseAdminfor pour les administrateurs
● Client non-Java
● Serveur Thrift (Ruby, C++, PHP, etc)
● Serveur REST
● Pig & Hive
● HBase commandes shell
● Jrubyshell supporte put, delete, get, scan
● Et même les commandes d'administration
● TableInputFormat / TableOutputFormat
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation
Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/
HUG France SL2013 – Mai 2013
Introduction à HBase
Merci !
Charly CLAIRMONT
Altic - http://altic.org
charly.clairmont@altic.org
@egwada

Contenu connexe

PDF
Hadoop Hbase - Introduction
Blandine Larbret
 
PDF
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Hatim CHAHDI
 
PDF
Introduction à HDFS
Modern Data Stack France
 
PDF
Une introduction à Hive
Modern Data Stack France
 
PPTX
Introduction à la big data V2
Mehdi TAZI
 
PPTX
Quand utiliser MongoDB … Et quand vous en passer…
MongoDB
 
PDF
Architecture Big Data open source S.M.A.C.K
Julien Anguenot
 
PPTX
Introduction à la big data v3
Mehdi TAZI
 
Hadoop Hbase - Introduction
Blandine Larbret
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Hatim CHAHDI
 
Introduction à HDFS
Modern Data Stack France
 
Une introduction à Hive
Modern Data Stack France
 
Introduction à la big data V2
Mehdi TAZI
 
Quand utiliser MongoDB … Et quand vous en passer…
MongoDB
 
Architecture Big Data open source S.M.A.C.K
Julien Anguenot
 
Introduction à la big data v3
Mehdi TAZI
 

Tendances (20)

PDF
Cours Big Data Chap5
Amal Abid
 
PDF
BigData_Chp4: NOSQL
Lilia Sfaxi
 
PDF
BigData_Chp3: Data Processing
Lilia Sfaxi
 
PDF
TP1 Big Data - MapReduce
Amal Abid
 
PDF
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
PDF
Cours Big Data Chap2
Amal Abid
 
PDF
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
PDF
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
PDF
Les BD NoSQL
Minyar Sassi Hidri
 
PDF
Cours Big Data Chap3
Amal Abid
 
PPTX
Les Base de Données NOSQL
kamar MEDDAH
 
PDF
BigData_TP3 : Spark
Lilia Sfaxi
 
PDF
Annexe Big Data
Amal Abid
 
PDF
Cours Big Data Chap1
Amal Abid
 
PDF
Technologies pour le Big Data
Minyar Sassi Hidri
 
PDF
Chapitre 2 hadoop
Mouna Torjmen
 
PPTX
Hadoop et son écosystème
Khanh Maudoux
 
PDF
Cours Big Data Chap4 - Spark
Amal Abid
 
PDF
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi
 
Cours Big Data Chap5
Amal Abid
 
BigData_Chp4: NOSQL
Lilia Sfaxi
 
BigData_Chp3: Data Processing
Lilia Sfaxi
 
TP1 Big Data - MapReduce
Amal Abid
 
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Cours Big Data Chap2
Amal Abid
 
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
Les BD NoSQL
Minyar Sassi Hidri
 
Cours Big Data Chap3
Amal Abid
 
Les Base de Données NOSQL
kamar MEDDAH
 
BigData_TP3 : Spark
Lilia Sfaxi
 
Annexe Big Data
Amal Abid
 
Cours Big Data Chap1
Amal Abid
 
Technologies pour le Big Data
Minyar Sassi Hidri
 
Chapitre 2 hadoop
Mouna Torjmen
 
Hadoop et son écosystème
Khanh Maudoux
 
Cours Big Data Chap4 - Spark
Amal Abid
 
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi
 
Publicité

En vedette (20)

PPTX
Presentation Hadoop Québec
Mathieu Dumoulin
 
PPT
Hadopp Vue d'ensemble
Modern Data Stack France
 
PDF
Un introduction à Pig
Modern Data Stack France
 
PPTX
Introduction à Hadoop
Mathieu Dumoulin
 
PDF
Une Introduction à Hadoop
Modern Data Stack France
 
PDF
Introduction aux bases de données NoSQL
Antoine Augusti
 
PPTX
Les modèles NoSQL
ebiznext
 
PPTX
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Microsoft
 
PDF
NoSQL et Big Data
acogoluegnes
 
PPTX
Introduction to Cassandra (June 2010)
gdusbabek
 
PDF
NoSQL: Introducción a las Bases de Datos no estructuradas
Diego López-de-Ipiña González-de-Artaza
 
PDF
Techday Arrow Group: Hadoop & le Big Data
Arrow Group
 
PDF
NoSQL databases
Marin Dimitrov
 
PPTX
NoSql : conception des schémas, requêtage, et optimisation
Microsoft Technet France
 
PPTX
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Benoît de CHATEAUVIEUX
 
PDF
Bases de données NoSQL
Samy Dindane
 
PPTX
Présentation Big Data et REX Hadoop
Joseph Glorieux
 
PDF
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
HelloWork
 
PDF
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
ALTIC Altic
 
PDF
Une introduction à MapReduce
Modern Data Stack France
 
Presentation Hadoop Québec
Mathieu Dumoulin
 
Hadopp Vue d'ensemble
Modern Data Stack France
 
Un introduction à Pig
Modern Data Stack France
 
Introduction à Hadoop
Mathieu Dumoulin
 
Une Introduction à Hadoop
Modern Data Stack France
 
Introduction aux bases de données NoSQL
Antoine Augusti
 
Les modèles NoSQL
ebiznext
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Microsoft
 
NoSQL et Big Data
acogoluegnes
 
Introduction to Cassandra (June 2010)
gdusbabek
 
NoSQL: Introducción a las Bases de Datos no estructuradas
Diego López-de-Ipiña González-de-Artaza
 
Techday Arrow Group: Hadoop & le Big Data
Arrow Group
 
NoSQL databases
Marin Dimitrov
 
NoSql : conception des schémas, requêtage, et optimisation
Microsoft Technet France
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Benoît de CHATEAUVIEUX
 
Bases de données NoSQL
Samy Dindane
 
Présentation Big Data et REX Hadoop
Joseph Glorieux
 
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
HelloWork
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
ALTIC Altic
 
Une introduction à MapReduce
Modern Data Stack France
 
Publicité

Similaire à Une introduction à HBase (20)

PDF
Hbase
Ines Slimene
 
PDF
Cours Big Data Chap6
Amal Abid
 
PPTX
mix-it 2011
Olivier Mallassi
 
PDF
Hadoop prêt pour l'Entreprise
Modern Data Stack France
 
PDF
Spark une alternative à Hadoop MapReduce pour le Datamining
Modern Data Stack France
 
PDF
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
Héla Ben Khalfallah
 
PPTX
result_b0XKKUdgN60FJduy1eRpdesfytres.pptx
thiombianoeulalie
 
PDF
Hadoop and friends : introduction
fredcons
 
PPTX
Base de données NoSQL
Oussama ARBI
 
PDF
Adopte une BDD
Aymeric Brisse
 
PPTX
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
MongoDB
 
PDF
No Sql - Olivier Mallassi - September 2010
JUG Lausanne
 
PDF
Retour Hadoop Summit 2012
Modern Data Stack France
 
PDF
GTUG Nantes (Dec 2011) - BigTable et NoSQL
Michaël Figuière
 
PDF
Gtug nantes big table et nosql
GDG Nantes
 
PDF
Les systèmes de base de donnée
Quentin Apruzzese
 
PDF
Relational databases & NoSQL databases
Cédric Villa
 
PDF
MariaDB une base de donnees NewSQL
Christophe Villeneuve
 
PDF
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech
 
PDF
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Michaël Figuière
 
Cours Big Data Chap6
Amal Abid
 
mix-it 2011
Olivier Mallassi
 
Hadoop prêt pour l'Entreprise
Modern Data Stack France
 
Spark une alternative à Hadoop MapReduce pour le Datamining
Modern Data Stack France
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
Héla Ben Khalfallah
 
result_b0XKKUdgN60FJduy1eRpdesfytres.pptx
thiombianoeulalie
 
Hadoop and friends : introduction
fredcons
 
Base de données NoSQL
Oussama ARBI
 
Adopte une BDD
Aymeric Brisse
 
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
MongoDB
 
No Sql - Olivier Mallassi - September 2010
JUG Lausanne
 
Retour Hadoop Summit 2012
Modern Data Stack France
 
GTUG Nantes (Dec 2011) - BigTable et NoSQL
Michaël Figuière
 
Gtug nantes big table et nosql
GDG Nantes
 
Les systèmes de base de donnée
Quentin Apruzzese
 
Relational databases & NoSQL databases
Cédric Villa
 
MariaDB une base de donnees NewSQL
Christophe Villeneuve
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech
 
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Michaël Figuière
 

Plus de Modern Data Stack France (20)

PDF
Stash - Data FinOPS
Modern Data Stack France
 
PDF
Vue d'ensemble Dremio
Modern Data Stack France
 
PDF
From Data Warehouse to Lakehouse
Modern Data Stack France
 
PDF
Talend spark meetup 03042017 - Paris Spark Meetup
Modern Data Stack France
 
PDF
Paris Spark Meetup - Trifacta - 03_04_2017
Modern Data Stack France
 
PDF
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Modern Data Stack France
 
PDF
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
Modern Data Stack France
 
PDF
Hadoop France meetup Feb2016 : recommendations with spark
Modern Data Stack France
 
PPTX
Hug janvier 2016 -EDF
Modern Data Stack France
 
PPTX
HUG France - 20160114 industrialisation_process_big_data CanalPlus
Modern Data Stack France
 
PDF
Hugfr SPARK & RIAK -20160114_hug_france
Modern Data Stack France
 
PDF
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
Modern Data Stack France
 
PDF
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Modern Data Stack France
 
PDF
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Modern Data Stack France
 
PDF
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
Modern Data Stack France
 
PDF
Spark dataframe
Modern Data Stack France
 
PDF
June Spark meetup : search as recommandation
Modern Data Stack France
 
PDF
Spark ML par Xebia (Spark Meetup du 11/06/2015)
Modern Data Stack France
 
PPTX
Spark meetup at viadeo
Modern Data Stack France
 
PPTX
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Modern Data Stack France
 
Stash - Data FinOPS
Modern Data Stack France
 
Vue d'ensemble Dremio
Modern Data Stack France
 
From Data Warehouse to Lakehouse
Modern Data Stack France
 
Talend spark meetup 03042017 - Paris Spark Meetup
Modern Data Stack France
 
Paris Spark Meetup - Trifacta - 03_04_2017
Modern Data Stack France
 
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Modern Data Stack France
 
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
Modern Data Stack France
 
Hadoop France meetup Feb2016 : recommendations with spark
Modern Data Stack France
 
Hug janvier 2016 -EDF
Modern Data Stack France
 
HUG France - 20160114 industrialisation_process_big_data CanalPlus
Modern Data Stack France
 
Hugfr SPARK & RIAK -20160114_hug_france
Modern Data Stack France
 
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
Modern Data Stack France
 
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Modern Data Stack France
 
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Modern Data Stack France
 
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
Modern Data Stack France
 
Spark dataframe
Modern Data Stack France
 
June Spark meetup : search as recommandation
Modern Data Stack France
 
Spark ML par Xebia (Spark Meetup du 11/06/2015)
Modern Data Stack France
 
Spark meetup at viadeo
Modern Data Stack France
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Modern Data Stack France
 

Une introduction à HBase

  • 1. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HUG France SL2013 – Mai 2013 Introduction à HBase Base orientée colonnes au dessus d'Hadoop Charly CLAIRMONT Altic - http://altic.org [email protected] @egwada
  • 2. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Un peu d'histoire... ● 2006.11 - Google sort son papier sur BigTable ● 2007.02 - Version prototype d'HBase / contribution à Hadoop ● 2007.10 - Première version d'HBase ● 2008.01 - Hadoop devient un top-level project à la fondation Apache et HBase un sous-projet ● 2010.05 - HBase devient un top-level project à la fondation Apache
  • 3. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Pourquoi HBase ? ● Les jeux de données sont de plus en plus importants : Teraoctets au Petaoctets ou plus ● Le "scale out" est aussi peu cher que le "scale in " ● par simple ajout d'une machine commode ● mais il arrive qu'Hadoop ne suffise pas ● Nécessité de supporter l'écriture aléatoire et la lecture aléatoire Les bases de données traditionnelles ne suffisent tout simplement plus !
  • 4. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HBase est ● Distribuée ● Orientée colonne ● Multidimensionnelle ● Haute Disponibilité ● Haute Performance ● Système de stockage
  • 5. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HBase n'est pas ● une base de données SQL traditionnelle ● pas de jointure, pas de moteur d'interrogation, pas de type, pas de SQL ● un remplaçant direct de votre SGBDR ● A vous d'apprécier un SGBDR sans schéma ● données dénormalisées ● table larges et peu peuplées
  • 6. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Comment fonctionne HBase ? ● Deux types de nœuds ● Master et RegionServer ● Master (un à la fois) ● Gère les opérations du cluster – Affectation, répartition de la charge, fractionnement – Haute disponibilité avec Zookeeper ● RegionServer ● héberge les tables, exécute les lectures, écritures ● les Clients dialoguent directement avec eux pour les lectures / écritures
  • 7. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HBase Tables ● Un cluster HBase est constitué d'un nombre quelconque de tables définies par l'utilisateur ● Schéma de la table ne définit que ses familles de colonnes ● Chaque famille se compose d'un certain nombre de colonnes ● Chaque colonne se compose d'un certain nombre de versions ● Colonnes n'existent que lorsqu'ils sont insérés, pour les "NULL" elles sont libres ● Tout sauf les noms de table / famille sont byte[] ● Lignes d'une table sont triés et stockés de manière séquentielle ● Les colonnes d'une famille sont triés et stockés de manière séquentielle
  • 8. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ (Table, Row, Family, Column, Timestamp) → Value Row Key Column Key Timestamp Value 1 info:name 1273516197868 Gaurav 1 info:age 1273871824184 28 1 info:age 1273871823022 34 1 info:sex 1273746281432 Male 2 info:name 1273863723227 Harsh 3 Info:name 1273822456433 Raman 2 Versions de la ligne Timestamp est entier long Nom de colonne Trié selon la clé de la ligne et la clé de la colonne Famille de colonne Student table
  • 9. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Les Tables HBase comme structure de données ● Une table fait correspondre les lignes et leur famille ● SortedMap(Row -> List(ColumnFamilies)) ● Une famille fait correspondre un nom de colonne et ses versions ● SortedMap(Column -> SortedMap(VersionedValues)) ● Une colonne fait correspondre l'horodatage et les valeurs ● SortedMap(Timestamp -> Value) Une table HBase est une structure tri-dimensionnel et triée
  • 10. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Région HBase ● Une table est constitué d'un nombre indéfini de régions ● Région est spécifiée par sa startKey et endKey ● Table Vide : – table:(Table, NULL, NULL) ● Table sur deux régions – table:(Table, NULL, “MidKey”) et (Table, “MidKey”, NULL) ● Une région existe seulement sur un RegionServer à la fois ● Chaque région peut vivre sur un nœud différent – et est composée de plusieurs fichiers HDFS – et des blocs, dont chacun est reproduit par Hadoop
  • 11. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Architecture HBase (1)
  • 12. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Architecture HBase (2)
  • 13. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Architecture HBase (3) ● Les informations des régions et leurs emplacements sont rangées dans des tables spéciales appelées "catalog tables" ● ROOT - table contient les emplacements des méta tables ● .META.table contient les schémas et les emplacements des régions utilisateur ● L'emplacement de ROOT est stocké par zookeeper ● c'est l'emplacement "de démarrage" ● Zookepper est exploité pour la surveillance et la coordination ● élit le nœud maître ● Nœuds éphémères pour détecter les défaillances de nœud RegionServer
  • 14. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Principales caractéristiques d'HBase ● Partitionnement automatique des données ● Lorsque les données s'accumulent, HBase fractionne automatiquement ● Distribution transparente de la données ● Répartition de la charge est faite par le système lui même ● les tables sont triées par lignes, les lignes selon les colonnes ● Définit pour un accès plus rapide ● les clés composés facilitent ORDER BY / GROUP BY ● Filtre côté serveur ● Pas de talon d'Achille grâce à Zookeeper
  • 15. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Principales caractéristiques d'HBase (suite) ● Insertion et suppression de nœuds à chaud ● Déplacement des emplacements ne bouge les données ● Support de création et de modification des tables à chaud ● tant au niveau des tables qu'au niveau des paramètres de configuration ● Lien étroit avec Hadoop MapReduce ● TableInputFormat / TableOutputFormat ● FileOutputFormat
  • 16. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Se connecter à HBase ● Client / API natif en Java ● Get, Scan, Put, Delete classes ● HTablefor read/write, HBaseAdminfor pour les administrateurs ● Client non-Java ● Serveur Thrift (Ruby, C++, PHP, etc) ● Serveur REST ● Pig & Hive ● HBase commandes shell ● Jrubyshell supporte put, delete, get, scan ● Et même les commandes d'administration ● TableInputFormat / TableOutputFormat
  • 17. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HUG France SL2013 – Mai 2013 Introduction à HBase Merci ! Charly CLAIRMONT Altic - http://altic.org [email protected] @egwada