data warehouse
Qu'est-ce qu'un data warehouse ?
Un data warehouse est un système de gestion des données qui conserve les données actuelles et historiques de multiples sources sous une forme orientée entreprise pour faciliter la création d'insights et de rapports. Les data warehouses sont généralement utilisés à des fins de business intelligence (BI), de rapport et d'analyse de données.
Les data warehouses permettent d'analyser rapidement et simplement les données commerciales provenant de divers systèmes opérationnels : systèmes de point de vente, gestion d'inventaire, bases de données de marketing ou de vente. Les données peuvent traverser un data store opérationnel et nécessiter un nettoyage pour en garantir la qualité avant qu'elles soient utilisées dans le data warehouse pour produire des rapports.
Dans quel but utilise-t-on des data warehouses ?
Les data warehouses sont utilisés à des fins de BI, de rapport et d'analyse. Ils facilitent l'extraction et la synthèse données à partir de bases de données opérationnelles. Ils permettent notamment d'obtenir des informations difficiles à extraire directement de bases de données transactionnelles. Imaginons par exemple que la direction souhaite connaître chaque mois le total des revenus générés par chaque commercial, dans chaque catégorie de produit. Les bases de données transactionnelles ne capturent pas nécessairement ces données, mais les data warehouses en sont capables.
ETL et ELT sur le data warehouse
L'ETL (extraction, transformation, chargement) et l'ELT (extraction, chargement, transformation) sont deux approches différentes de la transformation des données. Les ingénieurs data utilisent souvent l'ETL (de l'anglais, extract-transform-load) pour extraire les données de différentes sources et les déplacer dans le data warehouse, où elles pourront être nettoyées et structurées. L'ELT, en revanche, charge d'abord les données dans le warehouse dans leur format d'origine, puis les nettoie et les structure au fil de leur traitement.
L'ETL est généralement réalisé de façon plus centralisée : les équipes de data engineering appliquent des règles de nettoyage et de conformité des données à l'échelle de l'entreprise. Avec l'ELT, les transformations sont effectuées à une étape ultérieure : elles sont généralement différenciées selon le projet ou l'équipe dans le cadre d'analyses en libre-service.
Traitement des transactions (OLTP) et traitement analytique (OLAP)
Un système OLTP (traitement des transactions en ligne) capture et conserve les données transactionnelles dans une base de données. Les transactions concernent des enregistrements de base de données composés de plusieurs champs ou colonnes. Les bases de données OLTP sont couramment utilisées dans des applications comme les services bancaires en ligne, les systèmes ERP ou la gestion d'inventaire. Elles permettent de mettre rapidement à jour les données de niveau ligne, qui sont traitées presque instantanément.
Un système OLAP (traitement analytique en ligne) applique des requêtes complexes à de grandes quantités de données historiques, agrégées à partir de bases de données OLTP et d'autres sources, à des fins d'exploration des données, d'analytique et de business intelligence. Les data warehouses sont des systèmes OLAP. Les bases de données OLAP et les data warehouses donnent aux analystes et aux décideurs la possibilité d'utiliser des outils de rapport personnalisés pour transformer les données en informations et en actions. Dans une base de données OLAP, l'échec d'une requête n'interrompt ni ne retarde le traitement des transactions pour les clients, mais il peut retarder ou affecter la précision des insights de business intelligence.
Data lake et data warehouse
Quelle est la différence entre un data lake et un data warehouse ?
Le data lake et le data warehouse sont deux approches différentes de la gestion et du stockage des données.
Un data lake est un data repository de données non structurées ou semi-structurés qui permet de stocker de grandes quantités de données brutes dans leur format d'origine. Les data lakes sont conçus pour importer et conserver tous les types de données, qu'elles soient structurées, semi-structurées, non structurées, sans aucun schéma prédéfini. Les données sont souvent stockées dans leur format natif et ne sont pas nettoyées, transformées ni intégrées. Cela facilite le stockage et l'accès à de grands volumes de données.
Un data warehouse, en revanche, est un repository structuré qui stocke les données de différentes sources sous une forme bien organisée, dans le but de fournir une source unique de vérité à des fins de business intelligence et d'analytique. Les données sont nettoyées, transformées et intégrées au sein d'un schéma optimisé pour les requêtes et l'analyse.
Quelle est la différence entre un data lake, un data warehouse et un data lakehouse ?
Le data lakehouse est une approche hybride qui réunit les avantages des deux autres. C'est une architecture de données moderne qui intègre les capacités d'un data warehouse et d'un data lake au sein d'une plateforme unifiée. Elle permet de conserver des données brutes dans leur format d'origine, comme avec un data lake, tout en fournissant les capacités de traitement et d'analytique typiques d'un data warehouse.
En résumé, la principale différence entre un data lake, un data warehouse et un data lakehouse réside dans l'approche de la gestion et du stockage des données. Le data warehouse stocke les données non structurées dans un schéma prédéfini, le data lake conserve les données brutes dans leur format d'origine, et un data lakehouse est une approche hybride qui combine les capacités des deux.
Data lake | Data Lakehouse | data warehouse | |
---|---|---|---|
Types de données | Tous les types : données structurées, semi-structurées et non structurées (brutes) | Tous les types : données structurées, semi-structurées et non structurées (brutes) | Données structurées uniquement |
Coût | $ | $ | $$$ |
Format | Format ouvert | Format ouvert | Format fermé, propriétaire |
Évolutivité | Peut accueillir n'importe quelle quantité de données à faible coût, quel que soit leur type | Peut accueillir n'importe quelle quantité de données à faible coût, quel que soit leur type | Le coût de l'évolutivité augmente de façon exponentielle en raison des coûts des fournisseurs |
Utilisateurs prévus | Limité : data scientists | Unifié : data analysts, data scientists, ingénieurs en machine learning | Limité : data analysts |
Fiabilité | Faible qualité, « marécages » de données | Données fiables de haute qualité | Données fiables de haute qualité |
Simplicité d'utilisation | Difficile : l'exploration de données brutes peut être difficile sans outils pour organiser et cataloguer les données | Simple : la simplicité et la structure du data warehouse sont mises au service des cas d'usage plus vastes du data lake | Simple : la structure du data warehouse permet aux utilisateurs d'accéder rapidement et facilement aux données à des fins de rapport et d'analytique |
Performance | Médiocre | Haute | Haute |
Un data lake peut-il remplacer un data warehouse ?
Le data lake et le data warehouse sont deux approches différentes de la gestion et du stockage des données, avec leurs forces et leurs faiblesses respectives. Si le data lake peut compléter le data warehouse en fournissant des données brutes à des fins d'analytique avancée, il ne peut pas remplacer entièrement un data warehouse au sens traditionnel du terme. En revanche, un data lake et un data warehouse peuvent se compléter : le data lake servira de source de données brutes à des fins d'analytique avancée, et le data warehouse fournira une source structurée, organisée et fiable de données commerciales à des fins de rapport et d'analyse.
Un data lakehouse peut-il remplacer un data warehouse ?
Le data lakehouse, en revanche, est une architecture de données moderne qui combine les avantages d'un data warehouse et d'un data lake au sein d'une plateforme unifiée. Un data lakehouse peut remplacer un data warehouse traditionnel parce qu'il réunit les capacités d'un data lake et d'un data warehouse au sein d'une même plateforme.
Le data lakehouse permet de conserver des données brutes dans leur format d'origine, comme avec un data lake, tout en fournissant les capacités de traitement et d'analytique typiques d'un data warehouse. Son approche d'application de schéma à la lecture offre de la flexibilité dans le traitement et l'interrogation des données. Une plateforme qui réunit les atouts d'un data lake et d'un data warehouse offre davantage de flexibilité, d'évolutivité et de rentabilité.
Quelle est la différence entre un data lake et une base de données ?
Une base de données est un repository structuré qui conserve les données selon un schéma prédéfini, optimisé pour le traitement transactionnel et les applications métier. Les bases de données sont conçues pour traiter des données structurées et offrent des capacités d'interrogation et de traitement à la fois rapides, efficaces et fiables.Leur approche consiste à appliquer le schéma au moment de l'écriture. Autrement dit, les données doivent être structurées et définies avant de pouvoir être stockées dans la base de données. Les bases de données sont souvent mises à profit dans des applications de e-commerce, de services bancaires et de gestion d'inventaire, où le traitement transactionnel joue un rôle décisif.
Le data lake est un data repository de données structurées ou non structurées, conçu pour importer et conserver tous les types de données, qu'elles soient structurées, semi-structurées, non structurées, sans aucun schéma prédéfini. Les données, stockées dans leur format natif, ne sont pas nettoyées, transformées ni intégrées. Cela facilite le stockage et l'accès à de grands volumes de données. Les data lakes sont couramment employés à des fins d'analytique avancée et de machine learning. Dans ces applications, l'exploration et la découverte des données sont essentielles pour obtenir des insights et créer des modèles prédictifs.
Quelle est la différence entre un data lake et l'ETL ?
Le data lake et l'ETL (extraction, transformation, chargement) sont deux concepts différents en lien avec la gestion et l'intégration des données. La principale différence réside dans le fait que le data lake est un repository centralisé pour le stockage et le traitement de grandes quantités de données brutes, alors que l'ETL est un processus visant à extraire, transformer et charger les données structurées issues de multiples sources au sein d'un data repository de destination. Un data lake permet de stocker et de traiter tous les types de données, sans schéma prédéfini, tandis que l'ETL sert typiquement à intégrer des données structurées au sein d'un schéma défini.
Les avantages des data warehouses
- Consolidation des données provenant de nombreuses sources : ils jouent le rôle de point d'accès unique pour toutes les données. Les utilisateurs n'ont ainsi plus besoin de se connecter à des dizaines, voire des centaines de dépôts.
- Renseignements historiques. Un data warehouse intègre les données de nombreuses sources et permet de mettre en évidence des tendances historiques.
- Séparation du traitement analytique des bases de données transactionnelles, ce qui améliore les performances des deux systèmes.
- Qualité, cohérence et précision des données. Les data warehouses s'appuient sur une sémantique standard : cohérence des conventions de nommage, codes pour différents types de produits, langues, devises, etc.
Défis des data warehouses
- Pas de prise en charge des données non structurées telles que les images, le texte, les données IoT ou les frameworks de messagerie comme HL7, JSON et XML. Les data warehouses traditionnels ne peuvent accueillir que des données nettoyées et fortement structurées, alors que, selon Gartner, jusqu'à 80 % des données d'une organisation sont non structurées. Les organisations qui veulent exploiter leurs données non structurées pour profiter de la puissance de l'IA devront regarder ailleurs.
- Pas de prise en charge de l'IA et du machine learning. Les data warehouses sont spécifiquement créés et optimisés pour les charges de travail de DWH courantes : rapports historiques, BI et interrogation. Mais ils n'ont jamais été conçus ni pensés pour prendre en charge le machine learning.
- SQL seulement : les data warehouses ne prennent généralement pas en charge les langages Python et R, particulièrement appréciés des développeurs d'applications, des data scientists et des ingénieurs en machine learning.
- Duplication des données : de nombreuses entreprises exploitent des data warehouses et des data marts dédiés à des domaines ou des services spécifiques, en plus de leur data lake. Le résultat : de nombreuses duplications, des processus ETL redondants et aucune source unique de vérité.
- Synchronisation difficile : synchroniser deux exemplaires des données entre le data lake et le data warehouse ajoute une couche de complexité et de fragilité qui est difficile à gérer. Cette dérive des données peut être source d'incohérences dans les rapports et d'erreurs dans les analyses.
- Des formats fermés et propriétaires qui rendent dépendant du fournisseur : la plupart des data warehouses d'entreprise utilisent leur propre format de données plutôt que des formats standards et ouverts. Les utilisateurs se retrouvent étroitement liés à leur fournisseur : il devient difficile, voire impossible, d'analyser les données avec d'autres outils et de les migrer vers d'autres plateformes.
- Coût : les data warehouses commerciaux facturent le stockage des données et l'analyse. Les coûts de stockage et de calcul sont donc étroitement liés. En séparant le calcul et le stockage avec un lakehouse, il devient possible de faire évoluer les deux indépendamment, selon les besoins.
Comment le lakehouse relève-t-il ces défis ?
Les architectures de data lakehouse sont spécifiquement conçues pour relever ces défis en combinant tous les avantages d'un data lake et d'un data warehouse. Découvrez la valeur d'une architecture ouverte de lakehouse avec Databricks.
Le lakehouse Databricks pour l'entreposage des données
Pour créer un lakehouse performant, les organisations misent sur Delta Lake, une couche de gestion et de gouvernance des données open source et en format ouvert qui réunit les avantages des data lakes et des data warehouses. La plateforme lakehouse de Databricks utilise Delta Lake pour offrir :
- Des performances record de data warehouse pour le prix d'un data lake.
- Du calcul SQL serverless qui évite toute gestion d'infrastructure.
- Une intégration transparente avec la pile de données moderne, telle que dbt, Tableau, PowerBI, Fivetran, pour importer, interroger et transformer les données in situ.
- Une expérience de développement SQL de premier ordre pour tous les professionnels des données de votre organisation, avec prise en charge de l'ANSI-SQL.
- Une gouvernance détaillée avec data lineage, balisage au niveau des tables et des lignes, contrôle d'accès basé sur les rôles et plus encore.
Ressources complémentaires
- Page produit de Databricks SQL
- Ebook : Pourquoi le lakehouse est-il votre prochain data warehouse ?
- Databricks établit un record officiel de performance pour l'entreposage des données
- Databricks est nommé parmi les leaders du Magic Quadrant 2021 de Gartner dans la catégorie des plateformes de data science et de machine learning
- Bill Inmon – Création du data lakehouse