Skip to content

Commit 714dbad

Browse files
HEYGULnlepageVincentHardouin
committed
tech: add adr related to cold data storage & production
Co-authored-by: Nicolas Lepage <nicolas.lepage@pix.fr> Co-authored-by: Vincent Hardouin <vincent.hardouin@pix.fr>
1 parent 0078361 commit 714dbad

3 files changed

+49
-0
lines changed

Diff for: docs/adr/0060-production-de-donnees-froides.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# 60. Production de données froides
2+
3+
Date : 2025-02-18
4+
5+
## État
6+
7+
En cours de construction
8+
9+
## Contexte
10+
11+
Le stockage de données froides est fragmenté dans deux bases de données, la base de données "live" de
12+
`pix-api` et la base de données "froides" (aussi appelée "datamart") de
13+
`pix-dwh-api-data`.
14+
La production de ces données est réalisée par divers mécanismes comme le montre le schéma suivant (flèches en bleu).
15+
16+
![Schéma d'architecture données froides actuelle](../assets/0060-donnees-froides-architecture-actuelle.svg)
17+
18+
On peut constater que :
19+
20+
- les données
21+
`pole-emploi-sendings` sont produites par
22+
`pix-api` et stockées dans la base de données "live"
23+
- les données
24+
`parcoursup` sont produites par l'équipe Data et stockées dans le datawarehouse
25+
- le datawarehouse est répliqué via dump/restore dans la base de données "froides"
26+
27+
Le schéma de la base de données "froides" n'est pas maitrisé par
28+
`pix-api` et peut être changé sans possibilité de rétro-compatibilité.
29+
Il est complexe de maintenir des tests de non-régression sur ces données.
30+
31+
Les données froides stockées dans la base de données "live" augmentent inutilement la pression sur celle-ci (en termes de volume et de trafic).
32+
33+
## Solution
34+
35+
L'introduction de la nouvelle brique d'API de "Mise A Disposition de DOnnées" permet d'avoir une application maître du schéma de la base de données "froides".
36+
On propose donc que le transfert de données entre le datawarehouse et cette base de données soient une copie plutôt qu'un dump/restore.
37+
Ainsi le schéma est préservé et les modifications de celui-ci sont entièrement à la main de l'API MADDO.
38+
Des tests de non-régression seront donc plus faciles à maintenir.
39+
Il sera également possible d'assurer une rétro-compatibilité en cas de changement du schéma.
40+
41+
D'autre part, on propose de déplacer le stockage de toutes les données froides vers la base de données adhoc (ie. le datamart).
42+
43+
Le schéma qui suit montre l'architecture cible.
44+
45+
![Schéma d'architecture données froides cible](../assets/0060-donnees-froides-architecture-cible.svg)

0 commit comments

Comments
 (0)