Revenir au contenu principal

Qu'est-ce qu'un lakehouse ?

Published: January 30, 2020

Plateforme9 min read

Ces dernières années chez Databricks, nous avons observé un nouveau paradigme dans la gestion des données. Celui-ci a émergé de manière indépendante chez divers clients et dans divers scénarios d'utilisation. Ce paradigme, c'est le lakehouse. Dans cet article, nous allons découvrir ce nouveau paradigme et étudier ses avantages par rapport aux approches précédentes.

Les entrepôts de données font partie de l'histoire des applications d'aide à la prise de décision et de business intelligence depuis bien longtemps. Depuis sa création à la fin des années 1980, la technologie de data warehouse a continué d'évoluer et les architectures MPP ont conduit à des systèmes capables de traiter de plus grands volumes de données. Cependant, si les warehouses étaient parfaits pour les données structurées, de nombreuses entreprises modernes doivent aujourd'hui gérer des données non structurées, semi-structurées, ainsi que des données présentant une grande variété, une vélocité et un volume élevés. Les data warehouses ne sont pas adaptés à bon nombre de ces cas d'utilisation, 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é à envisager un système unique pour héberger les données pour de nombreux produits et charges de travail analytiques différents. Il y a une dizaine d'années, les entreprises ont commencé à créer des lacs de données - des référentiels de données brutes sous divers formats. Bien qu'adaptés au stockage de données, les data lake ne disposent pas de certaines fonctionnalités essentielles : ils ne prennent pas en charge les transactions, ils n'assurent pas la qualité des données, et leur manque de cohérence/d'isolation rend presque impossible le mélange des ajouts et des lectures, ainsi que des jobs batch et de streaming. Pour ces raisons, de nombreuses promesses des data lakes ne se sont pas concrétisées, entraînant dans de nombreux cas la perte de nombreux avantages des data warehouses.

Le besoin d'un système flexible et à hautes performances n'a pas diminué. Les entreprises ont besoin de systèmes pour diverses applications de données, notamment l'analytique SQL, le monitoring en temps réel, la data science et le machine learning. La plupart des avancées récentes en matière d'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 data warehouse n'est pas optimisé. Une approche courante consiste à utiliser plusieurs systèmes : un data lake, plusieurs data warehouses 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. Le fait d'avoir une multitude de systèmes introduit de la complexité et, plus important encore, des retards, car les professionnels des données doivent invariablement déplacer ou copier des données entre différents systèmes.

Qu'est-ce qu'un lakehouse ?

De nouveaux systèmes qui répondent aux limites des data lakes commencent à émerger. Un lakehouse est une nouvelle architecture ouverte qui combine les meilleurs éléments des data lakes et des data warehouses. 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 data warehouse, directement sur un stockage cloud à faible coût dans des formats ouverts. C'est ce que vous obtiendriez si vous deviez reconcevoir les data warehouses dans le monde moderne, maintenant qu'un stockage bon marché et hautement fiable (sous la forme de stockage objet) est disponible.

Un lakehouse présente les caractéristiques clés suivantes :

  • Prise en charge des transactions : Dans un lakehouse d'entreprise, de nombreux pipelines de données lisent et écrivent souvent des données simultanément. La prise en charge des transactions ACID garantit la cohérence lorsque plusieurs parties lisent ou écrivent des données simultanément, généralement à l'aide de SQL.
  • Application des schémas et gouvernance : Le Lakehouse doit disposer d'un moyen de prendre en charge l'application et l'évolution du schéma, en prenant en charge les architectures de schéma d'entrepôt de données telles que les schémas en étoile/flocon. Le système doit être capable de raisonner sur l'intégrité des données, et il doit disposer de mécanismes de gouvernance et d'audit robustes.
  • Prise en charge de la BI : les lakehouses permettent d'utiliser des outils de BI directement sur les données source. Cela réduit l'obsolescence et améliore la récence des données, réduit la latence et diminue le coût lié à l'opérationnalisation de deux copies des données à la fois dans un data lake et un data warehouse.
  • Le stockage est découplé du compute : En pratique, cela signifie que le stockage et le compute utilisent des clusters distincts, ce qui permet à ces systèmes de monter en charge à un nombre beaucoup plus important d'utilisateurs simultanés et à des volumes de données plus importants. Certains entrepôts de données modernes possèdent également cette propriété.
  • Ouverture : Les formats de stockage qu'ils utilisent sont ouverts et standardisés, tels que Parquet, et ils fournissent une API pour qu'une variété d'outils et de moteurs, y compris le machine learning et les bibliothèques Python/R, puissent accéder directement et efficacement aux données.
  • Prise en charge de divers types de données, allant des données non structurées aux données structurées: le lakehouse peut être utilisé pour stocker, affiner, analyser et accéder aux types de données nécessaires à de nombreuses nouvelles applications de données, y compris les images, la vidéo, l'audio, les données semi-structurées et le texte.
  • Prise en charge de diverses charges de travail : notamment la data science, le machine learning, le SQL et l'analytique. Plusieurs outils peuvent être nécessaires pour prendre en charge toutes ces charges de travail, mais ils reposent tous sur le même repository de données.
  • Streaming de bout en bout : Les rapports en temps réel sont la norme dans de nombreuses entreprises. La prise en charge du streaming élimine le besoin de systèmes distincts dédiés aux applications de données en temps réel.

