Architecture et patterns Data

Pattern Data

DataWareHouse (entrepôt)

Le datawarehouse 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 datawarehouse est encadré par 4 principes :

  • Orioneté sujet : les données y sont organisées par thème (marketing, ventes, inventaire, ressource humaine...)
  • 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 ne sont pas modifiées ou supprimées
  • Chronologique: un datawarehouse doit permettre d'analyser l'évolution d'une données dans le temps graçce à une historisation

Solution : Terradata

DataMart

Un « data mart » est une base de données dont le contenu est en rapport avec une activité de l'entreprise et qui est créée pour répondre aux besoins spécifiques d'un groupe d'utilisateurs. Il s'agit souvent (mais pas toujours) d'un segment partitionné dans le data warehouse de l'entreprise

Solution : table dans terradata ou postgresql

DataLake

Un lac de données est une méthode de stockage de données massives utilisée par le big data. Ces données sont gardées dans leurs formats originaux ou sont très peu transformées

Solution : Cloudera, Hadoop
=> Cloudera : quelle est la différence ? Apache Hadoop est une technologie de traitement de données gratuite et open source qui utilise un réseau d'ordinateurs pour traiter des données volumineuses via le modèle de programmation MapReduce. Cloudera propose une plateforme commerciale basée sur Hadoop, accessible par abonnement payant

DataRoom

un espace digitale ou un site ou on peut partager des fichiers des données.

Use case : une société veut partager des fichiers avec des partenaires externes sans leur donner l'accès au SI

Solution : DataSite, VDR (Citrix ou)

DataLayer

DataLayer est une structure de données qui contient idéalement toutes les données que l'on souhaite traiter et transmettre d'un site site web à d'autres applications intégrant votre écosystème digital

Usecase: Dans un SI, les données sont organisées dans des domaines et chaque domaine est responsable de ses applications. il se trouve qu'une application a besoin d'une agregation et affichage en temps réel de ces données. le fait que cette application appelle plusieurs sources de données peut créer des problèmes de latances, intégrité de données... La solution est de préparer une base de données qui est allimentée avec une fréquence déterminée par batch ou CDC.... et avec une vue adaptée à l'application.

DataGateway

Une Data Gateway en Big Data est un point d’entrée ou un proxy sécurisé entre des sources de données (ou producteurs) et les systèmes analytiques (ou consommateurs).
Elle permet de gérer, filtrer, transformer, sécuriser ou monitorer les flux de données avant qu’ils n'atteignent les systèmes de stockage ou de traitement

La fonction : Ingestion, filtrage, sécurité, contrôle d'accès

Exemple d'architecture:
[Sources de données]

[Data Gateway] ← (auth, filtres, logs, quotas)

[Kafka / Data Lake / Stream Processor]

[Data Warehouse / Data Lake / Analytics Tools]

Solutions :Apache NiFi, Fluentd, API Gateway, Knox, Kafka Connect

DataHub

Plateforme centrale de partage, gouvernance et diffusion des données

La fonction : Mise en commun, catalogage, publication et découverte des données

UseCase:

  • Un analyste cherche un dataset client dans le catalogue.
  • Il consulte sa description, son owner, son schéma, sa qualité.
  • Il demande l’accès ou l’importe dans un notebook Spark.

Solutions: DataHub (LinkedIn), Talend Data Fabric, SAP Data Hub, Atlan

DataCatalog

Un Data Catalog est comme un "Google interne" pour toutes les données de l'entreprise : il te dit ce qu’il y a, où c’est, à quoi ça sert, et qui peut l’utiliser. Le datacatalog est 🧠 Clé pour les approches data-driven, gouvernance et data mesh

Les fonctions:

  • Recherche de données : Trouver des datasets via mots-clés, tags, colonnes, description, etc.
  • Documentation / métadonnées: Stocke les infos sur les données : type, origine, format, propriétaire…
  • Gouvernance des données: Gère les rôles, les accès, la confidentialité, les politiques RGPD/DAM.
  • Lineage des données: Visualise le flux des données : d’où elles viennent, où elles vont
  • Notation / qualité: Indique la qualité perçue ou mesurée d’un dataset (notes, validation)
  • Collaboration: Permet de commenter, annoter, partager des jeux de données

UseCase:

  • Tu es data analyst et tu veux trouver un dataset clients fiable ? → Tu le recherches dans le catalogue.
  • Tu es data steward et tu veux documenter les colonnes sensibles d’une table ? → Tu le fais dans le catalogue.
  • Tu veux savoir si une donnée est encore à jour ou qui l’a modifiée ? → Le catalogue te montre son lineage.

Les solutions:

Outils open source Outils commerciaux
DataHub (LinkedIn) Collibra
Amundsen (Lyft) Alation, Informatica
OpenMetadata Google Data Catalog
Metacat Microsoft Purview

Data Factory

Définition technique :
ETL (Extract, Transform, Load) moderne qui permet de :

Connecter plusieurs sources de données (bases SQL, fichiers, APIs, etc.).

Transformer les données.

Charger les données dans des entrepôts ou des data lakes.

Orchestrer des flux de données (pipelines).

Défintion Organisationnelle:
Il s'agit d'une structure dédiée aux projets data, regroupant des experts tels que :

Data Engineers (ingénieurs de données)

Data Scientists

Data Analysts

Architectes Data

Chefs de projets Data

Elle a pour mission de :

Industrialiser les traitements de données.

Créer des pipelines de données (collecte, transformation, stockage).

Mettre à disposition des jeux de données fiables pour les métiers.

Soutenir les projets d’intelligence artificielle et de business intelligence.

En résumé :

Data Factory (organisation) : une "usine à données" interne à une entreprise.

Data Factory (outil) : une solution logicielle pour automatiser les flux de données.