in

La stabilité plus forte que les performances ? Cedrick Balestro, Cofondateur de dside-Software

Lorsque l’on exploite et administre une base de données de production, il est essentiel d’obtenir des temps de réponses satisfaisants pour les utilisateurs, ou permettant d’assurer que les traitements de type batch tiennent dans la fenêtre de temps qui leur est impartie.

Il est également nécessaire de garantir une consommation de ressources modérée ou tout au moins en adéquation avec son architecture. Ainsi, CPU, mémoire, réseau, ou IOs seront correctement taillés et sollicités pour ne pas saturer l’environnement hébergeant la base de données.

Chaque acteur de la mise à disposition de l’application (développeur, testeur, responsable d’application, DBA…) porte une attention particulière au comportement des requêtes SQL qui sont écrites et exécutées par l’application car c’est principalement la conception de l’application et le SQL exécuté qui détermineront les performances d’une application.

A titre d’exemple sur Oracle, le comportement des requêtes est notamment dicté par le choix du plan d’exécution, qui est calculé par l’optimiseur en fonction de nombreux éléments : écriture de la requête, présence d’index, statistiques, paramètres d’instance ou de session, utilisation de vues matérialisées…

Cependant, même une fois optimisée, le comportement d’une requête pourra évoluer si un des éléments cités évolue. Par exemple après un nouveau calcul de statistiques, en cas de changement de valeur d’un paramètre, si un index devait être reconstruit ou une table compressée. On peut même observer des changements de plan d’exécution sans qu’aucune modification n’ait été apportée, par exemple parce que Oracle constate une cardinalité réelle très différente de celle qu’il a estimée.

On en vient alors à un sujet au moins aussi important que les performances : la stabilité.

Nombre d’acteurs dans le domaine des performances applicatives préfèrent stabiliser par exemple le temps d’une requête à 3 secondes, plutôt que d’offrir un temps de 2 secondes à l’utilisateur un jour, puis passer à 4 secondes le lendemain, et même revenir à 2 secondes le week-end lorsque la charge est moindre, sans explication pour l’utilisateur.

Depuis plusieurs versions, Oracle s’attache à offrir de nouveaux mécanismes embarqués dans l’optimiseur afin de déterminer des plans d’exécutions les mieux adaptés. On peut citer par exemple les mécanismes suivants : bind variable peeking, adaptive cursor sharing, SQL plan management, adaptive query optimization, SQL plan directives, cardinality feedback ou statistics feedback en version Oracle 12c.

Tous ces mécanismes, aussi puissants et intéressants soient-ils, peuvent parfois apporter des fluctuations dues à des changements de plans d’exécution. Et on constate que tous ne sont pas documentés, ce qui n’en facilite pas la compréhension.

Il est donc désormais plus que jamais nécessaire d’être attentif au comportement de la base de données et de surveiller comment peuvent fluctuer certains plans d’exécution dans le temps.

Les nouvelles versions d’outils de suivi des performances des bases de données Oracle devront intégrer des fonctionnalités offrant à l’utilisateur ou l’administrateur une meilleure lisibilité pour appréhender ces nouveautés. L’objectif étant d’apporter à ses environnements la stabilité attendue, caractéristique primordiale d’une application.

Corinne
Corinne

Depuis plus de 25 ans dans le métier de la communication et du marketing, Corinne a démarré sa carrière à la télévision avant de rejoindre une agence événementielle. Curieuse dans l’âme, elle poursuit sa carrière dans l’IT et intègre une société de conseil en éditique puis entre chez un éditeur de logiciels leader sur son marché, SEFAS. Elle est ensuite nommée Directrice Communication chez MGI Digital Graphic, constructeur de matériel d’impression numérique et de finition international coté en bourse. Revenue en 2008 chez SEFAS au poste de Directrice Marketing et Communication groupe, elle gère une équipe répartie sur 3 géographies (France, Etats-Unis et Angleterre), crée le groupe utilisateurs de l’entreprise et lance un projet de certification ISO 9001, ISO 14001 et ISO 26000 couronné de succès. Pendant 7 ans membre du conseil d’administration de l’association professionnelle Xplor France et 2 ans sa Présidente, Corinne a créé dès 2010 TiKibuzz, son agence de marketing et de communication. Elle devient Directrice de la Communication en charge des Relations Presse, du Lobbying et du marketing digital chez DOCAPOST, groupe La Poste, durant 3 ans avant de rejoindre la start-up FINTECH Limonetik, en 2013. C'est cette même année qu'elle crée votre média professionnel, DOCaufutur, l'avenir du document.

Written by Corinne

Depuis plus de 25 ans dans le métier de la communication et du marketing, Corinne a démarré sa carrière à la télévision avant de rejoindre une agence événementielle. Curieuse dans l’âme, elle poursuit sa carrière dans l’IT et intègre une société de conseil en éditique puis entre chez un éditeur de logiciels leader sur son marché, SEFAS. Elle est ensuite nommée Directrice Communication chez MGI Digital Graphic, constructeur de matériel d’impression numérique et de finition international coté en bourse. Revenue en 2008 chez SEFAS au poste de Directrice Marketing et Communication groupe, elle gère une équipe répartie sur 3 géographies (France, Etats-Unis et Angleterre), crée le groupe utilisateurs de l’entreprise et lance un projet de certification ISO 9001, ISO 14001 et ISO 26000 couronné de succès.
Pendant 7 ans membre du conseil d’administration de l’association professionnelle Xplor France et 2 ans sa Présidente, Corinne a créé dès 2010 TiKibuzz, son agence de marketing et de communication.
Elle devient Directrice de la Communication en charge des Relations Presse, du Lobbying et du marketing digital chez DOCAPOST, groupe La Poste, durant 3 ans avant de rejoindre la start-up FINTECH Limonetik, en 2013. C'est cette même année qu'elle crée votre média professionnel, DOCaufutur, l'avenir du document.