Bien que l’on parle plus souvent du pilotage des performances des applications, le pilotage des performances des bases de données est primordial. En effet, une application sans données à exploiter ne sert à rien. Quels en sont les enjeux technologiques, économiques et humains ? Quel rôle dans une démarche DevOps, et plus globalement dans une démarche de Data Management ?
Pourquoi piloter la performance des bases de données ?
Le pilotage de la performance des bases de données répond principalement à deux enjeux.
Le premier enjeu est la limite du dimensionnement d’une base de données qui peut arriver selon les besoins exprimés et son usage.
Le second enjeu est la manière dont la base de données sera interrogée, qui peut également jouer un rôle en matière de performances. Par exemple , en réalisant une requête inattendue cela risque de charger exagérément la base. Dans le cas d’une requête plus classique elle peut être ralentie du seul fait de la quantité de données présentes dans la base. Or la quantité de données évolue tout au long du cycle de vie de la base de données, ce qui ajoute des contraintes dans le temps.
Ces contraintes peuvent être de plusieurs ordres : une infrastructure devenue inadaptée (CPU, mémoire du serveur, problème sur le système d’exploitation par exemple) ou encore l’absence d’index pour accélérer les réponses aux requêtes, etc.
Ainsi il est important de disposer d’une vue d’ensemble de l’évolution dans le temps des performances de toutes les bases de données d’un système d’information afin de prendre les bonnes décisions au bon moment. Bien sûr, a-ton besoin de le préciser, cela est valable pour les bases de données on premise comme dans le cloud. Ainsi vous garantissez, via du monitoring et un système d’alerting, de bonnes performances aux applications venant interroger chacune de ces bases, voire d’éviter d’éventuelles indisponibilités.
Pour aller plus loin, participez au webinar Digora, le 14/4, « Quelle démarche pour votre stratégie de gestion de données ? ».
L’explosion de la quantité de données accélère-t-elle ces enjeux ?
Avec une croissance très rapide des volumes de données aux formats divers et variés, on observe une multiplication du nombre d’instances de bases de données ainsi qu’une diversification des environnements, au sein d’un même système d’information.
En effet, auparavant, l’usage des organisations était de choisir un seul type d’environnement (Oracle, SQL Server…). Aujourd’hui, des environnements multiples voient le jour, évoluant en fonction du déploiement de nouvelles applications ou de la refonte des applicatifs existants.
Et, souvent le choix d’une technologie plutôt qu’une autre se fait sur des critères économiques.
Or, le nombre d’administrateurs de bases de données sur le marché est en recul, au mieux en stagnation. La gestion à la fois technique et des performances des bases de données est ainsi plus complexe puisque chaque système a ses propres spécificités.
De plus, les organisations sont de plus en plus dépendantes de leur système d’information pour garantir leur propre fonctionnement, y compris pour des processus industriels.
Foglight, une solution en concurrence avec les solutions d’Application Performance Management ?
Une gouvernance efficace du système d’information doit s’inscrire dans une double démarche : d’un point de vue global et d’interdépendance des différents éléments technologiques entre eux d’une part, mais également d’une nécessaire gouvernance spécifique en fonction de chacun de ces éléments technologiques d’autre part.
Ainsi une solution d’Application Performance Management (APM) permet d’identifier certaines problématiques intrinsèquement liées à une application, tandis qu’une solution de pilotage de la performance des bases de données telle que Foglight va spécifiquement aider un administrateur (DBA) dans l’optimisation des bases de données.
Cependant, il y a bien une relation de cause à effet : une base de données qui fonctionne mal peut ralentir les applications qui l’utilisent. Inversement, une application peut surcharger une base de données à cause de problèmes de requêtes.
Dans tous les cas, y compris pour ce qui est des bases de données autonomes, il est nécessaire d’avoir une gestion humaine de la gouvernance. L’automatisation totale n’étant pas crédible. Ces solutions de pilotage des performances sont toutefois et bien évidemment complémentaires dans le cadre d’une vision et d’une gouvernance globales du système d’information. Elles doivent aussi permettre aux équipes Dev d’un côté et DBA de l’autre d’être en mesure de mieux communiquer entre elles.
De façon plus générale, quel rôle joue le pilotage de la performance des bases de données dans le Data Management ?
Le volume de données croit de manière spectaculaire et cela accroit avec lui le risque de désorganisation des données. Qu’on ait une approche Big Data ou non, pour que le SI soit opérationnel, il faut des données pertinentes, organisées, de qualité et accessibles.
Si le Data Management est bien plus large que les bases de données en tant que telles, les performances de ces dernières restent fondamentales dans la chaîne de valeur que les données constituent dans le cadre des processus métiers de l’entreprise.
Quant au pilotage de ces performances, c’est aussi une façon d’optimiser les ressources IT.Ce n’est parce que le Cloud offre des ressources quasi inépuisables qu’il s’agit de surconsommer. Ce n’est ni bon pour le portefeuille des entreprises, ni pour la planète !