Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Archivage des données AIS #199

Open
1 of 2 tasks
njouanin opened this issue Jul 15, 2024 · 6 comments
Open
1 of 2 tasks

Archivage des données AIS #199

njouanin opened this issue Jul 15, 2024 · 6 comments
Assignees
Labels
backend enhancement New feature or request P1

Comments

@njouanin
Copy link
Collaborator

njouanin commented Jul 15, 2024

Résumé :

  • traitement d'archivage créé par Nicolas => exportation des données en local au format parquet
  • rediriger export vers S3 clevercloud

Actuellement, les données AIS récupérées par l'API SPIRE sont stockées dans la table spire_ais_data toutes les 15 minutes. Ces données sont ensuite consommées par les traitements de l'ETL, mais ne sont jamais supprimées.
La table spire_ais_data a donc vocation à grossir jusqu'à l'infini et l'au-delà ...
Il faudrait donc créer un traitement d'export des données (par exemple toutes les semaines) pour extraire les données anciennes dans un fichier et purger la table. Le fichier généré pourrait ensuite être envoyé vers un stockage en ligne.
BONUS: créer un traitement permettant de ré-importer un fichier archivé.

@njouanin njouanin added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers backend proposition labels Jul 15, 2024
@njouanin njouanin added the P1 label Oct 24, 2024
@louwelgryn louwelgryn added the P3 label Oct 31, 2024
@louwelgryn
Copy link
Collaborator

louwelgryn commented Oct 31, 2024

format d'archivage moins consommateur des données brutes de SPIRE.
On garde : 3 mois.

régler la base de données pour qu'elle revienne à 20g

@njouanin
Copy link
Collaborator Author

njouanin commented Nov 9, 2024

@marthevienne j'ai créé le traitement d'archivage. Pour l'instant l'archivage se fait au format parquet, il faudrait prévoir un stockage en ligne (S3 ?).
Le traitement prend en argument un nombre de jour (par ex: 180) et supprime toutes les données de la table spire_ais_data plus anciennes du nombre de jours par rapport à la date d'exécution.
Le code est sur la branche feature/archivage.

@marthevienne
Copy link
Collaborator

Pas de souci pour un stockage sur un S3, on peut faire ça sur clevercloud.

@njouanin njouanin removed help wanted Extra attention is needed good first issue Good for newcomers proposition labels Nov 12, 2024
@marthevienne
Copy link
Collaborator

Hello, @njouanin as-tu déjà des fichiers à héberger sur un S3 ?
Est-ce que tu penses qu'il faille automatiser l'archivage ou je me mets un rappel régulier (tous les 2 mois) ?

@rv2931
Copy link
Collaborator

rv2931 commented Dec 3, 2024

Si la PR #303 est intégrée je pense qu'il faudrait réfléchi à comment intégrer tout ou partie des données de task execution au mécanisme d'archivage
soit en les sauvegardant, principalement pour load_spire_data_from_api qui permet de tracer les coupures,
soit en les supprimant si on considère pouvoir les recréer a partir des données spire_ais_data+created_at et si created_at est bien conservée en l'état a l'archivage et restauration. Je craint que ça prenne un peu de place avec le temps avec une ligne par tâche toutes les 15min

@marthevienne
Copy link
Collaborator

La création des vessel_positions est trop permissive actuellement (plusieurs messages AIS pour un même timestamp, transfert de MMSI) : malheureusement, il n'y a pas suffisamment d'informations dans la table vessel_positions il va falloir repartir des données spire_ais_data pour recréer les positions.

=> On devrait mettre en place un système de restauration des données Spire archivées.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend enhancement New feature or request P1
Projects
None yet
Development

No branches or pull requests

4 participants