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.
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 :
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.
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.
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.
Produto
June 12, 2024/11 min de leitura

