• [^] # Re: Pertinence de Java

    Posté par . En réponse à la dépêche Yahoo libère son Hadoop. Évalué à 4.

    J'étais simplement en recherche d'arguments pour comprendre l'intérêt de Hadoop.

    Yahoo! a développé Hadoop qui tourne actuellement sur ~100 000 cores chez eux. Ils ont du se soucier du TCO non ?

    Amazon fait du business sur Hadoop (via elastic map/reduce) et Facebook à un cluster ~1 000 machines. Même si Yahoo! s'était planté, ça ne fait en général pas très peur à ces deux là d'optimiser ou de redevelopper en interne. On peut donc en déduire que les perfs sont suffisamment bonnes. Ca changera peut être un jour.

    j'imagine que c'est adopté parce qu'il n'y a pas autre chose.

    Il y a une demande non nulle pour de tels frameworks. D'une part des grosses internet compagny qui utilisent de grosses infrastructures dédiées pour traiter des volumes énormes ou pour faire tourner un grand nombre de jobs; et de l'autre des gens qui cherchent à stocker et traiter des volumes de données important à moindre coût.
    C'est un secteur qui est de plus en plus concurrentiel et pour le môment personne ne s'est vraiment pleind des perfs d'Hadoop. Tu peux être sur qu'un challenger viendra si quelqu'un pense pouvoir fournir un meilleur tupple <performance, stabilité, facilité de déploiement, facilité d'utilisation>.

    De même Hadoop répond aux besoins des deux parties. Peut être qu'il est possible de faire mieux pour une clientèle donnée.

    Autrement Ebay utilise greenplum par exemple...

    Hadoop est quand même un outil système critique, et on aurait pu s'attendre, comme d'importe quel outil système, à ce qu'il soit développé en langage compilé pour optimiser les performances. Je n'imagine pas par exemple un serveur web ou un interpréteur PHP écrit en Java.

    Est ce que tu es sure que point critique est hadoop ? Qu'elle est la ratio de temps passé dans le noyau (IO disk, network), dans Hadoop, dans les jobs utilisateurs ?
    Combien de temps estime tu pouvoir gagner ? Sur quelles opérations ? Avec quelles conséquences sur les fonctionnalités ?

    Autre question. Est ce qu'il y a plus à gagner en configurant correctement le cluster ou en hackant le code ? Est ce que les utilisateurs sont capables de bencher leur installation pour optimiser les perfs ? Est ce qu'il existe une configuration optimale pour la prod (ie. des jobs divers sur des tailles de fichier pouvant varier d'un ordre de grandeur).

    Je n'ai pas forcement plus de réponses que toi. Mais par contre j'essaie de me poser les bonnes questions avant d'enfoncer des portes ouvertes... En pratique on peut toujours aller plus vite.

    Bin justement, on ne connait pas la valeur du X%. Et c'est cela qui m'intéresse.

    Tu ne la connaitra jamais. Il faudrait deux implémentations du même produit avec le même design, les mêmes algos, les mêmes fonctionnalités.

    Par contre tu peux profiler un cluster de prod pour voir ce qui est couteux et ce sur quoi il y a à gagner... C'est pas évident à faire non plus.

    Là encore, aucun rapport avec Java.

    Je me trompe si je dis que tu ne déploie pas souvent des applications distribuées sur des ressources hétérogènes (hard comme soft) ?