tadata
← Retour à l'accueil

Observabilite des Pipelines de Données : Appliquer les Principes SRE a la Data

#data-engineering#observability#data-quality#monitoring

L'ingénierie logicielle a résolu la fiabilité depuis des annees avec les pratiques SRE : SLOs, SLIs, réponse aux incidents et postmortems sans blame. L'ingénierie des données commence seulement a rattraper son retard. Le temps d'arrêt data -- périodes ou les données sont manquantes, inexactes ou perimees -- coute des millions aux organisations en mauvaises decisions et en confiance erodee.

Les Cinq Piliers de l'Observabilite Data

tadata
PilierQuestionSLISLO
1. FraîcheurLes données arrivent-elles à l'heure ?Temps écoulé depuis la dernière mise à jourTable X mise à jour moins de 2 heures après l'événement source
2. VolumeLa quantité de données attendue est-elle présente ?Écart du nombre de lignes par rapport à l'attenduNombre de lignes quotidien à 10 % près de la moyenne mobile sur 7 jours
3. SchémaLa structure a-t-elle changé de façon inattendue ?Nombre de différences de schéma par déploiementZéro changement de schéma cassant non annoncé
4. DistributionLes valeurs restent-elles dans les plages attendues ?Pourcentage de valeurs hors des bornes apprises< 0,1 % des valeurs signalées comme anormales
5. LignagePeut-on tracer les données de la source à la consommation ?Pourcentage de tables avec un lignage complet100 % des tables du chemin critique ont un lignage
tadata
baseline: 10 points 1400 k 1600 k 1800 k 2000 k 2200 k 2400 k d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 UCL 2381 k mean 2304 k LCL 2227 k one source missing (1420 k)
baseline: 10 points 1400 k 1600 k 1800 k 2000 k 2200 k 2400 k d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 UCL 2381 k mean 2304 k LCL 2227 k one source missing (1420 k)
Nombre de lignes quotidien de silver.orders (en milliers) : limites à moyenne ± 3 écarts-types sur les 10 premiers jours ; le jour 13 est un chargement partiel

Extrait de la fiche « Data Quality SLAs and Observability » · Demander la fiche complète

Framework de SLO Data

Categorie SLOExemple de SLOMéthode de MesureSeuil d'Alerte
FraicheurTable commandes mise a jour dans l'heureTimestamp de derniere modification> 1.5h depuis derniere MAJ
Completude< 0.5% de valeurs nulles sur champs requisComptage nulls / total lignes> 0.5% nulls
Unicite0 clé primaire en doubleRequete de comptage doublons> 0 doublons
ExactitudeTotaux revenus concordent a 0.01% avec la sourceReconciliation inter-systèmes> 0.01% delta
VolumeNombre quotidien dans les 2 sigma de la moy. 30jComparaison statistiqueHors 2 sigma
tadata
130 silver.orders min 0 200 400 600 605 silver.events min 0 200 400 600 40 gold.features_daily min 0 200 400 600 190 gold.chunks min 0 200 400 600 actual target ranges
130 silver.orders min 0 200 400 600 605 silver.events min 0 200 400 600 40 gold.features_daily min 0 200 400 600 190 gold.chunks min 0 200 400 600 actual target ranges
Budget de fraîcheur consommé sur les 30 derniers jours : minutes de retard face au budget de 216 minutes d'un SLO à 99,5 % (plus bas = mieux) ; la table events dépasse son budget

Extrait de la fiche « Data Quality SLAs and Observability » · Demander la fiche complète

Comparaison des Outils

CapacitéMonte CarloBigeyeSodaDatafoldElementary
ApprocheAnomalie par MLRègles métriquesCheck-as-codeBase sur les diffsNatif dbt
DéploiementSaaS uniquementSaaS + agentOSS + CloudSaaS + OSSOSS + Cloud
Détection anomaliesMLRègles statistiquesSeuilsComparaison diffStatistique
LignageAutomatiqueLimiteAucunNiveau colonneLignage dbt
Gestion incidentsIntegreeBasiqueAucuneAucuneSlack/email
Ideal pourEnterpriseOrgs orientées métriquesÉquipes code-firstCI/CD pour dataÉquipes dbt

Réponse aux Incidents Data

PhaseSRE LogicielEquivalent SRE Data
DétecterMonitoring + alertingMoniteurs qualité + alertes fraîcheur
TrierClassification de sévéritéÉvaluation d'impact : quels dashboards/modèles affectes ?
InvestiguerLogs, tracés, métriquesTraversee du lignage, diffs de schema, analyse volume
AttenuerRollback, feature flagPause pipelines aval, basculer sur derniere version validé
ResoudreFix + déploiementCorriger source/transformation, backfill, valider
ApprendrePostmortem sans blameRevue incident data : ajouter moniteurs, mettre a jour SLOs
tadata
SEV2 01:00 Upstream deploy renamescolumn 02:10 Nightly load writes 12 %null country 06:30 Null-rate monitor fires 06:45 Data on-callacknowledges 07:30 Partition quarantined,training on last goodsnapshot 11:00 Mapping fixed, partitionbackfilled 15:00 Post-incident review:add contract check inproducer CI Impact 6 h 30 MTTD 5 h 30 MTTA 15 min Time to mitigate 6 h 30 MTTR 10 h Trigger Event Detected Acknowledged Mitigated Resolved Post-mortem
SEV2 01:00 Upstream deploy renamescolumn 02:10 Nightly load writes 12 %null country 06:30 Null-rate monitor fires 06:45 Data on-callacknowledges 07:30 Partition quarantined,training on last goodsnapshot 11:00 Mapping fixed, partitionbackfilled 15:00 Post-incident review:add contract check inproducer CI Impact 6 h 30 MTTD 5 h 30 MTTA 15 min Time to mitigate 6 h 30 MTTR 10 h Trigger Event Detected Acknowledged Mitigated Resolved Post-mortem
Un incident data : un renommage en amont transforme une feature en nulls dans le jeu d'entraînement nocturne

Extrait de la fiche « Data Quality SLAs and Observability » · Demander la fiche complète

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.