Buinsoft
Retour au blog
DataDWH

Qu'est-ce que l'architecture d'un entrepôt de données (DWA) ?

B
Buinsoft TeamAuteur
Dec 4, 2024
Qu'est-ce que l'architecture d'un entrepôt de données (DWA) ?

Architecture d'entrepôt de données

Avant d'aborder l'architecture d'un entrepôt de données, il est essentiel de comprendre ce qu'est un entrepôt de données. Bill Inmon, considéré comme le « père de l'entreposage de données », le définit comme suit : « Une collection de données orientée sujet, intégrée, temporelle et non volatile, destinée à faciliter la prise de décision par la direction. » Cette définition concise saisit l'essence même de l'entreposage de données et a des implications considérables dans le monde des données. Analysons-la plus en détail.

Caractéristiques clés d'un entrepôt de données

  • Axé sur le sujet
Un entrepôt de données organise les données autour de thèmes centraux tels que les ventes, les clients ou les stocks, plutôt que selon des systèmes sources individuels. Ceci garantit une vision unifiée et globale de chaque sujet, permettant une meilleure analyse et un reporting plus efficace. Par exemple, toutes les données de vente, quelle que soit leur source, peuvent être regroupées logiquement pour permettre aux utilisateurs d'explorer en détail les tendances des ventes.
  • Intégré
Les données provenant de multiples systèmes sources, tels que les plateformes CRM, ERP ou de commerce électronique, sont normalisées et harmonisées dans l'entrepôt de données. Par exemple, ce dernier garantit la cohérence en unifiant différents formats comme « California » et « CA ».
  • Variante temporelle
Contrairement aux bases de données transactionnelles qui se concentrent sur les données actuelles, un entrepôt de données stocke les données historiques sur de longues périodes. Cela permet aux entreprises d'analyser les tendances, de prédire les résultats et d'effectuer des analyses avancées telles que la modélisation par IA/ML.
  • Non volatil
Une fois stockées dans un entrepôt de données, les données ne sont ni écrasées ni supprimées. Cette stabilité garantit des analyses cohérentes et fiables. Les données existantes restent inchangées lors de l'ajout de nouvelles données, préservant ainsi l'intégrité de l'historique.

Le rôle de l'architecture d'entrepôt de données

L'architecture d'un entrepôt de données constitue la structure de base qui permet la consolidation, le stockage et l'analyse de grands volumes de données. Elle intègre des systèmes hétérogènes au sein d'un cadre cohérent et favorise la prise de décision fondée sur les données. Cette architecture offre une conception agile qui soutient la veille stratégique, l'analyse de données et la production de rapports en libre-service. Toute organisation, qu'elle l'ait conçue consciemment ou non, possède une architecture d'entrepôt de données. Cependant, une architecture inefficace peut nuire aux performances, à l'évolutivité et à l'accès aux données.

Couches principales de l'architecture d'un entrepôt de données

Un entrepôt de données bien conçu se compose de plusieurs couches fonctionnelles, chacune ayant une fonction spécifique. Les couches les plus courantes sont :
  • Couche source : Il s’agit du point d’entrée où les données sont collectées à partir de divers systèmes d’information (SI). On peut citer comme exemples les systèmes de point de vente, les plateformes CRM et les progiciels de gestion intégrée (PGI). Les formats de données et les méthodes d’ingestion peuvent varier considérablement selon la source.
  • Couche de transit : La couche de transit sert de dépôt temporaire pour les données brutes avant leur transformation. Durant cette phase, aucune logique métier ni transformation n’est appliquée afin de garantir l’intégrité des données d’origine. Il est essentiel que les données de transit ne soient pas utilisées pour l’analyse tant qu’elles n’ont pas été nettoyées, modélisées et validées.
  • Couche d'entrepôt de données : Il s'agit du hub de stockage central où les données sont organisées par sujet, intégrées, temporelles et non volatiles. Les schémas physiques, les tables, les vues et les procédures y résident afin de permettre des requêtes et une récupération efficaces.
  • Couche de consommation ( ou couche analytique) : c’est là que les données sont modélisées pour les outils destinés aux utilisateurs finaux. Les analystes métier, les data scientists et les outils de reporting utilisent cette couche pour la visualisation, l’exploration et l’analyse avancée.

