Performances des bases de données : comment choisir le bon outil
Une solution ne peut pas résoudre tous les problèmes. La compréhension des causes premières d’un goulet d’étranglement aide à sélectionner l’outil de gestion des performances le plus adapté.
Disposer de bases de données aux performances non optimisées peut avoir des effets négatifs sur chaque pan de l’activité d’une entreprise. Pour éviter cela, les outils de gestion de performances des bases de données contribuent à améliorer le temps de réponse et l’efficacité des bases, et au final les applications qu’elles motorisent. Ils permettent aussi d’éviter les temps d’interruptions inopinés. Toutefois, choisir le bon fournisseur technologique et la bonne technologie s’apparente parfois à un parcours du combattant.
Les entreprises prennent en considération ce type d’outils pour résoudre un problème très spécifique, qui implique généralement une baisse de la satisfaction des utilisateurs. Toutefois, tous les outils ne conviennent pas. La compréhension de la cause première du problème contribue à réduire la liste des outils les plus adaptés.
Il est certes possible d’évaluer le logiciel et d’entamer ainsi un processus de sélection. Toutefois, à travers cet article, nous souhaitons vous simplifier la vie et passer en revue 9 outils et fournisseurs d’outils de gestion des performances de bases de données.
Bien connaître les causes du problème
La première étape d’une évaluation de produit est de savoir quel est l’impact du problème sur le système de gestion de base de données : la structure de la base, comme son index et son organisation ; ou encore du code SQL peu performant. Une fois cela en place, vous pouvez commencer à restreindre le périmètre, avec la bonne catégorie d’applications et de fournisseurs.
Par exemple, si vous êtes confrontés à des problèmes de fragmentation de base de données, vous pouvez considérer les solutions de BMC Software, CA Technologies, Dell ou Idera. Pour les utilisateurs de DB2 pour z/OS, les outils Performance pour DB2 Database de BMC et Database Analyser and Rapid Reorg de CA peuvent être utilisés pour identifier et optimiser des structures désorganisées d’une base. Pour Oracle, Microsoft SQL Server, DB2 pour Linux, UNIX et Windows, Toad (Dell) propose des fonctions de réparation de fragmentation – ce que propose aussi DBArtisan d’Idera.
En matière de monitoring des bases, il faut considérer les outils de Dell, SolarWinds, Bradmark Technologies et Idera. Les administrateurs de bases de données (DBA) ont quant à eux la possibilité d’utiliser Foglight for Cross-Platform Databases de Dell pour surveiller de façon proactive les performances de leurs bases, des requêtes SQL et du stockage. Database Performance Analyser de SolarWinds est quant à lui un outil d’analyse et de monitoring des performances de bases de données pour les DBA et les équipes en charge de la gestion des applications. Surveillance DB, le produit phare de Bradmark, est de son côté un outil de contrôle de performance dit hétérogène (qui repose sur un agent). Il permet d’observer les indicateurs clés de performances de plusieurs bases de données au sein d’une console unique.
Chez Idera, l’outil de gestion de performance multi-plateforme est Precise Application Performance Platform. Même si cette solution est essentiellement un outil de gestion des performances d’applications, il renferme des options pour les bases Oracle, DB2, SQL Server et SAP Adaptive Server Enterprise (ASE) – le support de HANA est en cours. Pour monitorer DB2 pour z/OS, on peut considérer Omegamon d’IBM, MainView de BMC et Sysview Performance Management Option pour DB2 pour Z/OS de BMC.
En ce qui concerne l’analyse et le monitoring de SQL, Oracle Enterprise Manager et IBM Data Server Manager avec Query Monitor sont à prendre à compte. Microsoft propose également des options de gestion des performances de SQL pour SQL Server. Dans le monde DB2 pour z/OS, en plus des outils d’IBM, on peut également considérer la suite d’outils de BMC (Performance pour DB2) et Detector and Plan Analyser de BMC. Ils peuvent être utilisés pour isoler – identifier le code SQL quand il s’exécute – et ajuster les requêtes SQL. Pour Oracle et SQL Server, des produits comme DB Optimizer d’Idera et les fonctions d’optimisation SQL de Toad (Dell) peuvent être utilisés pour accroître les performances du code SQL des principales bases de données du marché.
Evidemment, on ne peut pas toujours connaître les causes sous-jacentes d’un problème. Dans ce cas, la meilleure approche consiste à utiliser d’abord un outil de monitoring du système. La plupart des fournisseurs d’outils de gestion des performances en proposent – nombre d’entre eux incluent des fonctions d’analyse de fragmentation et de monitoring de SQL.
Etre proactif
Toutefois, au lieu d’investir dans un outil de gestion des performances quand un problème apparait, la bonne approche consiste à acheter le bon outil de façon proactive, en avance de phase. Cela nécessite généralement de choisir un ou plusieurs outils de chaque catégorie précisée ci-dessus.
Les deux autres aspects à considérer, le support des bases et la gestion hétérogène, permettront de dire si un seul outil par catégorie suffit, ou s’il est nécessaire d’en avoir plusieurs. Si vous souhaitez par exemple améliorer les performances de votre base DB2 pour z/OS, un outil qui supporte seulement Oracle ou SQL Server ne sera d’aucune aide.
La plupart des fournisseurs de bases de données proposent des outils de gestion de performances pour leur propre produit, comme par exemple IBM Data Server Manager ou Oracle Enterprise Manager, ainsi que des packs associés. Ce qui leur permet d’adapter leur outil de gestion de performances aux fonctions de leur produit qui influent justement sur les performances. Cela permet aux DBA d’exploiter au maximum les fonctions de leurs bases. De plus, les fournisseurs de bases de données ont la capacité de supporter plus rapidement les nouvelles versions que les éditeurs d’outils tiers. La communication avec les équipes techniques et de support est également facilitée.
En revanche, côté innovation, les éditeurs d’outils tiers ont généralement une longueur d’avance. Ils intègrent plus rapidement de nouvelles fonctions qui à terme seront ajoutées par les fournisseurs de bases de données à leurs produits. Par exemple, la possibilité de réorganiser une structure de base de données sans avoir à rendre les données offline a été intégrée en premier par CA et BMC. La gestion hétérogène – la capacité à pouvoir gérer plusieurs bases -, est une autre fonction généralement appréhendée plus rapidement par les éditeurs tiers que par les traditionnels fournisseurs de bases de données.
La capacité de ces outils tiers à s’intégrer aux outils en place doit également être prise en considération. La plupart de ces éditeurs proposent des outils de gestion des performances dans chacune des 3 catégories. Généralement, ces outils se retrouvent associés aux options de monitoring de la base. Ce dernier identifie un problème avec SQL ; ce problème est géré par des outils d’analyse SQL pour ajustement.
Adapter les outils à vos DBA
Les entreprises disposant de plusieurs bases de données devront également choisir une approche spécifique en matière de gestion des performances en environnement hétérogène. Cela dépendra fortement de l’organisation et des attentes des équipes de DBA en place. En matière de gestion des bases de données, une approche consiste à recruter des administrateurs spécialisés, et donc dédiés à un type de base. Les DBA Oracle ne gèrent que les bases Oracle, les admin DB2, les bases IBM DB2 et ainsi de suite, et ce, quel que soit le nombre de bases.
Avec cette approche de DBA spécialisés, il est pertinent de choisir les meilleurs outils de gestion des performances pour chaque type de bases. Au-delà des outils propres aux fournisseurs même des bases, CA et BMC incluent le support de DB2 pour z/OS à l’ensemble de leur gamme, Bradmark (Surveillance DB) un support solide de SAP ASE et Idera SQL Server.
Une autre approche consiste à pousser les DBA à gérer plus d’une base de données. Cette méthode est propice à l’usage d’outils de gestion des performances hétérogènes car ils ont la capacité de masquer les différentes entre les systèmes au travers d’une unique interface utilisateur. Le DBA peut ainsi gérer plus facilement les différentes technologies. C’est le cas de Toad et Foglight (Dell), Database Performance Analyser (SolarWinds), DBArtisant et DB Optimizer (Idera).
Troisième méthode : celle de l’approche mixte qui consiste à associer les DBA spécialisés à d’autres, en backup. Ces derniers prennent en charge les opérations plus simples d’administration et de gestion des performances. Dans ce cas, une stratégie technologique est aussi pertinente : des plateformes avancées pour les DBA spécialisés et d’autres outils unifiés pour les autres DBA.
Les exigences en matière de gestion en environnements hétérogènes nécessitent généralement de travailler avec des fournisseurs tiers, mais pas toujours. Pour des entreprises ayant plusieurs bases de données, mais avec une forte empreinte d’Oracle, il est préférable de regarder du côté de Oracle Enterprise Manager, qui supporte aussi les bases non Oracle – mais pas avec la même amplitude. Il est toutefois nécessaire de rester prudent dans l’évaluation. Oracle Enterprise Manager va au-delà de la gestion des performances – comme la navigation dans le base et la gestion des modifications. Ce n’est pas parce qu’il supporte des bases non Oracle, que c’est le cas des outils de gestion des performances.
Quelques recommandations de base
Lors de l’évaluation d’outils hétérogènes, il est important de bien comprendre comment chaque fournisseur package leur produit. Une installation séparée sera peut-être nécessaire pour chaque technologie que vous souhaitez supporter. Il s’agit de confronter cette approche avec l’installation d’un seul outil utilisé pour gérer plusieurs bases de données depuis un seul tableau de bord. Evidemment, il est plus facile de supporter le dernier et aussi plus facile pour les DBA de le partager.
Lorsque vous êtes en recherche d’un produit, il est aussi nécessaire de considérer le niveau des fonctions qui peut varier d’une plateforme à l’autre. Un outil capable de monitorer des requêtes SQL, de prendre automatiquement des mesures correctives pour une base dédiée peut aussi être plus limité sur d’autres bases.
Même s’il existe nombre d’outils de gestion des performances, développés aussi par une multitude d’éditeurs, il est possible de mettre en place un ensemble complet pour la plupart des environnements de bases de données. A condition d’avoir une compréhension globale des besoins, des bases et de l’évolution de l’ensemble.
Traduit et adapté par la rédaction