Connexion

Connexion à votre compte

Identifiant
Mot de passe
Maintenir la connexion active sur ce site

Blog

Hadoop, souple, flexible, économique

 

Hadoop est robuste ! Intégrer à vos applications de Big Data, il a été conçu pour vous délivrer vos analyses quand bien même une machine défaille. En plus, Hadoop ne va échanger entre les différents machines que les données qui lui sont nécessaire, évitant au passage un encombrement du réseau.

La fondation Apache définit Hadoop en ces termes :
« La bibliothèque Apache Hadoop est un framework qui permet le traitement distribué de grandes quantités de données à travers des grappes d'ordinateurs utilisant des modèles simples de programmation. Il est conçu pour évoluer tant sur de simples serveurs commodes que sur des milliers de machines ; chacune offrant des ressources de stockage local et de calcul local. Plutôt que de s'appuyer sur du matériel haute disponibilité, la bibliothèque elle-même est conçue pour détecter et gérer les pannes depuis la couche d'application, afin de fournir un service hautement et totalement disponible sur un réseau d'ordinateurs, chacun d'eux pouvant être sujettes à des défaillances. »

Il ne faut pas avoir peur des Big Data, d'abord oublier le « Big » de Big Data ! Concentrez-vous sur la donnée et rien que la donnée.

A bien y regarder le projet Hadoop va pouvoir répondre à un ensemble de problématiques très larges. Il jouit d'un tel écosystème qu'il est en mesure de vous offrir une palette complète d'outils pour chacun de vos besoins. Hadoop est très modulaire ce qui vous permet de composer votre propre architecture tout en garantissant une vraie souplesse tant dans le choix des composants vis à vis de votre besoin fonctionnel que du cluster de machines mis en place.

Hadoop Distributed File System – HDFS

Si vous ne savez que peu de chose au sujet d'Hadoop retenez déjà qu'il se compose de deux composants principaux :

  • un système de calcul distribuée qui s'appuie sur un modèle de programmation simple
  • un système de stockage distribué


Rien qu'avec ces deux composants, qui en constituent ses fondations, Hadoop a révolutionné le calcul distribué, abaissant au passage significativement le coût d'une telle solution !

Pour bien vous rendre compte de cette révolution posez vous la question suivante : qui n'intègre pas Hadoop aujourd'hui ?

Ainsi, HDFS va être capable de stocker un volume très large d'information. Bien entendu de nombreux outils vous facilitent l'import de vos données dans HDFS mais aussi de les exporter vers d'autres systèmes. Rassurez-vous encore en vous disant qu'HDFS sait bien s'intégrer à votre système d'information pour plusieurs raisons : vous pourrez facilement accéder à vos données depuis votre explorateur de fichiers, depuis vos applications, et Hadoop s'intègre bien à Windows ! Woooaar !!

Son calcul distribué : MapReduce

Peut-être avez vous même plus entendu parler de MapReduce que d'Hadoop ou HDFS. En effet, soit on en est réfractaire soit au contraire on aimera rapidement ce modèle de calcul tant il est simple à prendre en main, en particulier si on le compare aux autres modèles existants de programmation parallèle.

L'une des beautés d'Hadoop c'est qu'il ne centralise pas les données lorsqu'il va lancer un traitement. Mais au contraire il va pousser le calcul sur chacune des machines qui composent le cluster. Ainsi, MapReduce va exécuter une série de jobs, chacun dans son propre processus (dans sa propre machine Java) sur une partie des données qui une fois traitées et agrégées, est laissé à disposition d'un autre processus qui regroupe les données issues de plusieurs processus, et recommence jusqu'à la synthèse ultime.

Hadoop n'est pas une base de données, mais bien un système de fichiers plus un modèle de calcul distribué et simple !

Il faut bien retenir qu'Hadoop ne cherche pas à centraliser l'information pour opérer le calcul comme le ferait par exemple une base de données. MapReduce vient interroger un référentiel qui sait très exactement où a été rangé chaque petit morceau de votre gros fichier distribué et copié sur les différents serveurs. Chaque sous-processus d'un job MapReduce n'agit que sur la partie des données concernées dans le cadre du dit calcul !