Méthodes d'ingestion et de transformation des données

Traitement par lots

Les données sont traitées en grands volumes à intervalles réguliers. Bien que fiable et largement utilisé, le traitement par lots peut engendrer de la latence et nécessiter d'importantes ressources de calcul.

Données en continu

Le traitement en flux continu traite les données en temps réel ou quasi réel dès leur génération. Il est idéal pour des applications telles que l'analyse en temps réel ou les systèmes de surveillance. Contrairement au traitement par lots, le traitement en flux continu offre des informations immédiates, mais sa mise en œuvre peut s'avérer plus complexe.

Capture des données modifiées (CDC)

Le CDC suit les modifications apportées aux systèmes sources, telles que les enregistrements nouvellement créés ou mis à jour, et n'ingère que les données modifiées. Cette méthode garantit une synchronisation efficace des données et minimise les traitements redondants.

Partage de données

Les plateformes modernes comme Snowflake permettent de partager des données sans duplication. Le partage en temps réel favorise une analyse collaborative et évolutive au sein d'équipes ou d'organisations distribuées.

Composants architecturaux d'un entrepôt de données

Processus ETL et ELT

ETL (Extraction, Transformation, Chargement)

Les données sont extraites, transformées pour répondre à la logique métier, puis chargées dans le système cible. Bien que fiable, l'ETL peut rencontrer des difficultés en matière de performance et d'évolutivité.

ELT (Extraire, Charger, Transformer)

L'approche moderne consiste à charger d'abord les données brutes dans la couche de transit, puis à les transformer. Les plateformes cloud comme Snowflake et Databricks utilisent ELT pour une meilleure évolutivité et des performances accrues.

Services de métadonnées

Les métadonnées, ou « données sur les données », fournissent le contexte et la traçabilité des données d'un entrepôt de données. Elles facilitent la modélisation, le catalogage et la surveillance efficaces des données, garantissant ainsi aux utilisateurs la compréhension de leurs propriétés et de leur historique.

Moteurs d'exécution

Les moteurs d'exécution traitent les requêtes et les transformations, généralement à l'aide de SQL ou de langages propriétaires. Les plateformes modernes prennent en charge l'intégration avec Python, R et les outils d'apprentissage automatique pour permettre des analyses avancées.

Services d'entreposage

Les systèmes de stockage hébergent toutes les données : brutes, intermédiaires et modélisées, garantissant un partitionnement, une réplication, une compression et une gestion du cycle de vie efficaces. Les plateformes cloud comme Amazon Redshift, Google BigQuery et Snowflake optimisent le stockage pour une évolutivité et une rentabilité optimales.

Gouvernance et sécurité

Des protocoles de gouvernance et de sécurité robustes, notamment l'authentification, le contrôle d'accès basé sur les rôles (RBAC), le chiffrement et le masquage des données, sont essentiels pour protéger les informations sensibles.

Et ensuite ?

Comprendre ces couches et composants fondamentaux est la première étape pour évaluer ou concevoir l'architecture de votre entrepôt de données. Voici quelques questions clés à se poser :
  • Utiliserez-vous le traitement par lots, le streaming ou le CDC pour l'ingestion des données ?
  • Vos données sont-elles préparées avant transformation ?
  • Faut-il passer d'ETL à ELT pour de meilleures performances ?
  • Quels moteurs d'exécution répondent le mieux à vos besoins analytiques ?
  • Vos mesures de gouvernance et de sécurité sont-elles exhaustives à tous les niveaux ?
Restez à l'écoute pour découvrir d'autres informations sur les architectures d'entrepôts de données multi-niveaux. Nous y verrons comment adapter votre architecture aux besoins de votre organisation et favoriser l'analyse en libre-service. En tenant compte de ces aspects, vous serez mieux armé pour concevoir un entrepôt de données qui fournit des informations évolutives, fiables et exploitables.