Ceci est une ancienne révision du document !
Synthese - Ajout des statuts des taxons à l'export
Besoin
Les utilisateurs ont besoins de voir apparaître dans le fichier des observations téléchargeable depuis le module Synthese de GeoNature, les informations sur les statuts de protection et de conservation.
Propositions
Ajouter des colonnes suivantes à l'export de la Synthese :
- pn : protection nationale
- pr : protection régionale
- pd : protection départementale
- lrm : liste rouge mondiale
- lre : liste rouge européenne
- lrn : liste rouge nationale
- lrr : liste rouge régionale
- lrd : liste rouge départementale
- znieff : a rajouter
- Interdiction d'introduction : a rajouter
- Lutte contre certaines espèces : a rajouter
- Réglementation : a rajouter
- Réglementation sans objet : a rajouter
TO DO :
- rajouter commandes vidage cache postgresql
- mail Ornella colonnes à rajouter : 4 colonnes (LR, Protection, Reglementation, ZNIEFF) avec aggrégation des code_stauts par cd_type_statuts ou 13 colonnes avec code_status en valeur ?
- Ajout script SQL création VM
- Modif script maintenance
ATTENTION : l'ajout de ces informations pose des problèmes de performance avec une augmentation non négligeable des temps d'attentes avant le téléchargement et le risque que la demande n'aboutisse pas.
Nous testerons donc la possibilité d'utiliser une vue matérialisée en remplacement de la vue dynamique actuellement utilisée. Si elle s'avère plus efficace, nous la mettrons en place.
Création de VM intermédiaires
Après avoir analysé la VM d'export de la Synthese sur Dalibo, il paraît pertinent de créer trois VM intermédiaires pour améliorer les performances (réduire le temps de rafraîchissement de la VM d'export) :
- taxonomie.taxon_area_status : mettre lien vers requête SQL (https://github.com/cbn-alpin/sinp-aura-data/tree/main/db-geonature/data/sql)
- gn_synthese.synthese_status : mettre lien vers requête SQL (https://github.com/cbn-alpin/sinp-aura-data/tree/main/db-geonature/data/sql)
- gn_synthese.synthese_municipality : mettre lien vers requête SQL (https://github.com/cbn-alpin/sinp-aura-data/tree/main/db-geonature/data/sql)
Tests de performance
Effectués en local sur la base SINP AURA de juin 2025 (~34 millions d'observations) avec un disque SSD NMVe de Génération 4.
La limite du nombre d'observations récupérées a directement été modifiée dans le code pour chaque palier.
L'export a été testé avec les utilisateurs admin et jpm car le premier a tous les droits d'accès aux données sensibles et le second aucune (données sensibles dégradées).
Nb données exportées | Vue de base (admin) | Vue de base (jpm) | Vue + statuts (admin) | Vue + statuts (jpm) | Vue + VM + statuts (admin) | Vue + VM + statuts (jpm) | VM + statuts (admin) | VM + statuts (jpm) |
---|---|---|---|---|---|---|---|---|
5 000 | 1.41 s | 1.56s | 4.12 s | 4.39s | 1.53s | 1.69s | 1.44s | 1.57s |
10 000 | 1.68s | 1.93s | 6.42 s | 6.62s | 2.39s | 2.97s | 2.19s | 1.95s |
25 000 | 2.43s | 2.61s | 13.19 s | 13.45s | 3.13s | 4.41s | 3.74s | 2.74s |
50 000 | 3.54s | 3.81s | 24.43 s | 24.76s | 4.46s | 6.30s | 5.53s | 4.01s |
100 000 | 5.50s | 6.96s | 46.67 s | 50.03 s | 7.07s / 16.13 s (cache postgresql vidé) | 11.72s / 17.79 s (cache postgresql vidé) | 9.72s / 9.68s (cache postgresql vidé) | 10.08s / 11.48s (cache postgresql vidé) |
Résultat : Nous pouvons conserver uniquement les trois VM intermédiaires et garder la vue d'export. Ce sont finalement les VM intermédiaires qui font gagner en performance.