SQL Server 2016 : Maintenance des progiciels tiers

Comprendre cette formation

Testez gratuitement nos 1271 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Rudi Bruchez vous explique les objectifs qui vont être abordés dans cette formation. La maintenance des progiciels tiers de SQL Server améliorera nettement les performances.
06:06

Transcription

À quoi peut bien servir cette formation ? Bon c’est une bonne question. Mais je pense que si vous êtes dans le cas qui m’intéresse dans cette formation, eh bien, vous savez déjà à quoi elle peut servir. Beaucoup de gens dans ce cas et de nombreuses fois j’étais appelé en entreprise pour faire des audits dans des cas de ce type. Vous avez acheté un progiciel, quelque chose qui est important pour votre entreprise et qui fonctionne avec une base de données, en l’occurrence souvent SQL Server. Evidemment le commercial qui vous a vendu le progiciel vous a assuré que les performances étaient excellentes, mais il se trouve qu’étonnamment vous vous apercevez à l’utilisation, après avoir acheté l’outil que là il y a quelques lenteurs et vous essayez de corriger les problèmes. Et c’est un peu tard. En tout cas, pour corriger tous les problèmes, c’est un peu tard. Alors pourquoi ? Ici, je suis dans SQL Server. C’est un moteur de base de données. En fait, un système de gestion de bases de données relationnelles. Vous avez ici une base de données « PachaDataFormation », c’est ma base de données d’exemple. Et on va supposer que c’est la base de données qui supporte les données d’un progiciel. Si vous voulez avoir de bonnes performances dans SQL Server, il y a trois choses principales auxquelles il faut être attentif. D’abord le schéma des données. C'est-à-dire la façon dont les tables sont organisées, dont elles ont été modélisées, et puis les relations entre les tables. Je vais prendre un exemple très simple. J’ai une table « Contact », et dans ma table « Contact », j’ai le « Nom » et le « Prénom » ici. Bah tout va très bien. Je peux très bien faire une recherche, alors très rapidement en faisant un « SELECT FROM Contact.Contact » «WHERE Nom » est égal à... je ne sais pas, « Simon » par exemple. Et voilà le résultat, où tout va très bien. Ici, alors ce qui est intéressant, c’est que je peux très bien faire un index sur le nom. Et cette requête va pouvoir utiliser l’index peut-être pour augmenter les performances. Mais imaginez que quelqu’un ait modélisé cette table en mettant nom et prénom dans la même colonne. C'est-à-dire au lieu de séparer ceci et ceci, eh bien c’est une même colonne qui s’appelle « nom complet » ou « nom » tout court, et j’ai par exemple « Philomène » espace « Simon ». Comment est ce que je fais cette recherche ? Je serais obligé de dire quelque chose comme « LIKE » peut être espace, et comme ça « Simon ». Et à ce moment là, les performances vont être moins bonnes parce que un index sera globalement peu utile ou disons plus simplement inutile. Et donc, j’aurai pas de bonne performance à cause du modèle. Ça c’est la première problématique. Ensuite, je peux avoir des problématiques de code. Ceci est rapide, mais ceci par exemple l’est moins. On essaie de mettre le nom en majuscule et puis on teste avec des majuscules. C’est complètement inutile parce que les requêtes, selon la collation de la colonne, sont en général dans SQL Server insensibles à la casse. Donc c’est totalement inutile. Et c’est dommage parce que si je fais ça, je passe le nom dans une fonction et je transforme en fait la valeur du nom. Et l’index que j’aurais peut-être créé comme c’est le cas ici sur le nom, eh bien il ne sera pas utilisé ou moins bien utilisé parce qu’on a indexé le nom, on n’a pas indexé le nom en majuscule et donc le moteur de SQL Server ne sera pas capable d’utiliser aussi bien l’index et donc on va perdre en performance. Donc vous voyez, il y a deux critères qui sont importants : le modèle de données et la qualité des requêtes SQL. Donc c’est des exemples très simples mais ça peut être beaucoup plus compliqués et il y a d’innombrables exemples. Notre problème ici c’est que la plupart des éditeurs de logiciel ont peu de connaissance en base de données relationnelle et en SQL Server. La plupart des développeurs n’ont pas appris toutes ces choses. Et puis c’est des choses assez complexes. Il faut avoir un certain niveau d’expérience, presque un certain niveau d’expertise on pourrait dire, pour pouvoir utiliser au mieux un moteur comme SQL Server. Et ça, il faut admettre que bah c’est pas très courant. Donc notre problématique c’est qu’on pense que les éditeurs ont bien fait les choses et c’est malheureusement assez rarement le cas ou en tout cas c’est toujours perfectible. Mais vous, qu’est ce qu’il vous reste ? C'est-à-dire que vous avez acheté ce programme. Vous l’utilisez, vous en avez besoin pour votre business tous les jours et ça ne fonctionne pas aussi bien. Les utilisateurs se plaignent, parfois si c’est par exemple du suivi de production, eh bien les performances vous font perdre de l’argent. Donc qu’est ce qui nous reste à faire ? Est-ce qu’on peut faire quelque chose ? Et c’est justement tout l’objet de cette formation. Je vais vous montrer un certain nombre de fonctionnalités dans SQL Server qui ne vont pas transformer votre progiciel en une bête de course, malheureusement il faudrait revoir des choses plus fondamentales comme la structure et les requêtes, mais on va essayer d’améliorer les choses quand même en utilisant des fonctionnalités de SQL Server qui vont nous permettre d’améliorer un peu les performances. Donc dans cette formation, je vais vous parler un peu d’indexation parce qu’il y a trois critères importants pour les performances ; c’est le schéma, le code, et l’indexation. Or, l’indexation vous pouvez faire quelque chose. Vous pouvez créer des indexes sur des tables existantes sans troubler le code, donc sans troubler l’application. Donc on va un peu voir l’indexation. Il y a déjà une formation d’optimisation qui parle d’indexation dans le catalogue, mais je vais revenir ici sur juste un ou deux points pour vous aider à faire très simplement un diagnostic et une meilleure indexation avec des outils intégrés dans SQL Server. Et puis je vais vous parler du gouverneur de ressources, qui va permettre parfois de limiter l’impact qu’ont certaines requêtes analytiquespar exemple, sur la charge de votre serveur. Je vais vous parler de compression en édition entreprise, bref un petit tout d’horizon de ce qui va vous permettre d’améliorer les choses malgré tout.

SQL Server 2016 : Maintenance des progiciels tiers

Exploitez les fonctionnalités de SQL Server afin de diminuer les problèmes, et améliorer les performances des progiciels. Faites face à ce problème très souvent rencontré !

1h16 (15 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :4 août 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !