Qu’est-ce qu’un datalake ou lac de données et comment est-il utilisé pour l'analyse des données ?
Vous trouverez ci-dessous une définition et une description des lacs de données (ou Data lake) et de leur fonctionnement.
Pour qu'un projet Big Data réussisse, deux éléments au moins sont indispensables :
- Savoir quelles sont les données combinées exploitables, nécessaires à l’atteinte des résultats souhaités,
- Obtenir les bonnes données à analyser et à exploiter afin d'atteindre ces résultats.
Cependant, nous disposons de plus en plus de données, provenant de plus en plus de sources, et se présentant sous des formes de plus en plus diverses.
Les lacs de données sont un moyen de mettre fin aux silos de données, dans un univers de données en pleine expansion et de moins en moins structuré.
Il suffit en effet d’observer l’IoT (Internet des objets), dans lequel l'Internet Industriel des objets principalement, est appelé à se développer rapidement dans les années à venir.
Cette croissance s'accompagne d'une augmentation ou d'une amélioration de la qualité des données : les données sont fournies par l'internet des objets, afin d'obtenir des informations et de mener des actions pertinentes : une analyse des données avec un objectif, des données intelligentes (smart data) pour des applications intelligentes (smart applications) et une Intelligence Artificielle (IA) pour donner un sens à toutes ces données.
Un lac de données est un lieu où sont rassemblées toutes les données que les entreprises veulent collecter, stocker, analyser et transformer en informations et en actions, que ces données soient structurées, semi-structurées et non structurées.
Traditionnellement, les données résident dans des silos à travers l'organisation, et l'écosystème dans lequel celle-ci opère pour les données externes. Il est impossible de combiner les bonnes données pour réussir un projet de Big Data si ces données sont disséminées dans le cloud et hors du cloud.
C'est notamment de ce constat qu’est née l'idée des lacs de données.
Le concept du lac de données a été promu par James Dixon, le directeur technique de Pentaho, et qui le considérait comme la meilleure alternative au datamart ou à l’entrepôt de données (data warehouse).
Voici comment Dixon expliquait le lac de données en 2011 : " Considérez un datamart comme une réserve d'eau en bouteille, nettoyée, conditionnée et structurée pour une consommation facile. Le lac de données (Data lake) est une grande masse d'eau à l'état plus naturel. Le contenu du lac de données afflue d'une source pour remplir le lac, et divers utilisateurs du lac peuvent venir l'examiner, y plonger ou y prélever des échantillons".
Les data lakes sont des dépôts de stockage ayant un objectif d'analyse et d'action.
En résumé, un lac de données est essentiellement un dépôt de stockage contenant des données dans leur format natif et brut.
Les approches traditionnelles de gestion des données ne sont pas adaptées, ou demandent des budgets conséquents, pour traiter du Big Data et des analyses de données importantes.
L'analyse du Big Data a essentiellement pour vocation de trouver des corrélations entre différents ensembles de données, qui doivent être combinés afin d'atteindre des résultats définis. Et si ces ensembles de données se trouvent dans des systèmes entièrement différents, c'est pratiquement impossible.
Exemple d’objectif : combiner des données concernant un client provenant d'une source, avec des données provenant d'autres sources, et même des données apparemment sans rapport : des données sur le trafic, des données météorologiques, des données sur les clients qui semblent sans rapport avec l’activité de l’organisation, … afin d'agir sur elles pour améliorer l'expérience client, proposer de nouveaux services ou simplement vendre plus.
Analyse ascendante des données : l'ingestion pour remplir le lac de données
Il existe deux approches de la gestion de l'information dans un but analytique.
- La première est descendante : le data warehouse ou entrepôt de données
- La seconde est ascendante : le data lake ou lac de données
En général, un lac se remplit car des rivières ou des petits ruisseaux lui apportent de l'eau.
Dans un lac de données, la même chose se produit. C'est ce que l'on appelle l'ingestion de données, quelle que soit leur source ou leur structure. Toutes les données dont nous avons besoin sont recueillies pour atteindre un objectif grâce aux analyses de données mentionnées.
Ces "flux" de données se présentent sous plusieurs formats :
- des données structurées (des données provenant d'une base de données relationnelle traditionnelle ou même d'un tableur : lignes et colonnes),
- des données non structurées (sociales, vidéo, e-mail, texte,...),
- des données provenant de toutes sortes de logs, (par exemple, weblogs, analyse de clickstream,...), XML, machine-to-machine, données IoT et capteurs, (les logs et XML sont aussi appelés données semi-structurées).
Ils impliquent également différents types de données d'un point de vue contextuel : données sur les clients, données provenant d'applications sectorielles, données sur les ventes, etc. (saisies dans le lac de données via les API). Enfin, s’y ajoutent de plus en plus de données externes (sources) que nous voulons exploiter pour atteindre nos objectifs.
Les lacs de données sont conçus pour l'analyse de données et pour résoudre le problème des silos de données dans le Big Data
Toutes les données susceptibles d’avoir un sens sont stockées dans le lac de données, tout en continuant à arriver, via les protocoles d'interface d'application (API), et alimentes les informations de toutes sortes d'applications et de systèmes, ou via des processus par lots.
A partir de données qui semblent parfois sans rapport, il est par exemple possible de détecter des schémas, en utilisant l'Intelligence Artificielle ou IA, entre le comportement d'achat et les conditions météorologiques, entre les données sur les clients d'une source et les données sur les clients d'une autre, entre les données sur le trafic et les données sur la pollution, ….
Mais l'analyse ne suffit pas. Il faut également visualiser, comprendre les données, et agir en fonction de ce qui a été analysé.