[Article rédigé en collaboration avec Lise Gasnier]
MMI (Mathieu Millet) : Le premier élément structurant dans le contexte Big Data est le socle de “stockage” des données.
L’approche historique est celle des offres de DatawareHouse, qui ont évolué, sous forme d’appliance notamment, pour supporter de plus grandes quantités de données et faire porter par le « stockage » une capacité de traitement étendue (principe de PushDown). On retrouve les offres de fournisseurs tels que TeraData (leader historique sur le marché), Oracle avec ExaData, IBM/Netezza/Informix ou encore, EMC/Greenplum ou HP/Vertica.
Ces solutions ont toutes en commun un modèle de données fortement structuré (type, table, schéma, …) et le langage de requête SQL.
L’approche en rupture est celle proposée par Google, avec la publication de son Livre Blanc Big Table. Cette approche consiste en 2 grands principes. Tout d’abord, il s’agit de reprendre les principes de scalabilité (horizontale) des clusters de calcul scientifique (HPC).Puis, on peut se permettre de s’affranchir de certaines contraintes inhérentes à un usage transactionnel des bases de données relationnelles traditionnelles, et qui ne sont plus strictement nécessaires pour les usages analytiques, telles que les principes d’ACIDité (Atomicité, Cohérence, Isolation et Durabilité), le langage SQL (Not-Only SQL, NoSQL) et la contrainte de Cohérence (immédiate) du théorème CAP[1] de Brewer .
Cependant, pour simplifier la mise en œuvre d’une telle solution et rendre l’infrastructure simple, scalable (à plusieurs centaines de nœuds), avec du matériel à bas coût (donc sans inclure de réseau faible latence, type InfiniBand ou même sans réseau de stockage spécifique), le framework de “gestion” d’un tel cluster est obligé de contraindre fortement l’organisation et la manière de développer. Les principes de Map Reduce[2] (toujours décrits dans le Libre Blanc de Google) répondent à ces contraintes.
La solution la plus emblématique de cette approche est Hadoop et son écosystème. Développé initialement par Yahoo, maintenant supporté par la fondation Apache, Hadoop implémente un système de Fichiers massivement Distribués (HDFS) et un moteur Map Reduce. Hadoop est épaulé par tout un écosystème afin d’étendre son champ fonctionnel, avec par exemple HBase (base de données de type NoSQL) ou encore Hive (entrepôt de données disposant d’un langage de requêtage à la SQL).
Hadoop a tellement le vent en poupe que presque tous les acteurs du DatawareHouse (Oracle, Microsoft, IBM, Teradata,…) ou de l’analytique (SAS, R, Micro Strategy, …) ont maintenant annoncé des solutions autour de ce nouvel écosystème.
LGA (Lise Gasnier) : La finalité du stockage est d’extraire l’information utile des données. L’analyse est naturellement l’autre volet majeur du paysage technologique du Big data.
Dans ce domaine, l’innovation porte sur l’intégration des solutions d’analyse à celles de stockage pour éviter les mouvements des données. Mathieu a cité Hive pour sa compatibilité avec Hadoop. Citons également Greenplum un dérivé de Postgres qui repose sur une architecture distribuée sur un cluster de machines. Cette tendance à l’interaction se traduit aussi par le rapprochement d’acteurs issus des deux mondes: Revolution Analytics (BI) et IBM Netezza,par exemple, sont partenaires depuis début 2011.
Une approche banalisée de ce rapprochement entre traitements et données est celle des grilles de données tels que Oracle Coherence, Terracotta ou Gigaspaces XAP. Elles offrent la capacité de distribuer les données sur des nœuds de calcul. Elles se trouvent donc à la jonction entre clusters de traitements distribués et bases de données mémoire.
Ces dernières, en économisant les accès aux disques, permettent d’utiliser des approches analytiques classiques tout en garantissant les performances à mesure que la complexité des requêtes et leur volume évolue. Même si les produits (comme les appliances analytiques SAP HANA et Kognitio WX2) ne sont pas en mesure, aujourd’hui, de gérer les pétaoctets du Big Data, il faudra être attentif à l’innovation sur ce marché en croissance car on observe une convergence de différentes technologies au sein des solutions proposées par les éditeurs.
Toujours sur le plan de l’analyse, on assiste à la diffusion et à l’outillage des techniques analytiques, notamment par le recours à des méthodes issues de l’intelligence artificielle de type Machine Learning et Natural Language Processing.
Le Big data met aussi l’accent sur l’importance de restituer efficacement les résultats d’analyse et d’accroître l’interactivité entre utilisateurs et données. Ainsi, des produits comme Tableau (de Tableau Software) proposent des visualisations graphiques innovantes.
MMI : Enfin, pour pouvoir analyser ces données que l’on aura stockées, il ne faut pas oublier le processus d’acquisition et de chargement de ces mêmes données.
[1] Le théorème CAP explique que pour un système réparti (tel qu’une base de données répartie sur plusieurs ordinateurs), il n’est pas possible d’assurer simultanément : Cohérence, Disponibilité (Availability), résistance au Partitionnement (Partition Tolerence).
[2] L’approche MapReduce consiste à réaliser les différents traitements selon 2 tâches (qui peuvent se répéter) :
- Une fonction Map, massivement distribuable sur différents noeuds de calcul, qui associe un “couple (clef, valeur)” en entrée et un (ou plusieurs) “couple(s) (clef,valeur)” en sortie. La fonction Map ne traitant qu’un unique couple “à la fois”, il n’y a pas de problème de distribution des traitements.
- Une fonction Reduce, qui regroupe toutes les réponses et les rassemble en une liste unique de valeur, pour finaliser le traitement..
Lire aussi les articles :