Sélectionner une page

Quelle est la différence entre un DataWarehouse, un DataLake et un Data Lakehouse ?

Si vous vous intéressez aux métiers de la data, vous avez nécessairement entendu parler de DataLake, DataWarehouse ou encore de Data LakeHouse. La compréhension de ces trois notions est un must have pour saisir les différents enjeux data des entreprises.

DataLake et DataWarehouse sont deux notions de l’architecture IT des entreprises. Souvent confondus, ces deux types de stockage de données ont en réalité plus de différences que de points communs. Il s’agit dans les deux cas :

  • d’outils de stockage de données ;
  • dont l’objectif consiste à créer une “single source of truth” de données centralisée prête à alimenter différentes applications.

La plus grande différence entre un DataLake et un DataWarehouse est la différence de structure entre les données qu’ils peuvent accueillir. Le premier accepte tout type de données quand le deuxième est restreint aux données structurées.

Enfin, les Data Lakehouse sont plus récents et tentent de réconcilier les deux concepts en prenant le meilleur des deux mondes.

L’objectif de cet article est de définir ces trois outils et de comprendre leur utilité selon les situations.

1. Les DataWarehouses

Un data Warehouse allie capacité de stockage et de calcul. Il sert à collecter, centraliser puis analyser les données en provenance de multiples sources. Le schéma d’un DataWarehouse est défini et structuré avant le stockage, ils stockent des données transformées et nettoyées. Autrement dit, dans un DataWarehouse, l’essentiel de la préparation des données a généralement lieu avant le traitement.

Un DataWarehouse nécessite que les données soient organisées sous forme de table pouvant ensuite être requêtées grâce à des requêtes SQL.

L’accessibilité aux données est donc simple car les données sont structurées mais cela implique une certaine rigidité dans le format des données acceptées.

Exemples de DataWarehouses :

  • Snowflake ;
  • Microsoft Azure SQL DataWarehouse ;
  • Amazon Redshift.

2. Les DataLakes

Contrairement aux DataWarehouses, les DataLakes stockent des données de tout type :

  • non structurées (images, vidéos) ;
  • semi-structurées (json) ;
  • structurées (csv, txt).

Généralement les données stockées dans le datalake sont des données brutes (ie non-transformées). L’objectif du datalake est de centraliser un maximum d’informations pour ne pas avoir de perte et ainsi offrir le maximum d’opportunités dans leurs exploitations, par exemple pour les data scientists. L’inconvénient est que sans une bonne gouvernance, le datalake peut vite devenir chaotique et il devient difficile d’accéder aux données qui nous intéresse ; on parle parfois de dataswamp.

Exemples de DataLakes :

  • Cluster Hadoop avec HDFS pour le stockage, YARN pour la réplication des données et MAP REDUCE pour le traitement ;
  • Microsof Azure avec Azure Data Lake Store (ADLS) pour le stockage ou bien Microsoft Azure Blob Storage , Azure Data Lake Analytics et HDInsight pour la couche d’analyse ;
  • Amazon AWS avec Amazon S3 pour le stockage, DynamoDB pour la base de données et Elastic Search pour le service d’interrogation.

3. Les Data Lakehouses

Un Data Lakehouse offre la flexibilité et la rentabilité d’un DataLake avec les capacités de requêtage rapide d’un Data Warehouse. Les Data Lakehouses fournissent généralement une prise en charge de l’ingestion de données par le biais de diverses méthodes, (API, streaming, etc.) ces données atterrissent dans leur forme brute sans nécessiter de définition de schéma. Un Data Lakehouse fournit également une couche de stockage rentable pour les données structurées et non structurées. Par conséquent, il contient toutes les données d’une organisation.

Dans un modèle de Data Lakehouse, les organisations migrent d’abord les données des sources vers un DataLake. Ensuite, un sous-ensemble de ces données est filtré de manière transparente pour devenir des ensembles de données plus organisés et fiables sur lesquels les organisations définissent les règles de gouvernance, d’utilisation et d’accès requises.

Bien que les spécificités des Data Lakehouses diffèrent en fonction des objectifs commerciaux et des cas d’utilisation, ils offrent des avantages comme :

  • Une Redondance réduite puisqu’il combinent DataWarehouse et DataLake, les données sont stockées au même endroit ;
  • Un Contrôle des coûts facilité car ils offrent la même rentabilité que les DataLakes ;
  • Une gouvernance améliorée car la priorité est donnée à la sécurité des données, les utilisateurs travaillent uniquement avec la donnée dont ils ont besoin.

Exemples de Data Lakehouses :

  • Databricks  

4. Conclusion

Pour résumer, les DataWarehouses et les DataLakes ont tous les deux des usages différents. Le premier est utilisé principalement avec des données avec comme but de l’analytics quand le deuxième permet de réunir le maximum d’information possible et ainsi « ne rien perdre ». Il est courant de voir les deux utilisés de manière complémentaire dans les entreprises.

 

Néanmois leur utilisation sera surement perturbée par l’arrivée des Data LakeHouses. Leur objectif étant de réunir le meilleur des deux mondes, il est possible que nous assistions dans les prochaines années au remplacement des Datawarehouse et Datalakes au profit de cette nouvelle architecture, plus « optimisée ».