Qu'est-ce qu'un data lakehouse ?
Qu'est-ce qu'un data lakehouse ?
Un data lakehouse est un système de gestion des données qui offre un stockage flexible et rentable à grande échelle, tout en fournissant des fonctionnalités d'analytique telles que la structuration, la gouvernance et la création de rapports. Il vous permet de stocker des données brutes dans différents formats à partir de milliers, voire de centaines de milliers de sources, de manière plus rentable et centralisée. Les données sont également utilisables par des outils d'analytique pour entraîner des modèles d'IA et générer des rapports et des tableaux de bord. Un data lakehouse offre de nombreuses fonctionnalités qui vous permettent de traiter les données brutes qu'il contient à des fins d'analytique plus poussées.
Quelle est la différence entre un lac de données, un entrepôt de données et un data lakehouse ?
L’architecture de data lakehouse a vu le jour en combinant les atouts de deux magasins de données centralisés traditionnels : l'entrepôt de données et le lac de données.
Entrepôt de données
Un entrepôt de données est un système de stockage de données qui stocke des données structurées sur la base de schémas de données standard. Les schémas sont des plans prédéfinis qui déterminent le format des données, la relation et la structure des informations dans une base de données relationnelle.
Les organisations utilisent des systèmes d'entrepôt de données pour accéder rapidement au traitement des données, à l'analytique décisionnelle et aux rapports d'entreprise. L'entreposage de données permet d'accéder à des outils d'analytique avancés, à une gouvernance des données robuste et à une facilité d'utilisation pour les utilisateurs non techniques. Par exemple, vous pouvez récupérer des rapports sur les performances marketing à l'aide d'un tableau de bord dans l'entrepôt de données.
Cependant, l'entreposage des données introduit des étapes supplémentaires dans le cycle de vie des données. Pour obtenir des informations prêtes à être analysées, les données sont soumises à plusieurs pipelines d'extraction, de transformation et de chargement (ETL) avant d'être stockées dans un entrepôt de données. De plus, un entrepôt de données ne peut pas gérer les données non structurées et semi-structurées, dont les charges de travail liées à l'intelligence artificielle et au machine learning ont besoin. Dans une configuration d'entrepôt de données, le stockage et la puissance de calcul sont étroitement liés, ce qui augmente les coûts de mise à l'échelle de l'infrastructure.
Lac de données
Un lac de données est un système de stockage qui conserve les données dans leur format d'origine. Les data scientists utilisent un lac de données pour stocker des données structurées, non structurées et semi-structurées. Le stockage des données dans un lac de données est rapide, car les informations ne passent pas par un pipeline ETL. Au lieu de cela, les données brutes sont stockées telles quelles. Par conséquent, un lac de données peut stocker d'énormes volumes d'informations à un rythme soutenu, y compris des flux de données en temps réel.
En raison du volume de données, les lacs de données cloud sont idéaux pour l'exploration des données, le machine learning et d'autres applications de science des données. La mise à l'échelle d'un lac de données est également plus abordable en raison de son hébergement de stockage peu coûteux.
Contrairement à un entrepôt de données, l'accès aux données stockées dans un lac de données nécessite une expertise technique, ce qui limite l'accès aux données à un plus petit groupe d'utilisateurs. Cela signifie que seuls les utilisateurs maîtrisant la science des données peuvent extraire, manipuler et analyser les données brutes pour obtenir des informations commerciales. En outre, un lac de données non géré peut entraîner des marécages de données. Les marécages de données sont un état de données désorganisées qui rend plus difficile l'extraction d'informations pertinentes.
Data lakehouse
Un data lakehouse est une architecture de données unifiée qui combine les avantages d'un entrepôt de données et d'un lac de données. Il fournit un espace de stockage performant, abordable et convivial pour différents types de données.
Contrairement à un entrepôt de données, un data lakehouse peut stocker des données semi-structurées et non structurées à des fins de machine learning. En outre, l'architecture du data lakehouse comprend des outils d'analytique SQL que les responsables commerciaux utilisent pour générer des rapports et extraire des informations exploitables.
Quelles sont les principales fonctionnalités d'un data lakehouse ?
Les data lakehouses fournissent des fonctionnalités de gestion des données permettant aux entreprises de créer des hubs de traitement de données évolutifs, complexes et à faible latence. Nous partageons ci-dessous certaines des principales fonctionnalités d'un data lakehouse.
Prend en charge divers types de données et charges de travail
Les data lakehouses peuvent stocker divers types de données, notamment du texte, des images, des vidéos et des fichiers audio, sans étapes de transformation supplémentaires ni schéma rigide. Cela permet une ingestion de données rapide, garantissant ainsi la fraîcheur des données pour les applications connectées.
Pour favoriser la diversité des données, un data lakehouse stocke les données brutes dans un stockage basé sur les objets. Le stockage basé sur les objets est un type d'architecture de stockage de données optimisé pour gérer de grands volumes de données non structurées.
Prise en charge des transactions
Un data lakehouse fournit des fonctionnalités de gestion des données pour le stockage des transactions conformes à l'ACID, similaires à celles que l'on trouve dans les bases de données classiques. ACID signifie atomicité, cohérence, isolation et durabilité.
- L'atomicité traite toutes les transactions de données comme une seule unité, ce qui signifie qu'elles sont implémentées avec succès ou non.
- La cohérence fait référence au comportement prévisible de la base de données qui se produit lors de la mise à jour d'une table de données spécifique. Chaque mise à jour suit des règles prédéfinies, qui garantissent la cohérence des données.
- L'isolation permet à plusieurs transactions de se produire sans interférer les unes avec les autres. Même si plusieurs utilisateurs mettent à jour la base de données simultanément, chaque opération s'exécute indépendamment, ce qui signifie qu'une transaction se termine avant le début de la suivante.
- La durabilité est la capacité de la base de données à conserver et à enregistrer les modifications même en cas de défaillance du système.
Ensemble, ACID garantit l'intégrité des données, permettant aux équipes logicielles de créer des applications qui s'appuient sur un stockage de données transactionnelles fiable.
Ingestion en streaming
Les flux de données sont un flux continu d'informations provenant de sources de données telles que les appareils Internet des objets (IoT), les transactions financières et les services applicatifs.
Certaines applications nécessitent un flux de données pour refléter et visualiser les modifications des données en temps quasi réel. L'architecture du data lakehouse peut ingérer des flux de données et les rendre disponibles pour les applications destinées aux utilisateurs. En outre, les data scientists peuvent créer des outils d'analytique à partir des flux de données et les visualiser à l'aide de diagrammes, de tableaux et de graphiques.
Intégrations zéro ETL
Zéro ETL est un processus de données qui contourne les pipelines complexes de transformation des données lors du transfert de données. Une infrastructure data lakehouse permet l’intégration zéro ETL.
Traditionnellement, les organisations fondent leurs charges de travail sur un entrepôt de données et un lac de données. Ces configurations de données nécessitent des pipelines ETL supplémentaires pour interroger et transformer les données. Grâce l'intégration zéro ETL, les data scientists peuvent interroger différents silos de données sans créer de pipelines de données supplémentaires.
Lorsqu'un data lakehouse ingère des données, il les transforme automatiquement dans des formats conformes aux exigences en matière d'analytique commerciale. Par exemple, Amazon Redshift prend en charge l'intégration zéro ETL avec Amazon Aurora. Redshift est un entrepôt de données, tandis qu'Aurora est un système de gestion de base de données relationnelle. Une fois intégrées, les données ingérées par Aurora sont répliquées automatiquement sur Redshift en quelques secondes. De cette façon, les entreprises peuvent gagner du temps pour obtenir des informations tout en maintenant une infrastructure de données simple et rentable.
Analytiques unifiées
Un data lakehouse fournit une plateforme de données unifiée permettant d'accéder à toutes les données stockées. Il aide les architectes de données à surmonter la duplication, l'incohérence et la fragmentation des données sur plusieurs systèmes.
Un autre avantage clé de l'analytique centralisée est d'éviter les mouvements de données inutiles entre les stockages cloud. Au lieu d'interroger des données cloisonnées, les équipes chargées des données stockent, analysent et partagent les données à partir d'une interface unique qui se connecte au data lakehouse. Par exemple, vous pouvez récupérer des données non structurées pour une charge de travail de machine learning et générer des rapports sur les performances marketing à partir d'une seule copie des données.
Éditeur de requêtes
Les analystes de données, les ingénieurs en machine learning et les utilisateurs de données peuvent facilement accéder aux données d'un data lakehouse à l'aide d'un éditeur de requêtes SQL. Ils peuvent créer des commandes SQL pour l'analyse et la visualisation des données, parcourir les données historiques, créer des schémas de base de données, etc. Un éditeur de requêtes améliore également la collaboration en permettant aux ingénieurs de données de partager facilement les requêtes qu'ils créent.
Prise en charge du ML/IA
Les data lakehouses sont conçus pour créer, tester et dimensionner les charges de travail liées à l'intelligence artificielle et au machine learning (IA/ML). En plus de fournir un accès direct aux données non structurées, de nombreux fournisseurs de data lakehouse proposent des bibliothèques de machine learning, des outils et des analytiques qui simplifient le développement de l'IA.
Par exemple, Amazon SageMaker Lakehouse s'intègre parfaitement à Amazon SageMaker Unified Studio, donnant accès à des outils et à des analytiques permettant d'accélérer les flux de travail d'IA et de ML.
Comment fonctionne un data lakehouse ?
Un data lakehouse associe les capacités d'analytique avancées des entrepôts de données à la flexibilité des lacs de données, fournissant ainsi une plateforme de données évolutive, abordable et puissante. Au lieu de gérer des infrastructures de lacs de données et d'entrepôts de données distincts, les entreprises choisissent un data lakehouse pour obtenir des informations commerciales plus rapidement.
Le data lakehouse ingère des données provenant de diverses ressources, les organise en interne et les fournit aux différents utilisateurs de données dans différents formats. De plus, le calcul d'un data lakehouse est distinct du stockage. Grâce à un stockage et à un calcul séparés, vous pouvez mettre à l'échelle ces fonctions indépendamment afin de maximiser les économies de coûts.
Ci-dessous, nous partageons les couches de données qui constituent un data lakehouse.
Couche d'ingestion
La couche d'ingestion connecte le data lakehouse à différents types de sources de données, notamment aux journaux d'applications, aux bases de données et aux flux de réseaux sociaux. Au niveau de cette couche, les données sont conservées dans leur format d'origine.
Couche de stockage
La couche de stockage reçoit les données brutes entrantes et les stocke dans un stockage évolutif et peu coûteux. Dans une configuration de data lakehouse, cette couche est souvent liée à un stockage d'objets dans le cloud. Un stockage d'objets prend en charge divers types de données, notamment des données structurées, semi-structurées et non structurées.
Selon les cas d'utilisation, certaines données subissent une transformation après leur stockage dans le stockage d'objets. Par exemple, si vous souhaitez entraîner un modèle de machine learning à l'aide des données ingérées, le data lakehouse transformera et stockera les données au format Parquet. Parquet est un format de fichier ouvert conçu pour stocker et traiter efficacement les données structurées en les séparant en colonnes.
Couche intermédiaire
La couche intermédiaire, ou couche de métadonnées, prend en charge les schémas pour régir, organiser et optimiser les données stockées dans le data lakehouse. Cette couche vous permet de définir des politiques pour garantir la qualité des données et de créer des pistes d'audit à des fins de conformité. En outre, les équipes chargées des données peuvent créer des flux de données fiables à l'aide des transactions ACID, de l'indexation des fichiers, de la gestion des versions des données et de la mise en cache, similaires à ceux que l'on trouve dans un entrepôt de données traditionnel.
Couche API
La couche d'interface de programmation d'applications (API) permet aux développeurs de logiciels et aux applications d'interroger les données stockées dans le data lakehouse. Elle fournit un accès granulaire aux données qui permet de créer des analytiques plus avancées par programmation à partir des données. Par exemple, les équipes logicielles peuvent effectuer des appels d'API pour récupérer des flux de données en temps réel afin d'alimenter le tableau de bord d'une application d'investissement.
Couche sémantique
La couche sémantique est la couche supérieure du data lakehouse. Également connue sous le nom de couche de consommation de données, elle comprend des outils d'analytique des données et des applications qui permettent d'accéder aux données et aux schémas stockés. Les utilisateurs professionnels peuvent générer des rapports, créer des graphiques, rechercher des informations et effectuer d'autres analyses de données à l'aide des outils qu'ils trouvent au niveau de cette couche.
Comment AWS prend en charge vos besoins en matière de data lakehouse ?
Amazon SageMaker Lakehouse est un data lakehouse que les entreprises utilisent pour traiter des exaoctets de données afin d'obtenir des informations commerciales et d'alimenter les charges de travail liées à l'IA. Amazon SageMaker Lakehouse est profondément intégré aux services AWS de stockage de données, d'analytique et de machine learning pour vous aider à :
- Accéder aux données sur place pour des analytiques en temps quasi réel
- Créer des modèles d'intelligence artificielle et de machine learning sur un seul hub de données
- Accéder, combiner et partager des données en toute sécurité avec un minimum de mouvements ou de copies
Avec une architecture qui sépare le calcul et le stockage pour une évolutivité efficace, Amazon SageMaker Lakehouse offre un meilleur rapport prix/performance que les autres data lakehouses cloud.
Amazon SageMaker Lakehouse s'intègre aux entrepôts de données et aux lacs de données AWS :
- Amazon Redshift est une solution d'entrepôt de données qui offre un rapport prix/performances inégalé à grande échelle avec SQL pour votre data lakehouse
- Amazon S3 est un stockage d'objets de type lac de données conçu pour récupérer n'importe quelle quantité de données, où que vous soyez
Commencez à utiliser un data lakehouse sur AWS en créant un compte gratuit dès aujourd'hui.