• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Une introduction à HBase
 

Une introduction à HBase

on

  • 2,865 views

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

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

Statistics

Views

Total Views
2,865
Views on SlideShare
2,829
Embed Views
36

Actions

Likes
1
Downloads
62
Comments
0

4 Embeds 36

http://www.altic.org 30
http://altic.org 4
http://localhost 1
http://v3.altic.org 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Une introduction à HBase Une introduction à HBase Presentation Transcript

    • 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
    • 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
    • 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 !
    • 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 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 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
    • 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
    • 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
    • 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
    • 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