Data Manager
Le monde de la data évolue très rapidement et il est très facile de se perdre dans tous les termes techniques qui fleurissent au gré des progrès. Un signe de cette évolution rapide est l’utilisation des termes anglais pour décrire des méthodologies ou techniques.
Dans cet article je vous propose un guide pour comprendre ce que sont les Data Warehouse, Data Lake et Data Mart qui font références aux systèmes de stockage et d’organisation des données. Ils ont chacun des particularités et des cas d'utilisation distincts.
Nous explorerons dans cette mini-séries les attributs essentiels de chaque méthode, leurs différences et les choix techniques qui justifient leurs utilisations et configurations.
Tout d’abord, quelques définitions inspirées de William H. Inmon, informaticien des États-Unis, reconnu par beaucoup comme le père du concept de Data Warehouse.
Qu'est-ce qu'un Data Warehouse ?
💡 Un Data Warehouse ou entrepôt de données est une base de données relationnelle conçue pour les requêtes analytiques.
Défini par Bill Immon comme un référentiel centralisé, le concept de Data Warehouse est encadré par ces quatre critères :
- Orienté sujet : les données y sont organisées par thèmes (ex : marketing, ventes, inventaire, ressources humaines)
- Intégré : les données hétérogènes provenant de sources disparates sont intégrées de manière cohérente et prêtes à être utilisées.
- Non-volatiles : les données du data warehouse ne sont jamais modifiées ou supprimées.
- Chronologique : un data warehouse doit permettre d’analyser l’évolution d’une donnée dans le temps grâce à une historisation.
À l’inverse d’une simple base de données qui collecte et stocke les données, le Data Warehouse rassemble et consolide toutes les données de l’entreprise en un point unique. Il intègre en général un processus d’intégration de type ETL (Extract, Transform and Load). L’ETL permet l’extraction des données de sources variées (exemple : API, ERP, outils CRM), leur transformation et leur standardisation pour alimenter le Data Warehouse de manière régulière.
Le concept clé du Data Warehouse est de permettre aux utilisateurs d'accéder à une version unifiée de la vérité pour permettre la prise de décision, la création de rapports ou la construction de modèles de prédiction.
Les Data Warehouses offrent aussi un degré fin d'autorisations pour les utilisateurs et de contrôle d'accès, une caractéristique essentielle de la gouvernance des données.
Qu'est-ce qu'un Data Mart ?
Un Data Mart est un sous-ensemble du Data Warehouse destiné à un groupe restreint d'utilisateurs.
💡 Le Data Mart est orienté métier et regroupe toutes les informations spécifiques à un sujet, une fonction ou un métier. Il constitue un compartiment de données structurées et organisées et structurées pour servir une communauté spécifique et répondre à des besoins métier précis.
Ce concept a également été défini par Bill Inmon comme un flux de données provenant du Data Warehouse, ayant pour vocation de présenter la donnée de manière spécialisée, agrégée et regroupée fonctionnellement.
Cette structure organisationnelle cloisonnée au sein d'un Data Warehouse qui contient des données agrégées provenant d'un plus petit éventail de sources a pour but de rendre l'analyse pratique et accessible à des équipes et unités commerciales spécifiques.
En fonction de la manière dont une organisation met en œuvre sa technologie et organise son équipe d'analyse, les spécificités de la propriété et de l'accès pour un Data Mart peuvent varier. Dans certains cas, les équipes et les unités commerciales peuvent être entièrement responsables de leurs propres Data Marts, et ceux-ci peuvent effectivement être cloisonnés. Dans d'autres cas, les limites et l'accès peuvent être plus lâches.
Tout comme le Data Warehouse, le Data Mart s'intègre facilement aux plateformes de business intelligence.
Qu'est-ce qu'un Data Lake ?
Les Data Warehouses et les Data Marts reposent sur l'hypothèse que les données d'entreprise importantes sont structurées. Les données structurées contiennent des formats prévisibles, sont facilement interprétées par une machine et peuvent être stockées dans une base de données relationnelle. Un Data Lake, en revanche, est un magasin d'objets ou de fichiers qui peut facilement accueillir un grand volume de données brutes et non structurées telles que du texte de forme libre, des images, des vidéos et d'autres médias, ainsi que des données structurées.
L'utilisation la plus élémentaire d'un lac de données est le stockage de manière complète d'énormes volumes de données avant de décider quoi en faire. Dans cette approche, le Data Lake est une zone de transit vers le Data Warehouse. Une autre utilisation qui commence à faire ses marques consiste à entraîner des modèles de machine learning à l'aide du très grand ensemble de données d'apprentissage non structurées contenu dans le Data Lake.
Le principal inconvénient du Data Lake est son « obscurité ». Il peut être complet mais son contenu est généralement difficilement accessible et exploitable avec des outils classiques ce qui le rend généralement inadapté à une utilisation par les analystes.
🔎 Du point de vue de la gouvernance des données, les lacs de données n'offrent pas un niveau fin de permission utilisateur et de contrôle d'accès.
Enfin, un Data Lake exceptionnellement désorganisé et mal géré peut rapidement devenir opaque et se transformer alors en un Data Swamp (marais de données).
💡 L’avantage du Data Lake, comparé au Data Warehouse est sa capacité à stocker de grandes quantités de médias tels que des documents, des images, des vidéos et de l'audio. Ces supports de données peuvent alors ensuite servir d'ensembles d’apprentissage et de validation pour les modèles de machine learning traitant par exemple des problèmes de reconnaissance vocale ou de vision par ordinateur.
Et ensuite ?
Les évolutions récentes des modèles de stockage de données s'attèlent à combiner les caractéristiques du Data Warehouse et du Data Lake. L’objectif est une meilleure gestion de l’opacité du Data Lake, et la prise en charge d’outils et de langages de la data science opérant sur des données moins structurées et généralement associés à des Data Lakes tels qu'Apache Spark et Python.
💡 Un référentiel de données combinant les caractéristiques d'un Data Lake et d’un Data Warehouse s’appelle un Data Lakehouse.
Dans un prochain article, nous nous pencherons sur les différentes configurations et sur les cas d’utilisation des systèmes de Data Warehouse, Data Mart et Data Lake !