Bases de données

Share by email

×

Audit de Bases de Données

Analyser l'existant d'une ou plusieurs base de données plus ou moins profondément afin d'en diagnostiquer l'état et de préconiser des améliorations, essentiellement sur le plan de la conformité et des performances.

Audit de structure

Il s'agit de montrer si la structure de la base est en adéquation avec les exigences fonctionnelles et particulièrement adaptée à l'usage qui en est fait (requêtes). On vérifiera en particulier que le modèle de données a été respectueux des règles de l'art : modélisation relationnelle (MCD, MLD), respect des formes normales, contraintes de domaine, schéma externe... et correspond à la nécessité de service.

Audit de qualité des données

Il s'agit de vérifier que la base n'est pas polluée par de nombreuses données inutiles ou erronées. En particulier on vérifiera l'existence de contraintes telles que : contraintes de domaine, intégrité référentielles, unicité, validation, format (notamment les formats normalisés de données)... Dans le cas d'absence de telles contraintes, des mesures par sondage devront être entreprises afin de remonter les anomalies. Dans une base de données comptable on pourra par exemple utiliser un algorithme basé sur la Loi de Benford afin de déterminer si des anomalies d'écriture n'ont pas été commises en masse.

Audit de configuration et de performances

Il s'agit de vérifier si la configuration du serveur logique (SGBDR) et du serveur physique (hardware) est conforme aux exigences du service des données : en particulier RAM, disques, processeurs, paramétrages à tous niveau. Cela nécessite de tracer l'activité du serveur sur divers plans techniques puis d'analyser les données recueillies à l'aide de différentes techniques et moyens qui peuvent faire l'objet de plusieurs passes successives pour affinement.

Audit des requêtes clientes

Il s'agit de vérifier le style de développement adopté (requêtes adhoc, emploi de procédures stockées, mapping relationnel objet...), la qualité de l'écriture des requêtes et l'indexation des tables. On procède à l'aide de différentes techniques en fonction de la façon dont est écrit le programme applicatif, techniques qui peuvent être combinées (analyse d'échantillon, traçage de l'activité du moteur SQL, revue de code...). Cela nécessite une bonne connaissance de l'optimisation et du fonctionnement du moteur de requête et du moteur de stockage. Par exemple, on débusquera par "écrémage" les 20% de requêtes qui consomment 80% des ressources (loi de Pareto) et on s'appliquera à en diminuer drastiquement le coût, par exemple par récriture, indexation, voir refactoring du modèle. A ce stade, ou pourra aussi rechercher les problèmes potentiels liés à la sécurité : configuration des comptes d'accès, mise en place des privilèges sur les objets, utilisation de procédure accédant à des ressources externes, injection de code... et en donner les remèdes.

Audit d'infrastructure réseau

Il s'agit de vérifier ce qui se passe entre les serveurs SQL et les "clients". Ces clients pouvant être d'autres serveurs (Web, objet...) ou des clients applicatifs finaux. Il faut mesurer les temps de réponse effectifs (trames) et ressentis (utilisateur). La technique pour ce faire consiste à analyser les trames réseau pour en connaître la volumétrie et chronométrer les allers-retours des IHM. Pour une volumétrie anormale de trame, on en déduira quelles sont les commandes à l'origine et comment on peut agir dessus. Pour un temps de réponse IHM trop important, il faudra déterminer quel élément dans la boucle est à l'origine de la consommation anormale des temps de réponse. L'inconvénient de cet audit, est qu'il nécessite des moyens matériels et logiciels lourds et une analyse qui, compte tenu de la volumétrie et de la complexité des données recueillies peut prendre un certain temps.

More information

Business Intelligence

La BI ou Informatique Decisionnelle est un ensemble de théories , méthodologies , des architectures et des technologies qui transforment les données brutes en informations pertinentes et utiles à des fins commerciales ou veille concurrentielle.

More information

Enterprise Service Bus

Un bus de services d'entreprise ou ESB est un modèle d'architecture de logiciel utilisé pour la conception et la mise en œuvre de la communication entre les applications interagissant mutuellement dans une architecture orientée services (SOA).

More information

Extract-Transform-Loading

ETL est une technologie informatique middleware permettant d'effectuer des synchronisations massives d'information d'une base de données vers une autre. Elle permet d'exploiter différentes fonctions, souvent combinées entre elles : extraction transformation constitution ou conversion alimentation. Elle repose sur des connecteurs servant à exporter ou importer les données dans les applications (connecteur Oracle ou SAP…), des transformateurs qui manipulent les données (agrégations, filtres, conversions…), et des mises en correspondance (mappages). L'objectif est l'intégration ou la réexploitation de données d'un réservoir source dans un réservoir cible. Les solutions d'ETL chargent régulièrement de données agrégées dans les entrepôts de données ou datawarehouse, avant de se diversifier vers les autres domaines logiciels. Les ETLs sont utilisées dans le monde bancaire et financier, ainsi que dans l'industrie, au vu de la multiplication des nombreuses interfaces.

More information