Des technologies pour différentes utilisations
COMME NOUS VENONS DE LE VOIR, LES TECHNOLOGIES QUI PERMETTENT DE TRAITER DES DONNÉES EN MASSE SONT NOMBREUSES. CHACUNE A SA SPÉCIALITÉ ET S’ADAPTE À TEL OU TEL JEU DE DONNÉES, À TEL OU TEL TEMPS D’ANALYSE. REVUE DES DIFFÉRENTES SPÉCIALITÉS DES TECHNOLOGIE
Hadoop remonte au programme Nutch développé par Doug Cutting, alors chez Yahoo. Le service de recherche a conservé le nom de Nutch et le stockage et le traitement des données est devenu Hadoop du nom de la peluche de son enfant. Ce système apporte de nombreux avantages du fait qu’il peut stocker et traiter d’importants volumes de données. La montée en puissance d’Internet et de l’IoT ont fait que les données peu ou non structurées ont énormément gonflé dans les entreprises. Hadoop semblait alors la solution idéale pour stocker et traiter ce monceau de données. On peut y ajouter d’autres types de données non structurées comme les textes, les images et les vidéos. De plus, il n’est pas nécessaire de traiter les données avant de les stocker. L’expérience a cependant démontré que Hadoop n’était pas adapté à tous les cas d’utilisation. La solution convient aux requêtes d’information simples et aux problèmes pouvant être divisés en unités indépendantes. En revanche, elle n’est pas efficace pour les tâches analytiques itératives et interactives. Les noeuds ne communiquent pas entre eux, et les algorithmes itératifs requièrent de multiples phases de mapshuffle et de tri pour compléter leurs tâches. De nombreux fichiers sont créés entre les phases MapReduce, et cette programmation ne convient pas pour les calculs analytiques avancés. Il faut y ajouter un manque de compétences sur le marché autour de Java et Hadoop, ce qui limite le déploiement dans les entreprises. La solution est surtout employée comme un stockage peu cher ou comme solution d’archivage. Des entreprises l’utilisent comme plate- forme de test ou Data Lake pour stocker des données brutes à destination des analystes ou comme complément à un datawarehouse existant. Les principales applications connues sont principalement des moteurs de recommandation comme celui de Netflix ou de Linkedin lorsqu’ils vous proposent des offres d’emploi. Disponible depuis décembre dernier, la version 3 de la plate- forme amène quelques nouveautés intéressantes comme le support de plusieurs namenodes, des puces graphiques et des disques par Yarn et l’intégration de l’erasure coding dans le système de fichiers HDFS. Pour remédier aux différents problèmes d’Hadoop faible performance, des requêtes interactives et itératives et pallier le manque de compétences, les éditeurs de l’écosystème se sont orientés vers d’autres moteurs de requêtage plus performants. Tout d’abord il y a eu Impala de Cloudera qui augmentait les performances d’un facteur 10, rendant les requêtes plus rapides mais surtout s’approchant de l’interactif autorisant de pratiquer des analyses assez avancées. Utilisant SQL, le moteur évitait d’embaucher des ressources chères et rares sur le marché. D’autres moteurs avaient déjà repris ce dernier point : Pigs, Hive SQL… Teradata propose même un moteur SQL qui opère directement dans le data lake d’Hadoop.
Spark s’impose
Depuis l’écosystème s’est largement rangé sous la bannière de Spark, un moteur global pour le traitement de très gros volumes de données. En mémoire ce moteur fait 100 fois mieux que Map/ Reduce et 10 fois mieux sur disques. La plate- forme supporte de plus de nombreux langages : Python, Scala, Java.
Le moteur combine SQL, Data frames, MLib pour le Machine Learning, GraphX pour les applications de graphe, et Spark Streaming pour les flux de données. Il peut fonctionner dans tous les types d’environnement : sur site, Cloud, containers… Le projet bénéficie en plus d’une importante communauté très active. Sa dernière version ajoute le traitement continu sur des flux structurés ce qui autorise des traitements plus rapides sur certains flux de données comparativement à l’utilisation du micro- batch originel de Spark. Les latences sont désormais plus faibles avec l’utilisation de cette nouvelle fonction. D’ailleurs jusqu’à présent l’écosystème se tournait vers Storm ou Flink lorsqu’il s’agissait de réaliser des traitements continus. La solution est plutôt dévolue aux applications de Machine Learning. Spark est tout à fait adapté pour les campagnes de marketing en temps réel, les recommandations de produits en ligne, la cybersécurité et la surveillance des logs machine. Storm permet de développer sous Hadoop des applications qui traitent les données en temps réel ou presque en temps réel. Cette solution a pour origine Twitter et est utilisée chez les grands fournisseurs du Web comme Yahoo, Groupon, Alibaba et Baidu. Flink est un moteur d’analyse des flux ( streaming). Bouygues Télécom, Uber, Alibaba utilisent Flink qui est particulièrement adapté au monde de l’e- commerce ; Alibaba utilise la technologie pour la mise à jour en temps réel des produits et des inventaires.
Le transactionnel hybride et le massivement parallèle
Ces deux autres moyens de traiter de gros volumes de données sont plus orientés vers les données structurées et transactionnelles présentes dans l’entreprise. Leur utilisation est donc plus classique et proche de ce que nous connaissons avec les outils analytiques d’aujourd’hui. Ils combinent cependant des performances de traitement et des possibilités de les distribuer qui peuvent largement se comparer à ce que propose l’écosystème Hadoop. Workday, l’éditeur en SaaS de solution RH et finances, utilise la solution HTAP de Gridgain pour gérer un très gros contrat avec Wal- Mart. De même la banque néerlandaise ING s’appuie sur Gridgain pour de nouveaux services bancaires. Le massivement parallèle se caractérise par une approche similaire au HPC ( High Performance Computing). Les solutions appuient des recherches de pointe comme le séquençage de l’ADN ou soutiennent des solutions analytiques avancées comme dans le programme AlphaGo, qui a battu le champion du monde du jeu de Go. Ce type de solutions est présent dans de nombreux secteurs d’activité : automobile, finance, énergie, services aux entreprises ou aux particuliers… Suivant les besoins et les utilisations les technologies pour le Big Data sont différentes suivant le temps d’attente des résultats, les données utilisées, les coûts. Il est à remarquer cependant que ce sont les applications au- dessus de l’infrastructure technique qui apportent la valeur et non celle- ci par elle- même. ❍