« Disposer d’une bonne architecture applicative sans veiller à la performance des bases de données n’est pas rendre service à l’utilisateur » Sergio Romera, Solutions Architect chez Quest

« On reste souvent focalisé sur le facteur de la performance applicative » constate Sergio Romera, Solutions Architect chez Quest. « Mais disposer d’une bonne architecture applicative sans veiller à la performance des bases de données n’est pas rendre service à l’utilisateur ». Les bases de données sont indispensables pour préserver l’expérience de bout en bout. Elles doivent être dynamiques, capables de gérer des environnements qui évoluent, à la fois en mode on-premise et/ou dans le cloud, et ce quelle que soit la technologie : SQLServer, Oracle, bases open source (PostgreSQL, MySQL), Cassandra, MongoDB… « Le problème est que le nombre de bases de données explose » poursuit le Solutions Architect, « mais le personnel en charge de leur administration n’augmente pas, voire diminue… » Les compétences étant spécifiques pour chaque système, beaucoup d’organisations sont contraintes de multiplier les prestataires pour atteindre les niveaux de service attendus dans ce contexte d’hétérogénéité des bases de données. Dans certains secteurs tels que l’e-commerce, les enjeux économiques sont particulièrement importants. Une application critique qui cesse de fonctionner pendant une période de soldes peut causer des pertes considérables, sans évoquer les retombées en termes d’image.

Reprendre le contrôle des bases de données critiques

« Le point le plus sensible est l’aspect multi-plateforme » souligne Sergio Romera. « Il faut être en mesure de s’adapter à de multiples technologies de bases de données et savoir les gérer ». Une fois cette question résolue, on doit pouvoir détecter les problèmes de performance. Par où commencer, quels indicateurs surveiller, par quels moyens ? Une fois les problèmes détectés, comment être alerté afin de prendre des actions rapidement ?

La solution de monitoring cross plateforme Foglight de Quest répond à ces différentes préoccupations. Bases de données Oracle, SQL Server, NoSQL MongoDB ou Cassandra, Open Source de type PostgreSQL et MySQL, SAP Hana… Elle permet de monitorer l’ensemble des bases de données présentes dans le SI, sans limite d’instance, et de surveiller la charge de travail des bases de données. « Plus besoin de superposer des outils de plusieurs sociétés, un seul outil centralisé suffit pour monitorer l’ensemble de l’instance et obtenir une vision globale de bases de données ». Les fonctionnalités d’investigation de Foglight permettent d’analyser avec précision l’environnement de bases de données sur les dernières semaines ou mois, quels sont les pics d’usage, les moyens à mettre en place en cas de pic d’activité. « Foglight génère des rapports qui reflètent le niveau de santé de l’instance de bases de données » précise Sergio Romera. « Faut-il ajouter de la mémoire, des CPU, changer la config de la base, optimiser les requêtes SQL ? Foglight peut générer par exemple des rapports qui donnent une visibilité sur le nombre de jours qui restent avant que les ressources de stockage soient consommées à 100%. » Ces indicateurs permettront aux administrateurs de commander de l’espace disque ou d’agrandir les espaces de stockage mais on peut aller plus loin en automatisant la sortie des rapports. « On pourra par exemple recevoir à une certaine fréquence un compte-rendu des requêtes SQL qui posent le plus de problèmes au sein d’une instance » illustre le Solutions Architect. Une fois l’alerte mise en place, il sera également possible de programmer des actions automatisées pour résoudre les problèmes en question (par exemple augmenter automatiquement un espace disque).

Consommation des ressources, verrouillage des objets dans les bases de données, analyse des requêtes : les 3 principaux points de surveillance

Quelle est la consommation des ressources ? Combien la base de données consomme-t-elle de CPU, mémoire, disque, réseau ? Pour Sergio Romera, c’est souvent le premier point soulevé par les entreprises qui s’orientent vers la solution Foglight. Le constat paraît logique : les responsables cherchent avant tout à savoir s’ils disposent de suffisamment de puissance pour faire fonctionner les systèmes.

L’autre point concerne les verrouillages involontaires de bases de données. « Lorsque plusieurs applications tournent sur la même base de données, il arrive que certains utilisateurs bloquent des tables sans le savoir, rendant la mise à jour impossible. » Foglight permet de repérer ces locks et les annuler, le mécanisme pouvant être automatisé.

Parmi les points de vigilance les plus courants, on trouve également la surveillance des requêtes. « Rien d’étonnant puisqu’elles sont à l’origine des lenteurs dans les bases de données » relève Sergio Romera. Avec Foglight, la performance des requêtes peut être analysée de manière exhaustive, avec une vision de la consommation par utilisateur, par machine, par type de requête, par entrée/sortie, etc. La solution permet aussi de gagner un temps précieux en éliminant la phase d’exploration pour la détection des problèmes, et ce dans un contexte multi bases de données. Même expérimenté, un administrateur de bases de données maîtrise rarement plus de trois systèmes. Foglight permet de contourner cette limitation tout en générant des économies grâce au temps gagné dans la phase d’analyse et de correction des problèmes.