Glossaire
Définitions brèves des termes employés dans ce document, classées par domaine puis par ordre alphabétique. Les termes anglais sont conservés lorsque l’usage professionnel les a imposés ; l’équivalent français est alors indiqué.
Métier et cycle de vie
Backfill (reprise historique) Rechargement de données passées après correction d’une erreur de traitement ou ajout d’un champ. Suppose que les données brutes n’ont pas été écrasées et que les traitements sont paramétrés par période.
Cycle de vie de la donnée Enchaînement génération, ingestion, stockage, transformation, mise à disposition, traversé par les disciplines transverses. Le stockage est aussi un socle : la donnée y est conservée à l’état brut, entre les transformations et comme produit. Formalisation due à Reis et Housley.
Data engineering (ingénierie des données) Conception, exploitation et maintenance des systèmes qui transforment des données brutes en produits utilisables par l’analyse, le machine learning et l’intelligence artificielle.
DataOps Transposition au domaine des données des pratiques d’intégration continue, de tests automatisés et de supervision.
Event time, ingestion time, processing time Trois horodatages distincts d’un même événement : le moment de l’action, celui de son arrivée dans la chaîne, celui de son traitement. Les confondre fausse toute analyse temporelle.
Génération Première étape du cycle de vie, où les données naissent dans les systèmes sources. Rarement contrôlée par l’ingénieur, qui en subit les contraintes.
Gouvernance des données Ensemble des règles et dispositifs assurant la qualité, la documentation, la traçabilité et la conformité réglementaire des données.
Ingestion Collecte des données depuis leurs sources et centralisation dans une infrastructure commune, avec pour objectif le découplage des producteurs et des consommateurs.
Late-arriving data (données en retard) Événements parvenant à la chaîne longtemps après leur event time, par exemple après une coupure réseau. Impose une politique explicite de retraitement.
Mise à disposition (serving) Étape du cycle de vie qui rend les données accessibles aux utilisateurs et systèmes aval, dans des systèmes optimisés pour l’interrogation.
Orchestration Ordonnancement des traitements, gestion de leurs dépendances, de leurs échecs et de leurs reprises.
Produit de données (data product) Table ou jeu de données publié avec une finalité, un propriétaire, un contrat (grain, schéma, fraîcheur, qualité) et des objectifs de service. Une table techniquement correcte n’est pas encore un produit.
Reverse ETL (réinjection métier) Renvoi des résultats d’analyse (scores, segments, prévisions) depuis le datawarehouse vers les outils opérationnels.
SLI, SLO, SLA Indicateur observé (SLI), objectif interne (SLO) et engagement formel (SLA). Pour un produit de données interne, un SLO mesurable est en général plus utile qu’une promesse vague de fraîcheur.
Stockage Étape du cycle de vie qui fixe formats, technologies, partitions et rétention. C’est aussi un socle transversal : brut, résultats intermédiaires et produit final y sont conservés.
Transformation Étape du cycle de vie qui nettoie, normalise, enrichit et restructure les données pour les rendre exploitables.
Undercurrents (disciplines transverses) Les six exigences permanentes du cycle de vie : sécurité, gestion des données, DataOps, architecture, orchestration, ingénierie logicielle.
Architectures et traitements
Traitement batch Job qui démarre sur un jeu borné (une fenêtre, un fichier), produit un résultat, puis s’arrête. Fraîcheur de quelques minutes à un jour selon le planning. Le rejeu consiste à relancer le job.
Streaming Job qui ne s’arrête pas : il met à jour le résultat au fil des arrivées, souvent dans des fenêtres. Fraîcheur de l’ordre de la milliseconde à la seconde. Il faut gérer l’état, l’ordre, les retards et la reprise. Souvent appelé « temps réel » en entreprise, sans désigner le temps réel dur des systèmes de contrôle.
Micro-batch Petits paquets traités toutes les quelques secondes ou minutes. Compromis fréquent pour un tableau de bord dit « live ».
Borné / non borné (bounded / unbounded) Une entrée bornée a une fin connue ; une entrée non bornée continue d’arriver. Ce n’est pas synonyme de batch ou de streaming : un flux continu peut alimenter un job batch horaire.
CDC (Change Data Capture) Capture des modifications (insertions, mises à jour, suppressions) directement depuis le journal d’une base source, afin de les propager sans interroger la base elle-même.
Chargement complet (full load) Rechargement intégral d’une table à chaque exécution. Simple à mettre en œuvre, coûteux à grande échelle.
Chargement incrémental Ajout des seules lignes nouvelles depuis la dernière exécution. Suppose un critère fiable pour identifier ces nouveautés.
Data Lake (datalake) Infrastructure de stockage objet, centralisée et scalable, qui ingère, conserve et sert des données de toute nature (structurées, semi-structurées, non structurées) dans leur format natif. Modèle schema-on-read : la structure est appliquée à l’usage, pas à l’ingestion. Stockage et calcul sont découplés (sur GCP : Cloud Storage, lu par Dataflow, Dataproc ou BigQuery). Le tarif suit la température des objets. Économique et souple, à condition d’être gouverné.
Data mesh Organisation décentralisée dans laquelle la responsabilité des données revient aux domaines métier, avec gouvernance fédérée et contrats explicites. Choix d’organisation avant d’être une technologie.
Data swamp (marécage de données) État d’un datalake devenu inexploitable faute de nommage, de catalogue et de règles de cycle de vie.
Data Warehouse (datawarehouse) Système de stockage et d’analyse qui structure, agrège et interroge des volumes importants déjà nettoyés et modélisés, pour les décisions métier. Modèle schema-on-write : tables, colonnes, types et contraintes sont fixés avant le chargement. Les données viennent souvent du Data Lake. Optimisé pour l’OLAP. Sur GCP : BigQuery, moteur analytique serverless.
DLQ (dead letter queue, file des messages en échec) File dédiée recevant les messages qu’une chaîne n’a pas pu traiter, pour les examiner plutôt que de les perdre silencieusement.
ELT (Extract, Load, Transform) Chargement des données brutes puis transformation dans le système de destination. Approche fréquente sur les plateformes cloud capables de stocker et de transformer les données à grande échelle.
ETL (Extract, Transform, Load) Transformation des données avant leur chargement. Reste préférable lorsque la donnée ne doit pas entrer brute, notamment pour des raisons réglementaires.
Idempotence Propriété d’un traitement dont deux exécutions produisent le même résultat qu’une seule. Condition de toute reprise sur échec.
Lakehouse Même stockage objet qu’un Data Lake, plus une couche table ouverte (Delta Lake, Apache Iceberg) qui apporte ACID, schéma et SQL. Peut réduire la duplication lake / warehouse, sans la rendre obligatoire.
Lambda (architecture) Architecture faisant fonctionner en parallèle une chaîne streaming, rapide, et une chaîne batch, exacte, puis fusionnant leurs résultats. Son coût est la duplication de la logique métier.
Kappa (architecture) Architecture ne conservant qu’une chaîne streaming, l’historique étant reconstitué par rejeu du journal d’événements.
Motif d’accès (access pattern) Ensemble des lectures et écritures qu’une application adresse réellement à ses données : par quelle clé, à quelle fréquence, avec quelle latence attendue. Il se décrit avant de choisir un modèle de données, relationnel ou non.
Médaillon (bronze, silver, gold) Organisation en couches de confiance croissante : brut immuable, nettoyé et validé, agrégé et orienté métier. Constitue un contrat de qualité à faire respecter par les droits d’accès. Distinct de la température, qui mesure la fréquence d’accès, pas la confiance.
Modern data stack Ensemble d’outils cloud managés couvrant ingestion, datawarehouse, transformation et restitution, qui réduisent la charge d’administration.
Parquet, Avro, ORC Formats de fichiers destinés au stockage analytique. Parquet et ORC sont orientés colonnes, Avro orienté lignes et adapté aux échanges.
Pipeline (chaîne de traitement) Ensemble automatisé d’étapes déplaçant et transformant la donnée d’une source vers un usage.
Push et pull Deux directions d’ingestion : la source émet vers la chaîne, ou la chaîne vient chercher chez la source. Détermine qui porte la responsabilité en cas d’indisponibilité.
RAG (retrieval-augmented generation) Technique consistant à fournir à un modèle de langue des documents pertinents récupérés au préalable, afin de l’ancrer dans des données propres à l’organisation.
Schema drift (dérive de schéma) Évolution non annoncée du schéma d’une source (champ ajouté, renommé, retypé) qui rompt les traitements en aval ou produit des valeurs nulles silencieuses.
Schema-on-read et schema-on-write Schéma appliqué au moment de la lecture, propre au datalake, ou imposé à l’écriture, propre au datawarehouse.
Séparation du stockage et du calcul Principe dissociant le dimensionnement du stockage de celui de la puissance de calcul, ce qui permet à plusieurs moteurs d’interroger les mêmes données et de ne payer que l’usage.
Température des données (chaud, tiède, froid, archive) Classement des objets selon la fréquence de lecture attendue. Plus on refroidit, moins le Go au repos coûte, plus la relecture et la durée minimale de conservation coûtent. Sur Cloud Storage : Standard, Nearline, Coldline, Archive. Distinct du médaillon, qui mesure la confiance, pas la fréquence d’accès.
Temps réel Voir Streaming. Dans ce cours, le terme désigne une fraîcheur de l’ordre de la seconde, pas une deadline matérielle.
Bases de données et modélisation
ACID Atomicité, cohérence, isolation, durabilité : quatre propriétés d’une transaction. Elles ne sont pas réservées au modèle relationnel ; leur périmètre et leur mise en œuvre dépendent du système.
Anomalie (insertion, mise à jour, suppression) Défaut d’un modèle redondant : impossibilité d’enregistrer une entité sans occurrence, nécessité de modifier plusieurs lignes pour un même fait, perte d’information lors d’une suppression.
Attribut Propriété décrivant une entité : nom, prix, date.
BASE Basically available, soft state, eventual consistency : vocabulaire historique décrivant certains choix de systèmes distribués. BASE n’est ni l’opposé formel d’ACID ni une propriété commune à toutes les bases NoSQL.
Cardinalité Nombre d’occurrences d’une entité pouvant être reliées à une autre : un à un, un à plusieurs, plusieurs à plusieurs.
Clé étrangère Colonne ou groupe de colonnes référençant la clé primaire d’une autre table. Admet doublons et, selon le modèle, valeurs nulles.
Clé primaire Colonne ou groupe de colonnes identifiant de façon unique une ligne : ni doublon, ni valeur nulle.
Clé de partition (partition key) Colonne ou champ qui détermine sur quel nœud une donnée est rangée dans un système distribué. Une clé mal répartie concentre les accès sur quelques nœuds et crée un point chaud.
Clustering (BigQuery) Tri des données en blocs à l’intérieur d’une table ou d’une partition, selon une ou plusieurs colonnes, pour n’ouvrir que les blocs dont la plage recouvre le filtre.
Cohérence à terme (eventual consistency) Garantie de convergence des copies d’une donnée répliquée, sans engagement sur le délai.
Contrainte Règle imposée aux données par le système : unicité, non-nullité, intégrité référentielle, ou validation d’une condition sur les valeurs.
Crow’s foot (patte d’oie) Notation graphique des cardinalités sur un diagramme entité-association, indiquant à chaque extrémité le caractère unique ou multiple et obligatoire ou optionnel du lien.
Dénormalisation Introduction volontaire de redondance afin d’accélérer les lectures analytiques.
Dimension (table de) Table décrivant le contexte d’un fait : temps, gare, client, produit. Généralement aplatie pour faciliter l’analyse.
Entité Objet ou concept du domaine modélisé, identifié par une clé.
ERD (diagramme entité-association) Représentation graphique des entités, de leurs attributs et de leurs associations munies de cardinalités, indépendante de toute implémentation.
Frontière transactionnelle (transaction boundary) Ensemble de données qui doit être modifié de façon atomique : soit tout réussit, soit rien. Son périmètre (une ligne, un document, une partition, plusieurs tables) varie fortement d’un système à l’autre.
Fait (table de) Table centrale d’un modèle dimensionnel, portant les mesures et les clés étrangères vers les dimensions.
Forme normale (première, deuxième, troisième) Étapes de la normalisation éliminant successivement les valeurs non atomiques, les dépendances partielles à la clé, puis les dépendances transitives entre attributs non clés.
Grain Ce que représente exactement une ligne de la table de faits, par exemple un article commandé. Se fixe avant toute autre décision de modélisation.
Index Structure accélérant recherches et jointures sur les colonnes fréquemment sollicitées, au prix d’écritures plus lourdes.
Normalisation Découpage de l’information en tables liées afin de supprimer la redondance et les anomalies qu’elle entraîne.
NoSQL Ensemble de modèles de bases non relationnelles, notamment clé-valeur, document, colonnes larges et graphe. Schéma, transactions, réplication et distribution varient selon le produit et sa configuration.
OLAP Online analytical processing : systèmes destinés à l’analyse de l’historique, lectures massives et agrégations, stockage généralement orienté colonnes.
OLTP Online transaction processing : systèmes destinés aux transactions courantes, écritures unitaires fréquentes, stockage orienté lignes.
Partitionnement (table) Découpe d’une grande table en segments, le plus souvent un jour, pour n’en lire qu’une fraction. Distinct de la partition réseau du théorème CAP.
Point chaud (hotspot) Nœud ou partition qui reçoit une part disproportionnée de la charge, faute d’une clé de partition bien répartie. Le système reste distribué sur le papier, mais son débit est limité par ce point unique.
SCD (slowly changing dimension) Dimension dont les attributs évoluent dans le temps ; selon le type retenu, l’ancienne valeur est écrasée ou historisée.
Schéma en étoile Modèle analytique associant une table de faits centrale à des dimensions aplaties.
Schéma en flocon Variante de l’étoile dans laquelle les dimensions sont normalisées en sous-tables : moins de redondance, davantage de jointures.
SGBDR Système de gestion de bases de données relationnelles.
Table d’association Table intermédiaire traduisant une relation plusieurs-à-plusieurs, dont la clé primaire est composée des clés des deux entités reliées.
Théorème CAP Résultat sur les systèmes distribués : la tolérance au partitionnement étant imposée en pratique, un système doit trancher entre cohérence et disponibilité lorsqu’une partition survient.
Technologies et services cités
Airflow Ordonnanceur de chaînes de traitement, employé pour définir, planifier et superviser des dépendances entre tâches.
BigQuery Datawarehouse analytique managé de Google Cloud, orienté colonnes, sans serveur à administrer. Pratiqué au CM2.
Bucket Conteneur de stockage objet (Cloud Storage). La région et le chiffrement se choisissent à la création.
Cloud Storage (GCS) Service de stockage objet de Google Cloud, couramment employé comme datalake. Quatre classes courantes : Standard (chaud), Nearline (tiède), Coldline (froid), Archive. L’accès reste en millisecondes y compris en Archive ; ce qui change, c’est le tarif et la durée minimale.
dbt Outil de gestion des transformations SQL comme du code : modèles versionnés, graphe de dépendances, tests de qualité.
Dataflow Service managé de traitement batch et streaming de Google Cloud, fondé sur le modèle de programmation Apache Beam.
Hadoop, HDFS, MapReduce, GFS Ensemble fondateur du traitement distribué : système de fichiers distribué publié par Google en 2003, modèle de calcul publié en 2004, et leur implémentation libre à partir de 2006.
Kafka Plateforme de journalisation distribuée pour événements à haut débit.
Pub/Sub Service de messagerie de Google Cloud découplant producteurs et consommateurs d’événements.
Serverless Service dont on n’administre pas les machines : on paie l’usage (requêtes, stockage), pas un cluster à dimensionner. BigQuery en est l’exemple du semestre.
Spark Moteur de calcul distribué en mémoire, employé pour le traitement de gros volumes. Étudié en CM3.