Mise à jour le 05/03/2024

RWEB 0076 Éviter le transfert d'une grande quantité de données pour réaliser un traitement

Ref. Version →
Ref. BP →
GreenIT
58
2.0.0
0075
3.0.0
0076
4.0.0
0076

Description

Les systèmes de gestion de base de données sont conçus et optimisés pour répondre efficacement aux traitements de grandes quantités de données. Dans le cas de traitements avec une logique plus ou moins complexe, il est déconseillé de récupérer les données “brutes” et de réaliser toutes les opérations de calcul, de transformation ou encore d’agrégation côté serveur backend voire frontend.

Ces traitements doivent plutôt être réalisés au plus près de la donnée afin de:

  • limiter la bande passante à cause du transfert de données non traitées
  • profiter des optimisations de la base données sur la manipulation des données
  • d’alléger le cycle CPU côté serveur backend voire frontend

Exemple

Dans le cas de requêtes complexes avec un nombre important de données et de l’utilisation d’un système de gestion de base de données relationnelles (SGBDR), il est conseillé d’utiliser des procédures stockées car:

  • une procédure stockée économise au serveur l’interprétation de la requête puisqu’elle est précompilée ;
  • une procédure stockée est moins gourmande en bande passante puisqu’il y a moins d’informations échangées entre le serveur et le client.

Tous les SGBDR récents (SQL Server, MySQL, PostgreSQL, etc.) prennent en charge les procédures stockées.

Principe de validation

Le nombre est inférieur ou égal à

de traitements avec une grande quantité de données exécutés en dehors du serveur de base de données

1
Vous avez repérez une coquille ou vous souhaitez contribuer ?

Venez sur le repo pour lancer une discussion sur la fiche.

Voir la fiche