Évaluation des besoins de performance
Éléments à surveiller
Pour optimiser un schéma interne, il est d'abord nécessaire de repérer les aspects du schéma logique qui sont susceptibles de générer des problèmes de performance.
On pourra citer à titre d'exemple les paramètres à surveiller suivants :
Taille des tuples
Nombre de tuples
Fréquence d'exécution de requêtes
Complexité des requêtes exécutées (nombre de jointures, etc.)
Fréquence des mises à jour (variabilité des données)
Accès concurrents
Distribution dans la journée des accès
Qualité de service particulière recherchée
Paramétrabilité des exécutions
etc.
Évaluation des coûts
Une fois les éléments de la BD[1] à évaluer repérés, il faut mesurer si oui ou non ils risquent de poser un problème de performance.
L'évaluation des performances peut se faire :
Théoriquement
En calculant le coût d'une opération (en temps, ressources mémoires, etc.) en fonction de paramètres (volume de données, disparité des données, etc.). En général en BD le nombre de paramètres est très grand, et les calculs de coûts trop complexes pour répondre de façon précise aux questions posées.
Empiriquement
En réalisant des implémentations de parties de schéma et en les soumettant à des tests de charge, en faisant varier des paramètres. Ce modèle d'évaluation est plus réaliste que le calcul théorique. Il faut néanmoins faire attention à ce que les simplifications d'implémentation faites pour les tests soient sans influence sur ceux-ci.