22 octobre 2024
Julien Catelain
Consultant Senior Architecture
Datalake, Datawarehouse, Datalakehouse… Le métier de la donnée a le don pour créer des noms assez simples à associer au sujet, mais qui peuvent rapidement devenir confusants.
Ce billet vise à vulgariser ces 3 concepts, afin de vous permettre de tenir le fil de la discussion lors de vos discussions avec les experts data.
Les patterns historiques
Le Datawarehouse (entrepôt de données) est un pattern de base de données décisionnelles, datant de la fin des années 80 : il agrège des données sélectionnées, mises en qualité, structurées, et historisées afin de permettre de les exploiter dans le cadre de cas d’usage « décisionnels ».
Ces données ne sont pas altérables, ce qui garantit qu’un même traitement donnera le même résultat peu importe le nombre de fois et le moment où il sera réalisé.
Ce cadre de stockage permet de faire croiser des données issues de systèmes applicatifs distincts, afin de « casser » les silos de données, et permettre une vision transversale de l’entreprise, tout en permettant de comparer différentes périodes.
L’inconvénient du Datawarehouse est principalement son coût de stockage élevé, du fait de toutes les étapes de « travail » autour de la donnée.
Le Datalake (lac de données) s’est construit afin de répondre aux faiblesses du Datawarehouse : c’ est un espace de stockage, agrégeant des données (non structurées, semi structurées et structurées), sous leur forme brute (pas de traitement de normalisation / mise en qualité à l’ingestion).
L’objectif de cette brique applicative est de proposer un stockage à bas coûts, permettant de mettre à disposition un vaste volume de données, de manière agnostique au regard de leur exploitation future.
Ce volume de données permet de nourrir différents types de cas d’usage : alimentation de bases de données spécialisées (par exemple décisionnelles, comme un Datawarehouse), ou exploitation dans le cadre de traitements nécessitant un volume important de données mise à disposition (Data Science, Machine Learning, Intelligence Artificielle…).
Il n’a cependant pas ambition à agréger toutes les données de l’entreprise, ou de les stocker n’importe comment, et c’est justement un problème qui a tendance à se développer avec le temps, en l’absence d’un cadre définissant la gouvernance des données, et la politique de rétention de ces dernières.
Et là, le Datalake devient le Dataswamp…ce qui rend l’exploitation des données compliquée voir impossible, tout en faisant augmenter les coûts…
Le nouveau venu
Le Data Lakehouse (maison lac… ne cherchez pas de traduction littérale !) est une hybridation de ces 2 composants applicatifs, visant à proposer le meilleur des deux mondes, tout en couvrant l’ensemble des cas d’usages sus mentionnés.
Comme le Datalake, il permet d’agréger différents types de données (structurées, semi structurées ou non structurées). Cependant, grâce à l’exploitation d’une couche de métadonnées permettant de faire le lien avec les différentes données agrégées, les transactions ACID (atomicité, cohérence, isolation et durabilité) deviennent possibles.
De même, l’ingestion de données en temps réel (streaming) devient possible, ce qui permet de répondre à de nouveaux cas d’usage (pilotage à chaud, exploitation des données IoT).
C’est un pattern permettant de conserver un stockage à moindre coût propre au Datalake, ainsi que la capacité d’analyse d’un Datawarehouse.
Dans un second article, nous allons faire un focus sur le Data Lakehouse, en soulevant le capot afin de mieux comprendre son fonctionnement.