Skip to content

Commit 4b4ea0f

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 4b4ea0f

3 files changed

+43
-0
lines changed

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

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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ées dans deux bases de données, la base de données "live" de `pix-api` et la base de données "froides" (aussi appelée "datamart") de `pix-dwh-api-data`.
12+
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).
13+
14+
![Schéma d'architecture données froides actuelle](../assets/0060-donnees-froides-architecture-actuelle.svg)
15+
16+
On peut constater que :
17+
18+
- les données `pole-emploi-sendings` sont produites par `pix-api` et stockées dans la base de données "live"
19+
- les données `parcoursup` sont produites par l'équipe Data et stockées dans le datawarehouse
20+
- le datawarehouse est répliqué via dump/restore dans la base de données "froides"
21+
22+
Le schéma de la base de donnée "froides" n'est pas maitrisée par `pix-api` et peut être changé sans possibilité de rétro-compatibilité.
23+
Il est complexe de maintenir des tests de non régression sur ces données.
24+
25+
Les données froides stockées dans la base de données "live" augmentent inutilement la pression sur celle-ci (en terme de volume et de traffic).
26+
27+
## Solution
28+
29+
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".
30+
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.
31+
Ainsi le schéma est préservé et les modifications de celui-ci sont entièrement à la main de l'API MADDO.
32+
Des tests de non régression seront donc plus faciles à maintenir.
33+
Il sera également possible d'assurer une rétro-compatibilité en cas de changement du schéma.
34+
35+
D'autre part, on propose de déplacer le stockage de toutes les données froides vers la base de donnée adhoc (ie. le datamart).
36+
37+
Le schéma suivant montre l'architecture cible.
38+
39+
![Schéma d'architecture données froides cible](../assets/0060-donnees-froides-architecture-cible.svg)

0 commit comments

Comments
 (0)