dimanche 5 août 2007

Yahoo! + Hadoop = Yadoop?

Yahoo! + Hadoop = Yadoop?

Sur ce blog je parle souvent de Google, plus rarement de Microsoft (une société que je n'aime pas parce qu'elle a le tort d'avoir fait de moi et de millions d'autres des utilisateurs captifs, sans parler des lubies de l'ami Steve...) et encore moins de Yahoo!, que je trouve ennuyeux, malgré de nombreux services particulièrement réussis, dont Yahoo Pipes, auquel je finirai bien par consacrer un billet (en attendant...).

Or voilà que dans cette grisaille perce une information (via John Battelle), qui a tout d'une révolution, silencieuse certes, pour l'instant, mais extrêmement puissante et riche en potentialités, notamment dans la lutte incessante qui oppose l'ogre de Mountain View (dont je connais et apprécie les intemporels) au dauphin de Sunnyvale (dont j'ignore toujours sur quoi ils entendent focuser vraiment ;-) pour la suprématie du Web...

Dans son billet, intitulé Le pari de Yahoo! sur Hadoop, Tim O'Reilly (vieille connaissance à J-B :-) précise que Yahoo! a officiellement déclaré son soutien au projet Hadoop et nous explique en quoi cela est important et peut changer la donne, à travers les mots de Jeremy Zawodny :

[MàJ - 21 février 2008] Voir une interview au bas de ce billet...
Realizing that a growing number of companies and organizations are likely to need similar capabilities, we got behind the work of Doug Cutting (creator of the open source Nutch and Lucene projects) and asked him to join Yahoo to help deploy and continue working on the [then new] open source Hadoop project.

Ayant réalisé qu'un nombre grandissant de sociétés et d'organisations ont vraisemblablement besoin d'avoir de telles capacités, nous avons décidé de supporter les travaux de Doug Cutting (créateur des projets libres Nutch et Lucene), et lui avons demandé de rejoindre les rangs de Yahoo pour nous aider à déployer et poursuivre le développement du [nouveau] projet open source Hadoop.
Donc, petit glossaire Wikipedia :
  • Lucene est un moteur de recherche libre écrit en Java qui permet d'indexer et de rechercher du texte. C'est un projet open source de la fondation Apache mis à disposition sous licence Apache. Il est également disponible pour les langages Ruby, Perl, C++.

  • Nutch est une initiative visant à construire un moteur de recherche open source. Il utilise Lucene comme bibliothèque de moteur de recherche et d'indexation. En revanche, le robot de collecte a été créé spécifiquement pour ce projet.
    L'architecture de Nutch est hautement modulaire et permet à des développeurs de créer des plugins pour différentes phases du processus: récupération des données, analyse des documents, recherche, etc.
    Doug Cutting est l'initiateur et le coordinateur de ce projet.
    Il est entièrement développé en Java, mais les données qu'il manipule sont dans un format indépendant de tout langage de programmation. En juin 2003 a été présenté une version opérationnelle d'une démonstration de Nutch sur une base regroupant 100 millions de documents.

  • Hadoop est un sous-projet de Lucene qui contient le Hadoop Distributed Filesystem (HDFS) qui rappelle le Google File System ainsi que l'implémentation de MapReduce intitulé HadoopMapReduce qui était auparavant développé par le projet Nutch.
En termes plus simples, Jérôme Charron, le Monsieur Nutch français, nous dit ceci :
Nutch constitue une alternative transparente aux moteurs de recherche commerciaux. Seuls les résultats d'un système de recherche open source peuvent être garantis comme n'étant pas faussés (ou du moins le biais serait public). Tous les principaux moteurs de recherche ont des formules de classement propriétaires et n'expliqueront jamais pourquoi telle ou telle page a été classée d'une certaine façon. De plus, certains moteurs de recherche choisissent les sites à indexer en échange d'une rémunération plus que sur la valeur intrinsèque du site. Nutch, lui, n'a rien à cacher et n'a aucune raison de fausser ses résultats ou son crawling si ce n'est pour donner à chaque utilisateur les meilleurs résultats possibles.
En janvier dernier, après lui avoir signalé un lien sur le sujet, Jérôme me répondait :
En effet, un lien qui me fait très plaisir et qui montre bien à quel point le trio Lucene/Nutch/Hadoop est à prendre très au sérieux comme solution technologique lors de la mise en place d'un moteur de recherche d'envergure. Je suis persuadé que certains moteurs "professionnels" en ligne ne disposent pas de toutes les fonctionnalités de Nutch et en particulier de sa capacité à être déployé sur un large cluster de machines (à la google).
Dans un autre courriel, il précisait :
  • Nutch est architecturé pour pouvoir supporter des quantités de documents énormes (l'idée est d'avoir un google open source).
  • Il est basé sur le framework Hadoop (supporté par Yahoo!) pour la répartition de charge sur un cluster qui peut scaler "à l'infini" (en fonction des besoins) à la Google ou Amazon
  • Il dispose d'un système de plugins très bien fait et très performant permettant de facilement plugger des bouts de code spécifiques.
  • Il a été éprouvé dans de très nombreux projets réels.
C'est d'ailleurs au trio Lucene/Nutch/Hadoop qu'il devait penser en écrivant sa série "Le Google Killer", ici et , avant d'abandonner la partie, de guerre las (c'est moi qui interprète, mais il me dira si je me trompe). Donc j'espère et je suis sûr que la tournure que prennent les choses vont lui redonner du baume au cœur, même si avec Yahoo! supportant le projet, il est probable que les considérations commerciales ne seront pas tout à fait absentes. Mais, bon...

En attendant, lorsque Yahoo! met sa puissance financière au service de Hadoop, cela se voit ! À commencer par la salle des machines :


À suivre...


Liens connexes : , , , , , ,

1 commentaire:

Wombatsly a dit…

Bon ben je crois que Nutch représente bien une option à étudier !