Au cours des dernières années chez Databricks, nous avons observé l'émergence d'une nouvelle architecture de gestion de données, apparue indépendamment chez de nombreux clients et cas d'usage : le lakehouse. Dans cet article, nous décrivons cette nouvelle architecture et ses avantages par rapport aux approches précédentes.
Les entrepôts de données ont une longue histoire dans les applications de support décisionnel et de business intelligence. Depuis leur création à la fin des années 1980, la technologie des entrepôts de données a continué d'évoluer et les architectures MPP ont conduit à des systèmes capables de gérer des volumes de données plus importants. Mais si les entrepôts étaient parfaits pour les données structurées, de nombreuses entreprises modernes doivent gérer des données non structurées, semi-structurées, et des données de haute variété, vélocité et volume. Les entrepôts de données ne conviennent pas à bon nombre de ces cas d'usage, et ils ne sont certainement pas les plus rentables.
Alors que les entreprises commençaient à collecter de grandes quantités de données provenant de nombreuses sources différentes, les architectes ont commencé à imaginer un système unique pour héberger les données de nombreux produits analytiques et charges de travail différents. Il y a environ une décennie, les entreprises ont commencé à construire des data lakes – des dépôts de données brutes dans une variété de formats. Bien qu'adaptés au stockage des données, les data lakes manquent de certaines fonctionnalités critiques : ils ne prennent pas en charge les transactions, ils n'assurent pas la qualité des données, et leur manque de cohérence / isolation rend presque impossible le mélange des ajouts et des lectures, ainsi que des jobs batch et de streaming. Pour ces raisons, bon nombre des promesses des data lakes ne se sont pas concrétisées, entraînant dans de nombreux cas la perte de nombreux avantages des entrepôts de données.
Le besoin d'un système flexible et haute performance n'a pas diminué. Les entreprises ont besoin de systèmes pour diverses applications de données, y compris l'analyse SQL, la surveillance en temps réel, la science des données et le machine learning. La plupart des avancées récentes en IA ont porté sur de meilleurs modèles pour traiter les données non structurées (texte, images, vidéo, audio), mais ce 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 data lake, plusieurs entrepôts de données, et d'autres systèmes spécialisés tels que des bases de données de streaming, de séries temporelles, de graphes et d'images. Avoir une multitude de systèmes introduit de la complexité et, plus important encore, introduit des délais car les professionnels des données doivent inévitablement déplacer ou copier des données entre différents systèmes.
De nouveaux systèmes commencent à émerger pour pallier les limitations des data lakes. Un lakehouse est une nouvelle architecture ouverte qui combine les meilleurs éléments des data lakes et des entrepôts de données. Les lakehouses sont rendus possibles par une nouvelle conception de système : l'implémentation de structures de données et de fonctionnalités de gestion de données similaires à celles d'un entrepôt de données directement sur un stockage cloud peu coûteux dans des formats ouverts. C'est ce que vous obtiendriez si vous deviez redessiner les entrepôts de données dans le monde moderne, maintenant que le stockage bon marché et hautement fiable (sous forme de stockages d'objets) est disponible.
Un lakehouse possède les caractéristiques clés suivantes :
Ce sont les attributs clés des lakehouses. Les systèmes de niveau entreprise nécessitent des fonctionnalités supplémentaires. Les outils de sécurité et de contrôle d'accès sont des exigences de base. Les capacités de gouvernance des données, y compris l'audit, la rétention et la lignée, sont devenues essentielles, en particulier à la lumière des réglementations récentes sur la confidentialité. Des outils permettant la découverte de données, tels que les catalogues de données et les métriques d'utilisation des données, sont également nécessaires. Avec un lakehouse, ces fonctionnalités d'entreprise n'ont besoin d'être implémentées, testées et administrées que pour un seul système.
Lisez le document de recherche complet sur le fonctionnement interne du Lakehouse.
La Databricks Lakehouse Platform possède les caractéristiques architecturales d'un lakehouse. Le service Azure Synapse Analytics de Microsoft, qui s'intègre avec Azure Databricks, permet un modèle de lakehouse similaire. D'autres services gérés tels que BigQuery et Redshift Spectrum présentent certaines des fonctionnalités de lakehouse listées ci-dessus, mais ce sont des exemples qui se concentrent principalement sur la BI et d'autres applications SQL. Les entreprises qui souhaitent construire et implémenter leurs propres systèmes ont accès à des formats de fichiers open source (Delta Lake, Apache Iceberg, Apache Hudi) qui conviennent à la construction d'un lakehouse.
La fusion des data lakes et des entrepôts de données en un seul système signifie que les équipes de données peuvent avancer plus rapidement car elles peuvent utiliser les données sans avoir besoin d'accéder à plusieurs systèmes. Le niveau de support SQL et d'intégration avec les outils BI parmi ces premiers lakehouses est généralement suffisant pour la plupart des entrepôts de données d'entreprise. Les vues matérialisées et les procédures stockées sont disponibles, mais les utilisateurs peuvent avoir besoin d'employer d'autres mécanismes qui ne sont pas équivalents à ceux trouvés dans les entrepôts de données traditionnels. Ce dernier point est particulièrement important pour les "scénarios de migration", qui nécessitent des systèmes atteignant des sémantiques quasi identiques à celles des anciens entrepôts de données commerciaux.
Qu'en est-il de la prise en charge d'autres types d'applications de données ? Les utilisateurs d'un lakehouse ont accès à une variété d'outils standard (Spark, Python, R, bibliothèques d'apprentissage automatique) pour les charges de travail non-BI telles que la science des données et l'apprentissage automatique. L'exploration et le raffinement des données sont standards pour de nombreuses applications analytiques et de science des données. Delta Lake est conçu 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.
Une note sur les blocs de construction techniques. Bien que les systèmes de fichiers distribués puissent être utilisés pour la couche de stockage, les magasins d'objets sont plus couramment utilisés dans les lakehouses. Les magasins d'objets offrent un stockage peu coûteux et hautement disponible, qui excelle dans les lectures massivement parallèles - une exigence essentielle pour les entrepôts de données modernes.
Le lakehouse est une nouvelle architecture de gestion de données qui simplifie radicalement l'infrastructure de données d'entreprise et accélère l'innovation à une époque où l'apprentissage automatique est sur le point de perturber toutes les industries. Dans le passé, la plupart des données qui entraient dans les produits ou la prise de décision d'une entreprise provenaient de systèmes opérationnels structurés, tandis qu'aujourd'hui, de nombreux produits intègrent l'IA sous forme de modèles de vision par ordinateur et de reconnaissance vocale, d'exploration de texte, et d'autres. Pourquoi utiliser un lakehouse au lieu d'un data lake pour l'IA ? Un lakehouse vous offre le versionnement des données, la gouvernance, la sécurité et les propriétés ACID nécessaires même pour les données non structurées.
Les lakehouses actuels réduisent les coûts mais leurs performances peuvent encore être à la traîne par rapport aux systèmes spécialisés (tels que les entrepôts de données) qui ont des années d'investissements et de déploiements réels derrière eux. Les utilisateurs peuvent préférer certains outils (outils BI, IDE, notebooks) à d'autres, donc les lakehouses devront également améliorer leur UX et leurs connecteurs vers les outils populaires afin d'attirer une variété de personas. Ces problèmes et d'autres seront abordés à mesure que la technologie continuera de mûrir et de se développer. Au fil du temps, les lakehouses combleront ces lacunes tout en conservant les propriétés fondamentales d'être plus simples, plus rentables et plus capables de servir diverses applications de données.
Lisez la FAQ sur le Data Lakehouse pour plus de détails.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
