Voulez vous optimiser votre solution SQL Server ?



Magazine SQL Server

Voici une série d’articles parus dans SQL Server Magazine de 2006 à 2007. Ces articles parlent de l’optimisation du SGBDR Microsoft SQL Server en termes de concept et non sous l’aspect purement technique. Leur but est de faire comprendre comment on peut optimiser un tel serveur de données et non quelles sont les formules magiques pour le faire…

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.

Microsoft Most Valuable Professionnal (SQL Server)
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

PDF
optimisation SQL Server 1/5

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

PDF
optimisation SQL Server 2/5

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

PDF
optimisation SQL Server 3/5

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

PDF
optimisation SQL Server 4/5

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.



Article 5 sur 5 : l'exploitation

PDF
optimisation SQL Server 5/5

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...