L’optimisation d’un SGBDR c’est avant tout
de l’artisanat. S’il suffisait de quelques lignes de code pour rendre
compte de ce qui ne va pas, il y a longtemps que Microsoft les auraient
produit.
Par
Frédéric Brouard, MVP SQL Server Sté. SQL Spot : conseil, formation, audit, tuning, optimisation... Expert SQL et SGBDR, Auteur de : • SQL, Développement, Campus Press 2001 • SQL, collection Synthex, Pearson Education 2005, co écrit avec Christian Soutou • http://sqlpro.developpez.com (site de ressources sur le langage SQL et les SGBDR). Enseignant à L'ISEN Toulon et au CNAM du Var. |
Article 1 sur 5 : Fonctionnement de SQL Server / Règles de base de l’optimisation
Extrait :
…nombreuses sont les
entreprises qui n’ont aucune conscience que leur capital, leur
patrimoine informatique, réside essentiellement dans leur
données, la qualité de ces données, et les
performances que l’on peut exiger d’elles. La plupart des organisations
sont obnubilées par l’aspect « sapin de
Noël » de leurs merveilleux applicatifs graphiques, mais
dans les faits ces logiciels constituent en quelques sortes les maigres
arbres qui masquent une forêt : celle des données. A
l’aire du trash logiciel, à l’époque du
décisionnel, les entreprises devraient se raccrocher encore plus
à leurs données qui sont le seul point commun entre les
différentes refontes de leurs programmes et qui leur permettent
de piloter le navire entreprise. Or c’est rarement le cas. Les
performances demandées sont loin d’être atteintes du fait
de modèles déficients, d’écritures
tarabiscotées, d’une piètre qualité de
données, quand ce ne sont pas des serveurs mal exploitées
et des bases peu ou pas administrées…
Article 2 sur 5 : Le serveur : ressources physiques, ressources logiques
Extrait :
Finalement un serveur
de bases de données relationnelle Client/Serveur n’est rien
d’autre qu’un ordinateur dont on a sciemment atrophié certains
éléments afin de les rendre plus performant qu’un PC de
bureau. Voyons ce qu’un serveur n’a peu ou prou besoin. Il n’a pas bien
besoin d’un écran puisque qu’il se doit d’être
scruté par l’intermédiaire d’autres machines. Il n’a pas
non plus réellement besoin d’un clavier ni d’une souris pour les
mêmes raisons. En revanche, nous pouvons convenir qu’il a besoin
de beaucoup de mémoire comme nous l’avons vu au chapitre
précédent. Il a besoin de processeurs rapides (notez le
pluriel), de disques de grande capacités dotés des temps
de réponses les plus courts. Ce sont donc ces trois axes que nous
allons étudier dans cet article. Nous verrons cela du
côté physique puis du côté logique. Nous en
tirerons quelques nouvelles règles propres à
établir les préconisations que tout un chacun doit pouvoir
spécifier afin de choisir une machine et la configurer au mieux
en fonction de son budget.
Article 3 sur 5 : le modèle de données
Extrait :
Optimiser une base de
données simplement par la qualité de son modèle est
une chose simple, très efficace et et à coût nul…
Voila qui devrait intéresser beaucoup de monde. Or c’est souvent
l’inverse qui se passe : le peu d’attention apportée au
modèle, le peu de précaution dans le choix des types de
données, le peu de respect des formes normales sont autant
d’icebergs qui ne vont pointer leurs nez qu’au moment ou la base
commencera d’être volumineuse. Ces erreurs du modèle, aux
couteuses contre performances ne montreront des effets pervers qu’au
moment ou l’inertie des données sera telle que tout remaniement
de la base deviendra une entreprise risquée, complexe et
douloureuse. Il ne faut pas oublier que les SGBDR ont été
conçu pour manipuler des relations. Croire qu’un SGBDR agit comme
au bon vieux temps des applications consommatrices de fichiers est un
non sens absolu. La lecture d’« enregistrements »
au sein de « fichiers »n’a pas de sens dans un
SGBDR. Et la transposition d’un modèle de données à
base de fichiers en tables dans une base de données à
raison d’une table pour un fichier est un échec assuré
dont beaucoup d’éditeurs de solutions informatiques ont fait les
frais. Ce nouvel article a donc pour but de vous faire comprendre ce que
sont les données, les types de données et la
modélisation dans la perspective d’optimisation d’une base et
donc d’un serveur.
Article 4 sur 5 : les requêtes
Extrait :
En théorie,
quelque soit la façon d'écrire une requête, le SGBDR
doit être capable de trouver le moyen le plus efficace de traiter
la demande, grâce à l'optimiseur. Mais parce qu'il y a loin
de la théorie à la pratique, différentes
écritures et différents styles de résolution,
aliés à la qualité de l'indexation peuvent donner
des temps d'exécution très variés.
C'est pourquoi la maîtrise de la conception de requêtes est un des points clefs de la performance d'une base de données bien conçue.
Pourtant il vous manque une brique pour parfaire votre oeuvre : penser l'exploitation de vos données au quotidien, c'est là un travail d'administrateur de bases de données...
C'est pourquoi la maîtrise de la conception de requêtes est un des points clefs de la performance d'une base de données bien conçue.
Article 5 sur 5 : l'exploitation
Extrait :
Votre modèle des données est parfait : justement normalisé et très légèrement dénormalisé par des techniques fiables et pour des données dont il est prouvé que cela apporte un gain significatif. Vos requêtes sont optimisées et les serveurs, tant logiques que physiques, comme leurs environnements sont taillés, dimensionnés, mesurés, configurés pour le volume de données et de transactions à subir. Enfin, vous avez pensé au découpage de vos espaces de stockage choisit vos disques et constitués vos agrégats en conséquence...Pourtant il vous manque une brique pour parfaire votre oeuvre : penser l'exploitation de vos données au quotidien, c'est là un travail d'administrateur de bases de données...