lundi 9 janvier 2012

#Hadoop, les limites des #nosql


Le système complet de la famille de stockage NOSQL , HADOOP vient de sortir en version 1.0
Le phénomène NOSQL commence à diffuser au sein des directions informatiques grandes ou petites.
Le sujet des bases nosql soulève deux questions:
Quels sont les cas d'utilisation à retenir ?
 Sur le site http://www.saama.com  une infographie  propose une réponse à cette question.

Le nombre de cas d'utilisation est reduit et les risques d'erreur important.
Les applications métier de gestion sont à écarter, surtout si elles reposent sur un bon vieux framework MVC J2E.
A mon sens l'utilisation d'une base NoSQL se justifie pour des usages :

  • très simples. 

Exemple: l'application ne sert qu'a afficher ou a manipuler quelques table sans valeur ajoutée. Les tables seront regoupées dans une seule entité d'une base NOSQL avec de la denormalisation et de la redondance assumée.

  • Des architectures d'infrastructure  avec des fortes contraintes de volume  ou de disponibilité : Un serveur de session, un gestionnaire de message par l'exemple  
  • Des applications qui mettent en oeuvre des opérations d'indexation ou de comptage. C'est ici qu'intervient le map/reduce mis en avant  par google. 

En conclusion: Le Nosql est en passe de devenir le nouveau truc à vendre par les SSII. Il y très peu de projets candidats.  

Vous avez envie de vous lancer dans l'aventure. 

La tentation est forte de commencer par hadoop: Ce projet a 6 ans d'age, labélisé par La fondation Apache.
 Hadoop se présente  comme un assemblage de plusieurs sous-projet avec à la base  un système de fichier HDFS et HBASE pour le stockage. Avec hadoop les données et les fichiers sont distribués sur plusieurs serveurs. Les opérations de map-reduce se passent sur chaque fragment eléméntaire de données.

Aussi, je vous conseille de commencer avec des produits NOSQL plus modestes comme Riak ou mongodb.
Leur spectre d'utilisation est plus grand que celui d'hadoop.
Avec les produits NOSQL il faudra souvent passer par du javascript (meme pour hadoop) qui s'impose comme le langage 'utilitaire' de ces nouvelles bases.




Les bases NOSQL vont aussi se retrouver au niveau du client,  cette  adoption est favorisée par l'adoption du HTML5 et de la décentralisation des traitements. Votre poste de travail mobile va extraire les informations geo-localisées depuis une base de données centrale. Puis votre terminal travaille sur les données locales pour une re-synchronisation future.

Mais attention.

Pouvoir stocker plus de données c'est bien, mais pour en faire quoi ? Une entreprise ne sait se servir que de moins de 5% de ses données. La donnée doit etre structurée, indexée et tracée  et non pas déversée en vrac dans un entrepot ou une base de données sinon elle sera perdue.
En 2020 , l'écart entre le volume d'information et la capacité de stockage va se creuser : en clair il faudra compresser la donnée et ne sélectionner que l'information pertinente.
Aussi de la même facon qu'il y a des DSI , il y aura de Data manager assurant la gouvernance des données au sein des SI. Après l'urbanisation des SI , c'est le tour des données.



3 commentaires:

Anonyme a dit…
Ce commentaire a été supprimé par un administrateur du blog.
Eric German a dit…

ma réponse:
http://blog.cloudeventprocessing.com/2011/07/03/its-time-to-kill-the-elephant/

egwada a dit…
Ce commentaire a été supprimé par un administrateur du blog.