Voici les attributs clés des lakehouses. Les systèmes de niveau entreprise requièrent des fonctionnalités supplémentaires. Les outils de sécurité et de contrôle d'accès sont des exigences de base. Les fonctionnalités de gouvernance des données, notamment l'audit, la rétention et le lignage, sont devenues essentielles, en particulier à la lumière des récentes réglementations sur la protection de la vie privée. Des outils qui permettent la découverte des données, tels que les data catalogs et les métriques d'utilisation des données, sont également nécessaires. Avec un lakehouse, de telles fonctionnalités d'entreprise n'ont besoin d'être implémentées, testées et administrées que pour un seul système.

Lisez l'article de recherche complet sur le fonctionnement interne du Lakehouse.

Quelques premiers exemples

La Databricks Lakehouse Platform possède les caractéristiques architecturales d'un lakehouse. Le service Azure Synapse Analytics de Microsoft, qui s'intègre à Azure Databricks, permet d'obtenir un modèle lakehouse similaire. D'autres services managés tels que BigQuery et Redshift Spectrum possèdent 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 créer 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 création d'un lakehouse.

La fusion des data lakes et des data warehouses 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 à accéder à plusieurs systèmes. Le niveau de prise en charge de SQL et d'intégration avec les outils de BI de ces premiers lakehouses est généralement suffisant pour la plupart des data warehouses 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 que l'on trouve dans les data warehouse traditionnels. Ce dernier point est particulièrement important pour les « scénarios de type lift and shift», qui nécessitent des systèmes offrant une sémantique 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 de données ? Les utilisateurs d'un lakehouse ont accès à une variété d'outils standard (Spark, Python, R, bibliothèques Machine Learning Library (MLlib)) pour les charges de travail non-BI telles que la Data Science et le machine learning. L'exploration et l'affinage des données sont des pratiques courantes pour de nombreuses applications d'analyse et de Data Science. 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.

Remarque sur les briques techniques. Bien que les systèmes de fichiers distribués puissent être utilisés pour la couche de stockage, le stockage objet est plus couramment utilisé dans les lakehouses. Les stockages d'objets fournissent un stockage peu coûteux et hautement disponible, excellant dans les lectures massivement parallèles - une exigence essentielle pour les data warehouses modernes.

De la BI à l'IA

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ù le machine learning est sur le point de révolutionner tous les secteurs. Par le passé, la plupart des données utilisées dans les produits ou la prise de décision d'une entreprise étaient des données structurées provenant de systèmes opérationnels, tandis qu'aujourd'hui, de nombreux produits intègrent l'IA sous la forme de modèles de vision par ordinateur et de reconnaissance vocale, de text mining et autres. Pourquoi utiliser un lakehouse plutôt qu'un data lake pour l'IA ? Un lakehouse vous offre le versioning des données, la gouvernance, la sécurité et les propriétés ACID qui sont 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 inférieures à celles des systèmes spécialisés (tels que les data warehouses) qui bénéficient d'années d'investissements et de déploiements dans le monde réel. Les utilisateurs peuvent préférer certains outils (outils de BI, IDEs, Notebooks) à d'autres, si bien que les lakehouses devront également améliorer leur UX et leurs connecteurs aux outils populaires pour séduire des personas variés. Ces problèmes, ainsi que d'autres, seront traités à mesure que la technologie continuera de mûrir et de se développer. Avec le 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.

Consultez la FAQ sur le Data Lakehouse pour plus de détails.

Ne manquez jamais un article Databricks

Abonnez-vous à notre blog et recevez les derniers articles dans votre boîte mail.

Et ensuite ?

Introducing AI/BI: Intelligent Analytics for Real-World Data

Produto

June 12, 2024/11 min de leitura

Apresentando o AI/BI: analítica inteligente para dados do mundo real

DeepSeek R1 on Databricks

Anúncios

January 31, 2025/3 min de leitura

DeepSeek R1 no Databricks