Cet article fait partie de notre guide: Spark et SQL-On-Hadoop : vers un Hadoop augmenté

Hadoop : Cloudera veut combler le fossé entre HBase et HDFS

Avec Kudu, Cloudera veut préparer Hadoop à la gestion et au traitement temps réel des données. Un nouveau moteur de stockage pour Hadoop qui entend combiner le meilleur des deux mondes HDSF et HBase.

Accès direct ou accès séquentiel aux données ? Quand on cherche à développer une application reposant sur le framework Hadoop, le choix du moteur de stockage se limite à privilégier un accès séquentiel, HDFS (Hadoop Data File System) et doué de capacités analytique avancées des données statiques qu’on lui connaît, ou un accès direct (ou aléatoire) avec HBase, où la faible latence d’accès aux données est un point fort. A ces deux choix, Cloudera a décidé d’en ajouter un 3e qui vient selon lui compléter les deux précédents : nom de code Kudu.

Ce nouveau moteur de stockage pur Hadoop vient ainsi combler un manque qui existe entre les deux moteurs de stockage HBase et HDFS, explique Cloudera dans un livre blanc. Un manque qui a d’ailleurs poussé les entreprises et les développeurs à imaginer des architectures hybrides complexes, mêlant plusieurs projets Open Source, et donc difficiles à mettre en place et encore plus à maintenir.

« L’écart entre les performances analytiques offertes par les jeux de données statiques dans HDFS et les capacités d’accès directs aléatoires sur les lignes et à faible latence de HBase et Cassandra ont poussé les professionnels à développer des architectures complexes lorsqu’ils avaient besoin des deux modes d’accès pour une unique applications », explique encore ce livre blanc.  Par exemple, pour des cas d’usage très tendance liés à l’Internet des objets où les données mises à jour régulièrement peuvent être scannées et interrogées en temps réel. Avec Kudu, il est inutile de déplacer les données d’un serveur de stockage vers un autre pour  y opérer des analyses ; les sonnées sont directement mises à jour au sein d’une unique couche. Kudu se positionne donc comme « l’intermédiaire heureux » (happy medium) capable de « simplifier » une architecture nécessitant les deux modes.

API et optimisation CPU

Cloudera a développé une unique API pour manipuler Kudu, en Java et C++. Logiquement, la moteur s’interface à Spark, MapReduce ou encore Impala. 

Rapprocher Hadoop du temps réel – ce qui est considéré comme un manque du framework – et des architectures de données plus modernes est aussi ce qui semble animer Hortonworks, un autre pilier du monde Hadoop. La société a en effet racheté la société Oxyara en août dernier, premier contributeur du projet Open Source NiFi, dont la vocation est d’automatiser le routage de flux de données massifs. Des points d’intégration sont prévus avec Hadoop, Spark et Kafka, par exemple.

Mais Cloudera bénéficie d’un allié sûr avec lequel ce dernier entend aller frapper plus facilement à la porte des entreprises : Intel. Le Californien a investi dans Cloudera pour en faire sa distribution Hadoop de choix et contribue à la feuille de route de la société. Des développements entre Intel et Cloudera sont en effet effectués sur la sécurité, nous avait expliqué Doug Cutting.

Intel fait également parti des sociétés ayant participé aux développements de Kudu, comme l’indique un billet de blog. Des travaux ont par exemple été menés à optimiser l’efficacité du CPU, largement exploité dans les architectures modernes, explique encore Cloudera dans ce même billet de blog.

Aujourd’ hui en version bêta (sous licence Apache) – le projet était présenté lors de la conférence Hadoop+Strata qui se tient actuellement aux Etats-Unis – Cloudera entend soumettre son Kudu à l’incubateur de la fondation Apache – et rejoindre au passage et nombreux autres projets de la galaxie Hadoop.

 

 

Pour approfondir sur Datawarehouse

Close