vectorfusionart - Fotolia
Entrepôt de données, Data Lake, Data Mart, ODS : que choisir ?
Il existe de nombreuses façons de stocker des données en volume, mais choisir la bonne technologie est une épreuve de force. Comment savoir si un entrepôt de données, un lac de données ou un data mart convient ? Cet article vous permet de les comparer afin de vous aider dans votre prise de décision.
L’énorme quantité de données que les entreprises collectent et ont collecté à partir de sources hétérogènes va bien au-delà de ce que les bases de données relationnelles traditionnelles peuvent ingurgiter et gérer. De là se pose alors une question essentielle, née d’une diversité grandissante des technologies sur le marché de la donnée : entrepôt de données ou lac de données ? A quels cas d’usages les associer et comment chacun se distinguent-ils par rapport aux autres data stores opérationnels, data marts ou bases de données relationnelles. ?
Tous ces référentiels et dépôts de données ont une fonction cœur identique : héberger les données pour la création de rapports et l'analyse métier. Mais leur finalité, les types de données qu'ils stockent, la source des données et qui peut y accéder, constituent autant de critères qui les différencient.
En général, les données entrent dans ces référentiels depuis des systèmes générateurs des données, comme les CRM, ERP, RH ou applications financières. Les enregistrements (records) créés à partir de ces systèmes sont gérés à partir de ces règles, puis envoyés vers un entrepôt de données, un lac de données ou une autre zone de stockage.
Une fois que toutes les données des applications sont rassemblées sur une seule plateforme, elles peuvent donc être utilisées dans des outils d'analyse pour identifier les tendances ou aider à la prise de décision.
Entrepôt de données vs lac de données
Un entrepôt de données est préféré à un lac de données (Data Lake) lorsque les entreprises disposent d'une quantité massive de données provenant de systèmes opérationnels et que ces données doivent être facilement accessibles pour l'analyse. Les entrepôts de données servent souvent de source unique de vérité parce qu’ils stockent des données historiques qui ont été nettoyées et catégorisées.
Alors qu’un entrepôt de données conserve d'énormes quantités de données provenant de systèmes opérationnels, un lac de données stocke des données provenant d'un plus grand nombre de sources. Il s'agit essentiellement d'un ensemble de données brutes provenant des systèmes opérationnels d'une entreprise et d'autres sources.
Parce que les données à l'intérieur des lacs de données n’ont généralement pas été sélectionnées et peuvent provenir de sources extérieures aux systèmes opérationnels de l'entreprise, ce n'est pas un bon choix pour l'utilisateur métier moyen qui effectue régulièrement des analyses ; les lacs de données sont en revanche le terrain de jeu des data scientists et d'autres experts en analyse de données.
Pour se souvenir de la différence entre un entrepôt de données et un lac de données, imaginez un entrepôt et un lac : les entrepôts stockent des marchandises sélectionnées provenant de sources spécifiques, tandis qu’un lac est alimenté par des rivières, des ruisseaux et d'autres sources, et le contenu est brut.
Dans les fournisseurs d'entrepôts de données, on retrouve AWS, Cloudera, IBM, Google, Microsoft, Oracle, Teradata, SAP, SnapLogic et Snowflake, pour n’en citer que certains. Des lacs de données sont disponibles auprès d’AWS, Google, Informatica, Microsoft, Teradata, par exemple.
Cliquez sur l'image ci-dessous pour télécharger le tableau "Où placer ses données et pour quels usages ?"
Entrepôt de données vs Data mart
Les data marts sont souvent confondus avec les entrepôts de données, mais les deux servent à des fins très différentes.
Un data mart est généralement un sous-ensemble d'un entrepôt de données. Les données qu'il contient proviennent souvent d'un entrepôt de données - bien qu'elles puissent provenir d'une autre source. Les données envoyées à un data mart ont été sélectionnées et triées pour une communauté spécifique d'utilisateurs - les équipes commerciales par exemple - afin de leur permettre de trouver rapidement les données dont ils ont besoin. Les données y sont conservées à des fins spécifiques, comme l'analyse financière.
Les data marts sont également beaucoup plus petits que les entrepôts de données – ils contiennent des dizaines de gigaoctets par rapport aux centaines de gigaoctets, voire aux pétaoctets de données qui peuvent être conservés dans un entrepôt de données.
Les data marts peuvent être construits à partir d'un entrepôt de données existant ou d'un autre système de source de données en mettant en place la table de base de données et en la remplissant de données pertinentes. On décide également qui a le droit d’y accéder.
Entrepôts de données vs bases opérationnelles
Un entrepôt de données opérationnel (ODS – Operational Data Store) est un type de base de données qui sert de zone d'attente provisoire pour toutes les données qui sont sur le point d’intégrer l'entrepôt de données. Pensez au quai de chargement d’un entrepôt, où les marchandises sont livrées et vérifiées. Pendant qu'elles se trouvent dans l'ODS, les données peuvent être nettoyées et leur conformité vérifiée à partir de règles de gestion avant de peupler l'entrepôt de données.
Il est possible d'interroger les données de l'ODS, mais les données qui s'y trouvent sont transitoires, de sorte qu'il ne fournit que des informations sur, par exemple, l'état d'une commande d'un client en cours de traitement.
Un ODS est généralement exécuté sur un système de gestion de base de données relationnelle ou sur la plateforme Hadoop. Les données sont apportées à l'ODS via des outils d'intégration et d'ingestion de données, tels qu’Attunity Replicate ou Hortonworks DataFlow.
Bases de données relationnelles vs entrepôts de données et lacs de données
La principale différence entre un entrepôt de données et une base de données relationnelle est que cette dernière est utilisée pour stocker et organiser des données structurées provenant d'une source unique, comme un système transactionnel. Les entrepôts de données sont quant à eux construits pour stocker des données structurées provenant de sources multiples. Les lacs de données diffèrent des deux en ce qu'ils stockent des données non structurées, semi-structurées et structurées.
Les bases de données relationnelles sont relativement simples à créer et peuvent être utilisées pour stocker et organiser les données transactionnelles. Leur inconvénient : elles ne prennent pas en charge les données non structurées ou les quantités massives de données générées par les technologies modernes. Cela nous amène à la question du choix entre l'entrepôt de données et le lac de données. Même si beaucoup d’entreprises continuent d’utiliser des bases de données relationnelles pour l'analyse des données opérationnelles ou l'analyse des tendances.
Les bases de données relationnelles disponibles sur site ou dans le cloud sont Microsoft SQL Server, Oracle Database, MySQL et IBM DB2, ainsi qu’Amazon Relational Database Service, Google Cloud Spanner, parmi tant d’autres.