21 juillet 2006

En des temps anciens (*) il fallait économiser l'espace disque, aujourd'hui il faut le remplir !

Je suis récemment intervenu sur un développement pour un problème de performances d'accès aux données Hyper File exploitées en mode client/serveur. Une interrogation de la base devant donner quelques centaines d'enregistrements, sur quelques centaines de milliers au total, prenait un temps trop important en production. Il s'agissait d'une interrogation "multicritères" faite via une requête paramétrée. Le problème a été vite réglé grâce à l'option "Optimiser la requête" : des index manquaient dans la table.

Ma surprise a été de constater que le développeur en charge de cette partie du projet avait volontairement omis la création de certaines clés, afin de limiter l'espace sur disque occupé par l'index du fichier de données. Noble attention héritée d'un réel soucis de manque d'espace d'il y a quelques années, mais qui ici a provoqué une gêne des utilisateurs.

Le coût du stockage est tel aujourd'hui qu'il ne faut pas se priver d'index, et de tout ce qui peut permettre de retrouver plus vite l'information pour mieux servir l'utilisateur final !

Attention, il peut être tentant de généraliser cet usage "libéral" de l'espace disque à l'espace mémoire. Même s'il n'est pas rare de compter la RAM en Go et non plus en Mo, il faut tout de même rester raisonnable dans l'utilisation de la RAM.


(*) dans notre "espace temps" d'informaticiens, les "temps anciens" ne correspondent qu'à très peu d'années des humains.

1 commentaire:

Anonyme a dit…

Bien vu, mais il ne faut pas oublier qu'en plus de l'espace disque supplémentaire utilisé (effectivement "gratuit" aujourd'hui), les index nécessitent du temps CPU de gestion, leur réindexation régulière, les calculs de stats...

Donc ce qui est gratuit coûte !