Il se trouve que MapReduce n'est pas si simple à prendre en main ! C'est pourquoi le projet Hadoop se compose aujourd'hui de sous projet tel que

  • Pig, un langage programmation de haut niveau orienté flux, simple, et qui facilite les manipulations de données
  • Hive, une couche SQL qui abaisse au passage la barrière à la prise en main de ce système


Comme indiqué plus haut vous allez être en mesure de composer votre propre solution Hadoop grâce à d'autre sous projets tel que :

  • WebHDFS, Facilite l’accès au données, même depuis votre explorateur de fichiers
  • HCatalog, Vision unifiée de la donnée
  • Hbase, Système de base de données orienté colonnes
  • Ambari, Gestion & Surveillance plateforme Hadoop
  • Zookeeper, Framework de coordination
  • Flume / Sqoop, Import et export de données
  • Avro, Sérialisation de données
  • Oozie, planification / exécution de Jobs MapReduce
  • HA, Hadoop Haute disponibilité

hadoop-architecture

 

A l'inverse d'une base de données Hadoop ne connaît pas le schéma de la données avant qu'on ne les y insère ! En effet, c'est au moment du calcul que l'on associe un schéma à la données. On a alors bien plus de flexibilité et de créativité quant aux calculs potentiellement réalisables.

Hadoop est économique

Enfin, intéressons nous maintenant au coût, un point important, qui va forcément vous inviter à repenser votre politique de donnée ! Hadoop reste une solution très attractive car elle est peu chère !

D'abord Hadoop fonctionne même sur des machines commodes ! Même si en production les machines sont plus robustes donc plus cher, le coût d'exploitation total d'Hadoop reste largement moins élevé que celui des grands vendeurs de bases de données classiques.

Hadoop stocke localement ces données ; sur les disques durs de la machine elle même ! Les prix du stockage ont bien baissé ces dernières années. Toutefois, le stockage local est bien moins couteux que le stockage en réseau !

cout disque

Imaginons que nous souhaitons bâtir un cluster de 100 serveurs où l'on débourserait 3.000 € par machine. Ces machines seraient amorties sur 3 ans. Cette possession sur 3 ans représenterait 300.000 €. Bien entendu, il faut ajouter les frais d'infrastructure par exemple l'électricité. L'autre dépense importante réside dans la maintenance du cluster avec un ou deux ingénieurs dont nous pourrions valoriser leur salaire à 50.000 € par an. Soit 300.000 € de mieux (2 x 3 x 50000).

Le cout horaire (sur 3 ans d'exploitation) du système s'élèverait à un peu moins de 23 € par heure (600000 / (3 x 365 x 24) !

Nous pourrions même prendre du support chez un Hortonworks, Cloudera, ou MapR...

Imaginions maintenant que nous voulions bâtir une plate-forme équivalente avec un leader du marché de la base de données : Oracle !

En 2008 Oracle vendait une machine pouvant stocker 168 To de données à environ 505.000 € avec un coût de licence logiciel à environ 1.3 million d'euro. Ce qui place ce système à environ 11.000 € / To. Ajoutons maintenant le salaire d'un administrateur de base de données Oracle 50 000 €, on obtient un coût horaire (sur 3 ans d'exploitation) de 74,39 € !

La justification des coûts paraît facile ! Les chiffres parlent d'eux mêmes et indiquent à quel point ces solutions nouvelles, alternatives doivent être considérées dans votre politique de stockage de données et de leur traitement ! L'idée n'étant pas de faire la guerre aux vendeurs de base de données traditionnelles. Mais simplement montrer que vous êtes désormais en mesure d'accumuler toute la données qui vous intéresse, structurée ou non, faire progresser votre cluster au fur et à mesure pour créer plus de valeur pour vos clients, vos partenaires, et vos salariés. Une fois, synthétisées

Grâce à Hadoop vous allez enfin pouvoir avoir une vision à 360° sur l'ensemble de votre activité, votre écosystème, votre marché.


Quelques liens pour que vous vous fassiez votre idée des prix

http://www.dbms2.com/2008/09/28/oracle-exadata-list-pricing/
http://www.oracle.com/us/corporate/pricing/exadata-pricelist-070598.pdf

Rechercher sur le blog