Aller au contenu principal

Historisation des flux extraits

8 juillet 2022

Contributeurs

Caroline C., Hugues D., Sébastien F., Simon B.

Statut

Accepté

Contexte

Afin de pouvoir gérer les erreurs lors des différentes étapes d'extraction, de transformation et de chargement des données issues des différents flux partenaires, nous avons besoin d'historiser les flux extraits, transformés, chargés.

Décision

Pour ce faire, nous avons décidé d'historiser ces données dans un bucket MinIO. De plus, nous avons décidé d'adopter la structure d'historisation suivante :

..
├─── 📁 raw
│ ├─── 📁 <source-une>
│ │ ├─── 📁 history
│ │ │ ├─── 📄 2022-07-01T00:00:00Z.<ext>
│ │ │ ├─── 📄 2022-07-01T00:00:00Z.<ext>
│ │ │ └─── 📄 2022-07-01T00:00:00Z.<ext>
│ │ └─── 📄 latest.<ext>
│ └─── 📁 <source-deux>
│ ├─── 📁 history
│ │ ├─── 📄 2022-07-01T00:00:00Z.<ext>
│ │ ├─── 📄 2022-07-01T00:00:00Z.<ext>
│ │ └─── 📄 2022-07-01T00:00:00Z.<ext>
│ └─── 📄 latest.<ext>
├─── 📁 json
│ ├─── 📁 <source-une>
│ │ ├─── 📁 history
│ │ │ ├─── 📄 2022-07-01T00:00:00Z.json
│ │ │ ├─── 📄 2022-07-01T00:00:00Z.json
│ │ │ └─── 📄 2022-07-01T00:00:00Z.json
│ │ └─── 📄 latest.json
│ └─── 📁 <source-deux>
│ ├─── 📁 history
│ │ ├─── 📄 2022-07-01T00:00:00Z.json
│ │ ├─── 📄 2022-07-01T00:00:00Z.json
│ │ └─── 📄 2022-07-01T00:00:00Z.json
│ └─── 📄 latest.json
├─── 📁 result
│ ├─── 📁 <source-une>
│ │ └─── 📁 history
│ │ ├─── 📄 2022-07-01T00:00:00Z_created.json
│ │ ├─── 📄 2022-07-01T00:00:00Z_deleted.json
│ │ ├─── 📄 2022-07-01T00:00:00Z_error.json
│ │ └─── 📄 2022-07-01T00:00:00Z_updated.json
│ │
│ └─── 📁 <source-deux>
│ └─── 📁 history
│ ├─── 📄 2022-07-01T00:00:00Z_created.json
│ ├─── 📄 2022-07-01T00:00:00Z_deleted.json
│ ├─── 📄 2022-07-01T00:00:00Z_error.json
│ └─── 📄 2022-07-01T00:00:00Z_updated.json

N.B : La durée de conservation de l'historique sera à déterminer pour chaque source et la décision n'est pas encore arrêtée.

Conséquences

Nous datons nos fichiers correctement en suivant la norme ISO 8601.

Nous écrasons le ou les fichier(s) latest de chaque catégorie.

Autres pistes explorées

Se contenter de l'historique (dossier history) sans le fichier latest à écraser à chaque nouvelle écriture. Cette solution n'a pas été retenue car besoin de lister pour récupérer le dernier fichier plutôt que d'y accéder directement.