Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommercial...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommercial...
Upcoming SlideShare
Loading in...5
×

Une introduction à HBase

5,327

Published on

A l'occasion de Solution Linux 2013 nous présentons Hadoop à la communauté en France. Ici une introduction à HBase.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,327
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
203
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Une introduction à HBase

  1. 1. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HUG France SL2013 – Mai 2013Introduction à HBaseBase orientée colonnes au dessus dHadoopCharly CLAIRMONTAltic - http://altic.orgcharly.clairmont@altic.org@egwada
  2. 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 dhistoire...● 2006.11 - Google sort son papier sur BigTable● 2007.02 - Version prototype dHBase / contribution à Hadoop● 2007.10 - Première version dHBase● 2008.01 - Hadoop devient un top-level project à la fondationApache et HBase un sous-projet● 2010.05 - HBase devient un top-level project à la fondationApache
  3. 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 dune machine commode● mais il arrive quHadoop ne suffise pas● Nécessité de supporter lécriture aléatoire et la lecturealéatoireLes bases de données traditionnelles ne suffisent toutsimplement plus !
  4. 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. 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 nest pas● une base de données SQL traditionnelle● pas de jointure, pas de moteur dinterrogation, pasde type, pas de SQL● un remplaçant direct de votre SGBDR● A vous dapprécier un SGBDR sans schéma● données dénormalisées● table larges et peu peuplées
  6. 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 leslectures / écritures
  7. 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é dun nombre quelconque de tablesdéfinies par lutilisateur● Schéma de la table ne définit que ses familles de colonnes● Chaque famille se compose dun certain nombre de colonnes● Chaque colonne se compose dun certain nombre de versions● Colonnes nexistent que lorsquils sont insérés, pour les "NULL"elles sont libres● Tout sauf les noms de table / famille sont byte[]● Lignes dune table sont triés et stockés de manière séquentielle● Les colonnes dune famille sont triés et stockés de manièreséquentielle
  8. 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) → ValueRow Key Column Key Timestamp Value1 info:name 1273516197868 Gaurav1 info:age 1273871824184 281 info:age 1273871823022 341 info:sex 1273746281432 Male2 info:name 1273863723227 Harsh3 Info:name 1273822456433 Raman2 Versions de la ligneTimestamp est entier longNom de colonneTrié selon la clé de la ligneet la clé de la colonneFamille de colonneStudent table
  9. 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 dedonnées● Une table fait correspondre les lignes et leur famille● SortedMap(Row -> List(ColumnFamilies))● Une famille fait correspondre un nom de colonne et sesversions● SortedMap(Column -> SortedMap(VersionedValues))● Une colonne fait correspondre lhorodatage et les valeurs● SortedMap(Timestamp -> Value)Une table HBase est une structure tri-dimensionnel ettriée
  10. 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é dun 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. 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. 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. 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 sontrangé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 desrégions utilisateur● Lemplacement de ROOT est stocké par zookeeper● cest lemplacement "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œudRegionServer
  14. 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 dHBase● Partitionnement automatique des données● Lorsque les données saccumulent, HBase fractionneautomatiquement● 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 dAchille grâce à Zookeeper
  15. 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 dHBase (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 quau niveau des paramètresde configuration● Lien étroit avec Hadoop MapReduce● TableInputFormat / TableOutputFormat● FileOutputFormat
  16. 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 dadministration● TableInputFormat / TableOutputFormat
  17. 17. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HUG France SL2013 – Mai 2013Introduction à HBaseMerci !Charly CLAIRMONTAltic - http://altic.orgcharly.clairmont@altic.org@egwada
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×