Glossaire data engineering

Résumé

Définitions courtes des termes que les notes du vault emploient sans les redéfinir. Chaque entrée renvoie vers la note qui la développe. Pour pointer une définition précise : [[Glossaire data engineering#scd|SCD]].

Modélisation

Clé primaire

Colonne (ou ensemble de colonnes) qui identifie une ligne de façon unique. Voir Normalisation 2NF et 3NF.

Dépendance fonctionnelle

« A détermine B » : connaître A suffit pour connaître B. Base des formes normales. Voir Normalisation 2NF et 3NF.

3NF

Troisième forme normale : chaque colonne dépend de la clé, de toute la clé, et de rien d’autre que la clé. Voir Normalisation 2NF et 3NF.

Grain

Ce que représente une ligne d’une table de faits (une ligne de commande, un appel). Le premier choix de conception en modélisation dimensionnelle. Voir Schéma en étoile, de bout en bout.

Clé de substitution

Identifiant technique créé par l’entrepôt, indépendant des clés des systèmes sources. Voir Schéma en étoile, de bout en bout.

Dimension conforme

Dimension partagée à l’identique par plusieurs marts, ce qui rend leurs chiffres comparables. Voir Inmon, Kimball et Data Vault.

SCD

Slowly Changing Dimension : technique pour gérer les attributs d’une dimension qui changent. Type 0 : on conserve la valeur d’origine. Type 1 : on écrase. Type 2 : on ajoute une ligne datée. Type 3 : on garde l’ancienne valeur dans une colonne. Voir Slowly Changing Dimensions, types 0 à 3.

ODS

Operational Data Store : vue intégrée et courante des sources pour le reporting opérationnel. Le sens varie selon les auteurs. Voir Staging, ODS, DWH et architecture médaillon.

Append-only

Une table où l’on n’ajoute que de nouvelles lignes, sans modifier les anciennes. Ne s’applique pas à une dimension en SCD de type 1. Voir Staging, ODS, DWH et architecture médaillon.

Traitement des données

Staging

Zone d’atterrissage des données brutes avant intégration. Le mot a trois sens dans le vault : zone ETL transitoire, couche bronze du médaillon, modèles stg_ de dbt. Voir Staging, ODS, DWH et architecture médaillon.

Médaillon

Organisation de la donnée en trois niveaux de raffinement : bronze (copie conservée), silver (nettoyée et intégrée), gold (prête à la consommation). Voir Staging, ODS, DWH et architecture médaillon.

ACID

Garanties d’une transaction : atomicité, cohérence, isolation, durabilité. Voir ACID vs BASE.

Schema-on-write et schema-on-read

Imposer la structure avant le chargement, ou l’interpréter à la lecture. Voir Schema-on-Write vs Schema-on-Read.

Tombstone

Marqueur qui enregistre qu’une ligne a été supprimée, pour qu’un événement plus ancien ne la recrée pas. Voir Change Data Capture (CDC).

Transaction

Groupe d’opérations traité comme un tout : tout réussit ou rien. Voir ACID vs BASE.

Table externe

Table dont les données restent dans des fichiers hors du moteur, lus au moment de la requête. Voir Schema-on-Write vs Schema-on-Read.

Crypto-shredding

Effacer des données chiffrées en détruisant la clé. Voir Inmon, Kimball et Data Vault.

Upsert

Insérer une ligne si sa clé n’existe pas, la mettre à jour sinon. En SQL, c’est le rôle de MERGE. Voir Idempotence et backfill.

Orchestrateur

Outil qui planifie des traitements, gère leurs dépendances et les relance en cas d’échec (par exemple Airflow). Voir Idempotence et backfill.

ETL et ELT

ETL : transformer avant de charger. ELT : charger d’abord, transformer ensuite dans l’entrepôt. dbt relève de l’ELT. Voir dbt — Fondamentaux.

DAG

Graphe orienté sans cycle : l’ordre de dépendance entre tâches ou modèles. dbt le construit avec ref(), un orchestrateur le déclare tâche par tâche. Voir dbt — Fondamentaux.

Jinja

Langage de gabarit utilisé par dbt pour générer du SQL ({{ ref('…') }}, macros). Voir dbt — Fondamentaux.

Data downtime

Temps pendant lequel une donnée est fausse, absente, imprécise ou inaccessible. Voir Observabilité des données.

CDC

Change Data Capture : capter les changements d’une source (insertions, mises à jour, suppressions) plutôt que de la recopier en entier. Voir Change Data Capture (CDC).

Idempotence

Rejouer une opération ne change pas le résultat. Indispensable pour qu’un retry après échec ne crée pas de doublons. Voir Idempotence et backfill.

Moteur colonnaire

Moteur qui stocke et lit les données colonne par colonne : une requête ne lit que les colonnes demandées. C’est le cas de BigQuery, et du format Parquet qui range les données par colonne. Voir OLTP vs OLAP et stockage en colonnes et Union all vs unpivot.

OLTP et OLAP

OLTP : beaucoup de petites transactions sur quelques lignes (application). OLAP : peu de requêtes qui agrègent beaucoup de lignes (analyse). Voir OLTP vs OLAP et stockage en colonnes.

Backfill

Rejouer un traitement sur une période passée. Exige un traitement idempotent. Voir Idempotence et backfill.

Row group

Découpage d’un fichier Parquet en blocs de lignes, chacun avec un bloc par colonne et des statistiques. Voir Parquet, le format de fichier colonnaire.

Partition et partition pruning

Découpage d’une table ou de fichiers par valeur (souvent la date). Le partition pruning ne lit que les partitions utiles. Voir Schema-on-Write vs Schema-on-Read.

Cohérence

CAP et PACELC

CAP : en cas de partition réseau, choisir entre cohérence et disponibilité. PACELC : sans panne, arbitrer entre latence et cohérence. Voir ACID vs BASE.

CRDT

Structure de données répliquée conçue pour que les copies convergent sans coordination ; la fusion des états y est commutative, associative et idempotente (variante par états). Voir ACID vs BASE.

Entrepôt et lakehouse

Data warehouse, data lake, lakehouse, data mart

Warehouse : base analytique à schéma imposé. Lake : fichiers bruts sur object storage. Lakehouse : un lac avec une couche de table transactionnelle. Data mart : sous-ensemble de l’entrepôt orienté vers un besoin métier. Voir Data lake vs lakehouse et Inmon, Kimball et Data Vault.

Table de faits et dimension

Dans un modèle dimensionnel, la table de faits enregistre des mesures (un montant) et les dimensions décrivent leur contexte (client, produit, date). Voir Inmon, Kimball et Data Vault.

Les trois objets du Data Vault : identifiants métier, relations entre eux, attributs historisés. Voir Inmon, Kimball et Data Vault.

Matérialisation

Forme physique d’un modèle dbt : vue, table, incrémental, éphémère. Voir dbt — Fondamentaux.

MERGE

Instruction SQL qui insère, met à jour ou supprime selon qu’une ligne source correspond ou non à une ligne cible. Voir Idempotence et backfill.

WAL et LSN

Journal de transactions d’une base (WAL dans PostgreSQL) et position d’un changement dans ce journal (LSN). Voir Change Data Capture (CDC).

Manifest

Fichier de métadonnées d’un format de table qui liste les fichiers de données et leurs statistiques. Voir Data lake vs lakehouse.

Lookback (fenêtre)

Période de données relue à chaque exécution d’un traitement incrémental pour rattraper les retards. Voir dbt Incremental Models vs Snowflake Dynamic Tables.

Lineage

Chemin de la donnée de sa source à sa consommation. Voir Observabilité des données.

Formats de table et lakehouse

Format de table

Couche de métadonnées sur des fichiers (Iceberg, Delta, Hudi, Paimon) qui apporte transactions, schéma et historique. Voir Écosystème lakehouse, formats, catalogues et moteurs.

Catalogue

Service qui sait où se trouve la version courante de chaque table, et qui rend le commit atomique. Voir Data lake vs lakehouse et Écosystème lakehouse, formats, catalogues et moteurs.

Snapshot

État d’une table à un instant, défini par une liste de fichiers. À ne pas confondre avec un snapshot dbt, qui historise les lignes d’une table à chaque exécution de dbt snapshot. Voir dbt et le lakehouse.

Compaction

Regrouper de nombreux petits fichiers en peu de gros fichiers. Voir Maintenance d’un lakehouse.

Time travel

Relire une table telle qu’elle était à un snapshot passé. Limité par la rétention. Voir Data lake vs lakehouse.

Copy-on-write et merge-on-read

Deux façons de modifier des fichiers immuables : réécrire les fichiers touchés, ou écrire un petit delete file combiné à la lecture. Voir Data lake vs lakehouse.

Gouvernance

Domaine

Unité d’organisation métier (ventes, logistique, finance) qui, dans un data mesh, possède et publie ses données analytiques. Voir Data mesh.

Data product

Jeu de données publié comme un service : propriétaire, interface stable, engagements mesurables, cycle de vie. Voir Data product et Data product, définitions et points de vue.

Data contract

Accord écrit entre producteur et consommateurs sur le schéma, la qualité et le niveau de service d’un jeu de données. Voir Data contract et ODCS.

Data quantum

Plus petite unité d’architecture déployable de façon indépendante ; dans un data mesh, c’est le produit de données. Voir Data product.

SLI, SLO et SLA

SLI : une mesure (délai depuis le dernier chargement). SLO : une valeur cible pour cette mesure (moins de 4 h). SLA : un contrat avec conséquences en cas de non-respect. Voir Observabilité des données et Data contract et ODCS.

ODCS et ODPS

Open Data Contract Standard : format YAML d’un contrat de données. Open Data Product Standard : format YAML d’un produit de données. Voir Data contract et ODCS et Data product.

Voir aussi

MOC Data Engineering