Le lakehouse, nouveau paradigme de gestion des données

Le concept émerge désormais au travers de nombreux cas d'usage. En quoi consiste-t-il ? Quels sont les avantages de ce nouvel environnement par rapport aux entrepôts et lacs de données traditionnels ?

Dès la fin des années 1980, les entrepôts de données se sont imposés dans les applications d’aide à la décision et de business intelligence. Puis, ils n’ont cessé d’évoluer et les architectures MPP (massive parallel processing) ont conduit à des systèmes capables de traiter les plus importants volumes de données. Tandis que ces entrepôts étaient parfaits pour les données structurées, ils ne sont pas adaptés aux nouvelles approches et aux besoins des entreprises d’aujourd’hui devant aussi traiter des données non-structurées, semi-structurées, très hétérogènes, volumineuses et à haute vitesse. Les entrepôts de données ne sont pas adaptés à de nombreux cas d’usage, de plus ils ne sont pas les plus rentables.

Lorsque les entreprises ont commencé à collecter de grandes quantités de données provenant de nombreuses sources différentes, les architectes ont envisagé un système unique pour héberger les données de divers produits et traitements analytiques. Il y a une dizaine d'années, les entreprises ont ensuite construit des lacs de données, référentiels de données brutes et de formats différenciés. Bien qu'ils soient adaptés au stockage de données, les lacs de données manquent de certaines caractéristiques essentielles : ils ne prennent pas en charge les transactions, ne garantissent pas la qualité des données, manquent de cohérence, et les données en silos rendent presque impossible de mixer les insertions et  lectures de données, mais aussi les traitements batch et streaming.

Les entreprises ont toujours besoin de systèmes flexibles à haute performance pour diverses applications basées sur les données, notamment l'analyse SQL, le monitoring en temps réel, la data science et le machine learning (ML). La plupart des avancées récentes en matière d'IA ont porté sur des modèles plus pertinents pour traiter les données non-structurées (textes, images, vidéos, contenus audio), qui sont précisément les types de données pour lesquels un entrepôt de données n'est pas optimisé. Une approche courante consiste à utiliser plusieurs systèmes : un lac de données, plusieurs entrepôts et d'autres systèmes spécialisés tels que le streaming, les séries temporelles, les bases de données orientées graphes ou images. Disposer d’une multitude de systèmes est source de complexité et, plus important encore, introduit des retards de traitement car les professionnels de la donnée doivent invariablement déplacer ou copier des données entre différents systèmes.

Naissance du lakehouse

De nouveaux systèmes commencent à voir le jour pour pallier les limites des lacs de données. Un lakehouse est un nouveau paradigme qui combine les meilleurs éléments des lacs et des entrepôts de données. Il repose sur une nouvelle conception de système. Cela consiste à mettre en œuvre des structures de données et caractéristiques de gestion des données, à la fois similaires à celles d’un entrepôt de données et construites directement sur le type de stockage à faible coût utilisé pour les lacs de données. C'est ce que vous obtiendrez si vous deviez repenser les entrepôts de données dans le monde moderne, maintenant qu'il existe un stockage bon marché et extrêmement fiable.

Le lakehouse, nouveau paradigme de gestion des données © Databricks

Un Lakehouse se caractérise par un ensemble de fonctions clés : la prise en charge des transactions ACID (atomicité, cohérence, isolation et durabilité), la mise en application de schémas et de gouvernance, l’intégration native aux outils de BI, un stockage dissocié de la puissance de calcul, des formats de stockage ouverts tels que Apache Parquet, la prise en charge de tous les types de données et de traitements  (data science, ML, SQL et analytics) et le streaming de bout en bout. 

Cependant, les systèmes d’information des grandes entreprises nécessitent des fonctions supplémentaires de sécurité et de contrôle d'accès, ainsi que des capacités de gouvernance des données (audit, conservation et historique des données) devenues indispensables au regard des récentes réglementations en matière de protection des données. Des outils d’exploration des données, tels que les catalogues de données et les indicateurs d'utilisation des données, sont également nécessaires. Avec un lakehouse, ces fonctionnalités d’entreprise sont mises en œuvre, testées et implémentées en un seul et unique système.

Fusionner en un seul système lacs et entrepôts de données signifie que les équipes data gagnent en rapidité,  car elles peuvent utiliser les données sans devoir accéder à plusieurs systèmes. Le niveau de prise en charge des données SQL et d’intégration aux outils de BI par les premiers lakehouses est généralement suffisant pour la plupart des entrepôts de données d'entreprise. Des vues matérialisées et procédures de stockage sont disponibles, mais il se peut que les utilisateurs aient besoin d'utiliser d'autres mécanismes qui ne sont pas équivalents à ceux que l'on trouve dans les entrepôts de données traditionnels. Ce dernier point est crucial pour les scénarios de passage d’un système à l’autre, qui nécessitent des systèmes dont la sémantique est presque identique à celle des anciens entrepôts de données commerciaux.

Qu'en est-il de la prise en charge d’autres types d'applications basées sur les données ? Les utilisateurs d'un lakehouse ont accès à une variété d'outils standard (Spark, Python, R, bibliothèques de ML) pour les traitements non orientés BI, tels que la data science et le machine learning. Une couche de stockage supplémentaire spécifique est alors nécessaire pour permettre aux utilisateurs d'améliorer progressivement la qualité des données dans leur lakehouse jusqu'à ce qu'elles soient prêtes à être consommées.

De la BI à l'IA

En simplifiant radicalement l’infrastructure des données, le lakehouse accélère l'innovation à une époque où le machine learning révolutionne toutes les industries. Dans le passé, les prises de décision étaient influencées par des données structurées provenant de systèmes opérationnels, tandis qu'aujourd'hui, de nombreux produits intègrent l'IA sous forme de vision artificielle et de modélisation de la parole, d'extraction de connaissances ou autres. Alors, pourquoi utiliser un lakehouse plutôt qu'un lac de données pour tirer parti de l’IA ? Un lakehouse offre des fonctions de versioning des données, de gouvernance, de sécurité et des propriétés ACID nécessaires même s’il s’agit de données non-structurées.

Les lakehouses réduisent certes les coûts, mais leurs performances peuvent s’avérer inférieures à celles de systèmes spécialisés (comme les entrepôts de données) qui comptent déjà des années d'investissements et de déploiements. Les utilisateurs peuvent privilégier certains outils (BI, IDEs, notebooks), si bien que les lakehouses devront également adapter leur expérience utilisateur et leurs connecteurs aux outils les plus courants afin de satisfaire le plus grand nombre. Ces problématiques et d'autres encore seront résolues au fur et à mesure que la technologie évoluera. A terme, les lakehouses combleront cet écart tout en préservant leurs propriétés spécifiques et en restant plus simples, plus rentables et plus aptes à servir diverses applications orientées  données.