Skip to content

Commit f92f062

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 64e7477 commit f92f062

3 files changed

+45
-0
lines changed

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

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

0 commit comments

Comments
 (0)