Dans notre équipe nous développons une application de gestion de documents. Une des fonctionnalités consiste en l'archivage d'une partie des documents après une période donnée.

Cet archivage passe par la génération d'une archive contenant les métadonnées et les binaires (pluriel dû au versionnement) de ces documents. L'archive est stockée de façon permanente dans un service tiers où les documents (après vérification de l'archive) sont définitivement détruits.

La période d'accumulation des documents avant archivage se compte en décennies. Certains de nos clients insèrent jusqu'à 700k documents/mois. Les archivages contiennent facilement des milliers de documents (jusqu'à 1Go/document).

Cette conférence est un retour d'expérience sur comment on génère des archives d'environ 80Go avec une gestion de ressources minimale. On verra comment en utilisant le prisme de la monade Sequence on peut définir chaque étape de la génération en une liste de valeurs de façon sûre en mémoire. On verra également comment l'écosystème innmind est capable de condenser tout ça en une vingtaine de lignes de code.

Comments

Comments are closed.