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
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 | 11.72s | 9.72s | 10.08s |
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.