> Data
Validation Intelligente des données

Validation Intelligente des données

Lorsqu’une personne vous demande de décrire les données de votre entreprise, d’un système précis ou d’une base de données spécifique, combien de fois n’avez-vous pas répondu en mettant l’accent sur la taille du stockage, le taux de croissance, le nombre de tables ou le nombre de lignes ?Ces caractéristiques sont certes importantes pour la conception et la gestion d’une solution efficace et maintenable, mais je vous propose de ne pas limiter vos réponses à la quantité ou au volume, mais également d’inclure une caractérisation de la qualité des données. Après tout, ce n’est pas la quantité des données qui importe, mais leur qualité. Une entreprise peut avoir la plus grande base de données au monde, avec le taux de croissance le plus impressionnant, mais si elle ne peut quantifier la qualité de ses données, celles-ci n’ont aucune utilité.

Le terme « validation intelligente des données » décrit le concept consistant à configurer l’environnement de base de données et de traitement afin d’appliquer automatiquement la validation. Lorsque vous concevez, mettez en oeuvre et gérez vos propres bases de données, vous devez prendre en compte plusieurs aspects essentiels de leur conception : la propriété des données, leur intendance, leurs définitions, leur modélisation, leur normalisation, les valeurs NULL et les types de données, ou encore le nettoyage et l’intégrité des données.

À mesure que vous découvrirez ces aspects tout au long de l’article, rappelez- vous qu’il n’existe rien d’absolu en matière d’options de conception et d’implémentation. Au contraire, vous devez considérer systématiquement les fonctionnalités, avantages et compromis de chaque aspect par rapport à votre environnement spécifique. Si vous gardez cette règle à l’esprit tout au long de votre lecture, vous trouverez des tonnes d’idées pour accroître la qualité de vos données en mettant en oeuvre des stratégies intelligentes de validation de ces dernières.

Lire l'article
Optimisation des bases de données SQL Server : l’exploitation

Optimisation des bases de données SQL Server : l’exploitation

Votre modèle des données est parfait : justement normalisé et très légèrement dénormalisé par des techniques fiables et pour des données dont il est prouvé que cela apporte un gain significatif. Vos requêtes sont optimisées et les serveurs, tant logiques que physiques, comme leurs environnements sont taillés, dimensionnés, mesurés, configurés pour le volume de données et de transactions à subir. Enfin, vous avez pensé au découpage de vos espaces de stockage, choisi vos disques et constitué vos agrégats en conséquence… Pourtant il vous manque une brique pour parfaire votre oeuvre : penser l'exploitation de vos données au quotidien, c'est là SQL Server sur le site communautaire de developpez.com, un internaute postait un remarquable message. Il avait une procédure complexe longue et coûteuse en traitement qui importait des données dans une base, avec une planification quotidienne de nuit. Un matin quelle ne fût pas sa stupeur de constater que cette procédure qui durait habituellement un peu plus d'une heure, n'était pas encore terminée. Il attendit donc la fin du traitement et constata que ce dernier avait mis près de 10 heures, soit 8 fois plus qu'ordinairement. Que s'était-il passé ?

Contenu complémentaire

Numéro hors série : Gestion et optimisation des environnements multi bases de données
Le site du groupe utilisateurs de SQL Server : le GusS

Lire l'article
Optimisation des bases de données SQL Server Troisième partie

Optimisation des bases de données SQL Server Troisième partie

TROISIÈME PARTIE : LE MODÈLE DE DONNÉES
Optimiser une base de données simplement par la qualité de son modèle est une chose simple, très efficace et à coût nul... Voila qui devrait intéresser beaucoup de monde. Or c'est souvent l'inverse qui se passe : le peu d'attention apportée au modèle, le peu de précaution dans le choix des types de données, le peu de respect des formes normales sont autant d'icebergs qui ne vont pointer leurs nez qu'au moment une base de données à raison d'une table pour un fichier est un échec assuré dont beaucoup d'éditeurs de solutions informatiques ont fait les frais.

Ce nouvel article a donc pour but de vous faire comprendre ce que sont les données, les types de données et la modélisation dans la perspective d'optimisation d'une base et donc d'un serveur. Toute application avec une forte implication de SGBDR commence par une modélisation des données. La qualité d'un modèle de données, ne se fera sentir que lorsque ce dernier sera mis à l'épreuve du feu, qui dans l'univers des SGBDR consiste à farcir ses tables qu'une quantité phénoménale de données et jouer les requêtes les plus fréquentes afin d'en mesurer les temps de réponse. Or cette phase est rarement entreprise en test. Elle l'est généralement en production.

C'est là qu'est l'os, hélas1, car il est déjà trop tard ! Lorsqu'un modèle de données est établi, et que le poids du volume des données se fait sentir, alors tenter de le remodéliser pour gagner des performances est un chalenge difficile : les évolutions du schéma conduisent à des migrations de données importantes (donc risquées) et des modifications d'interfaces conséquentes (donc du code à récrire). Lorsqu'il s'agit d'une base de données volumineuse, l'inertie des données peut être telle que l'alternative est s'adapter avec un coût de modification élevé ou mourir. C'est pourquoi un modèle de données bâclé présente la particularité d'avoir un coût très élevé lorsqu'il doit être rectifié, alors qu'un modèle peaufiné présente un coût quasi nul si l'on utilise l'outil adéquat et l'homme d'expérience.

Malheureusement, les français ont beau avoir inventé une méthode de modélisation d'une grande simplicité (MERISE2) il n'en demeure pas moins que peu d'informaticiens savent modéliser les données de manière intelligente. Bref, ce sont de ces écueils que je veux aujourd'hui vous entretenir, et pour cela, j'ai découpé en différentes parties le présent article. La première traite des types de données, la seconde des clefs, la troisième des tables et la quatrième de la normalisation.

Lire l'article
Révisez vos bases de la conception avec SQL Diagrammer

Révisez vos bases de la conception avec SQL Diagrammer

Depuis combien de temps n’avez-vous pas effectué de la modélisation des données ? Etait-ce hier ? Le mois dernier ? Il y a une éternité, pendant vos études universitaires ? Si vous entrez dans la dernière catégorie, quelle est votre excuse ?A) Je n’en ai pas besoin pour mon travail.
B) Je n’ai pas le logiciel approprié.
C) Je ne sais pas comment procéder.

Si vous avez répondu par B) ou C), j’ai de bonnes nouvelles à vous annoncer : si vous avez SQL Server 2005 ou 2000, vous disposez d’un outil de modélisation de données intégré. Parfois connu sous l’appellation outils DaVinci ou Concepteur de bases de données, le concepteur de diagrammes SQL Server ou SQL Server Diagrammer est disponible dans l’arborescence de SQL Server 2005 Management Studio sous la forme « Database Diagrams » et en tant que « Diagrammes » (Diagrams) dans la console SQL Server 2000 Enterprise Manager. C’est ce logiciel qui vous aidera à décrire vos schémas de base de données et même à concevoir vos futures bases de données. A mesure que nous allons explorer cet outil élémentaire, vous verrez comment il peut vous donner une bonne représentation visuelle facilement exploitable de vos bases de données.

Aucun travail d’indexation, aucune programmation intelligente ou aucun matériel plus puissant ne peut contrebalancer une conception médiocre. En revanche, si vous commencez par modéliser et par réaliser la conception appropriée, vous serez bien parti pour obtenir une base de données très performante. (Pour en savoir plus sur l’importance et les avantages d’une bonne conception de base de données, lisez l’encadré Web « Why Model? », https://www.itpro.fr (Club Abonnés), et pour une présentation de la modélisation dimensionnelle appliquée à l’analyse décisionnelle, consultez l’article « Les bases de la modélisation dimensionnelle », dans SQL Server Magazine Juin 2006.)

Le logiciel de modélisation est utilisé de deux manières : pour décrire et pour concevoir. En mode description, il sert à cataloguer l’existant : les systèmes, processus, référentiels de données, applications et systèmes logiciels qui concourent à la réussite de votre entreprise, ainsi que les documents qui décrivent les méthodes employées pour accomplir les tâches. En mode conception, vous vous tournez vers l’avenir. Vous écoutez les griefs et problèmes des utilisateurs, à savoir des employés en première ligne jusqu’aux échelons de direction (par ex., PDG, Directeur financier) et vous allez utiliser le logiciel de modélisation pour concevoir les structures de données permettant d’atténuer ces griefs et problèmes. Il existe de nombreux logiciels pour la modélisation de bases de données et l’encadré Web « Describe and Design », https://www.itpro.fr (Club Abonnés), présente les types de fonctionnalités des différents outils disponibles. L’outil de modélisation de SQL Server est relativement basique. Il est idéal pour la tâche de description et il serait donc plus approprié de le considérer comme un outil de conception de diagrammes, plutôt qu’un outil de modélisation. Pour les besoins de cet article, je ferai référence au concepteur de diagrammes SQL en tant qu’outil de modélisation et aux graphiques qu’il crée en tant que modèles. Une fois familiarisé avec le fonctionnement du concepteur de diagrammes SQL, vous pour

Lire l'article
CLR or not CLR telle est la question ?

CLR or not CLR telle est la question ?

L’intégration du CLR (Common Language Runtime) .NET dans SQL Server. Afin de faciliter le travail, je fournis le code .NET en C# et en VB.NET, et tous les exemples sont téléchargeables dans le Club Abonnés d'iTPro.fr.

Lire l'article
Deux outils pour une optimisation permanente de SQL Server

Deux outils pour une optimisation permanente de SQL Server

Depuis des années, le support technique de Microsoft (PSS) se sert de deux outils, OSTRESS et Read80Trace, afin de simuler des scénarios et d’analyser des fichiers de trace SQL Server pour le compte de ses clients. Au cours de l’édition 2004 de la conférence PASS (Professional Association for SQL Server), ces outils ont été dévoilés au public.Les DBA et développeurs SQL Server verront dans OSTRESS un outil appréciable pour la mise en oeuvre de scénarios de test de charge complexes et Read80Trace les aidera à analyser des fichiers de trace SQL Server afin de résoudre des problèmes de performances. Cet article propose quelques scénarios d’utilisation détaillés pour ces outils et fournit des indications afin de les mettre en oeuvre efficacement.

 

Lire l'article
Des évolutions très appréciées… pour une plate-forme d’entreprise innovante !

Des évolutions très appréciées… pour une plate-forme d’entreprise innovante !

Au cours de ces dernières années,Visual Studio n’est pas en reste non plus !Chronique d’une « plate-forme d’entreprise » annoncée…

Lire l'article
Démystification du débogage dans SQL Server 2005

Démystification du débogage dans SQL Server 2005

Pour déboguer une procédure stockée T-SQL dans SQL Server 2000, vous faites appel à l’Analyseur de requêtes (Query Analyzer). Il suffit de cliquer avec le bouton droit de la souris sur la procédure stockée et de sélectionner Débogage (Debug). Dans SQL Server 2005, l’Analyseur de requêtes est remplacé par SQL Server Management Studio et il serait logique de penser que la démarche sera similaire, à savoir cliquer avec le bouton droit de la souris sur la procédure stockée T-SQL et sélectionner la fonction de débogage de Management Studio. Ce n’est malheureusement pas aussi simple car vous ne trouverez aucune option de débogage.Dans SQL Server 2005, le débogage d’une procédure stockée T-SQL passe par l’utilisation de l’environnement de développement Visual Studio 2005. Mais, avant d’en arriver là, il faut avoir de la matière à déboguer. Au lieu de reprendre une procédure stockée existante ou d’en créer une dans Management Studio, nous allons en construire une via le type de projet mal connu Database de Visual Studio 2005. Dans les projets Database, vous pouvez accéder au Query and View Designer, lequel fournit des outils graphiques pouvant servir à créer des procédures stockées T-SQL.

Lire l'article
La bataille de la fragmentation: les clés de la victoire

La bataille de la fragmentation: les clés de la victoire

Il y a quelques mois, j’ai été réveillé par la sonnerie insistante de mon terminal BlackBerry, laquelle m’informait que j’avais un message de priorité élevée. Tous les clients qui utilisaient l’une de mes bases de données m’appelaient pour se plaindre que notre application Web nécessitait 20 à 30 secondes pour charger les pages qu’ils consultaient le plus fréquemment.Les performances s’étaient dégradées progressivement au cours des dernières semaines et en étaient à un point tel que la simple connexion de quelques utilisateurs provoquait l’arrêt du système. Il fallait que je trouve la source du dysfonctionnement et vite. Le présent article explique comme j’ai pu remonter à l’origine du problème, celle-ci étant due, comme j’ai pu le découvrir, à l’action combinée de la fragmentation de tables et fichiers de base de données et d’une mauvaise densité de page. Il présente ensuite les actions prises pour corriger le problème.

Lire l'article
De la valeur de l’intégration SQL Server 2005 et Visual Studio 2005

De la valeur de l’intégration SQL Server 2005 et Visual Studio 2005

Paul Flessner et S. Somasegar, vice-présidents chez Microsoft, parlent à coeur ouvert de l’approche « Une équipe qui gagne »Au cours d’un entretien, les vice-présidents de Microsoft Paul Flessner (vice-président directeur de la division des applications serveur, laquelle inclut https://www.itpro.fr Club abonnés.)

Lire l'article
Actu SQL : les coulisses des TechDays 2008

Actu SQL : les coulisses des TechDays 2008

Lundi 31 mars dernier, se tenait la réunion du groupe des utilisateurs SQL Server (le GUSS). L’occasion pour la trentaine de personnes présentes, de découvrir Vinci, la face cachée des Microsoft TechDays 2008. La seconde partie, beaucoup plus technique, était consacrée à la conception et à la gestion de la business intelligence avec SQL Server […]

Lire l'article
actu SQL Server sem 09

actu SQL Server sem 09

La firme de Redmond a marqué un tournant dans sa stratégie concernant ses technologies et ses pratiques métiers, en annonçant le 21 février dernier, l’augmentation de l’interopérabilité de ses produits. Cette nouvelle stratégie concerne : Exchange Server 2007, et Office SharePoint Server 2007, ainsi que toutes les futures versions de ces produits. Dans son communiqué […]

Lire l'article
actu SQL Server sem 20

actu SQL Server sem 20

Les sociétés Cray et Intel ont annoncé la signature d’un accord sur plusieurs années, dont l’objectif est de faire progresser le calcul intensif (High-Performance Computing, HPC). Ces recherches se feront sur microprocesseurs Intel et doivent déboucher sur une large palette de technologies nouvelles, élaborées en commun, sur les futurs serveurs Cray. Les deux entreprises prévoient […]

Lire l'article
News SQL : semaine 15

News SQL : semaine 15

Le 2 et 3 avril derniers, se tenait à Shanghai, le Forum Intel des développeurs. L’occasion pour le fabriquant de puces de lancer cinq processeurs Intel Atom pour la technologie processeur Intel Centrino Atom ainsi que des solutions d’informatique embarquée. Selon le communiqué de presse, la technologie processeur Intel Centrino Atom regroupe également un jeu […]

Lire l'article
Développez votre connaissance de l’analyse décisionnelle

Développez votre connaissance de l’analyse décisionnelle

Je dois admettre un fait. Je faisais partie des personnes du monde des bases de données relationnelles qui ne s’intéressaient pas réellement à Analysis Services. Je pensais qu’un cube OLAP était le poste où travaillait un certain Oliver Lap du département de la comptabilité entre 8 h 00 et 17 h 00. Pour moi, les dimensions étaient réservées aux physiciens et aux adeptes de la série La quatrième dimension.Mon point de vue s’est modifié il y a quelques années, lorsque j’ai appris en quoi Analysis Services pouvait être avantageux, pour moi comme pour mes clients. Si vous vous focalisez depuis toujours sur les bases de données relationnelles, vous allez peut-être changer d’avis en essayant la CTP (Community Technical Preview) analyse décisionnelle (en anglais BI (Business Intelligence)) fantastiques proposées par SSIS (SQL Server Integration Services) pour vos applications relationnelles. Deux nouvelles tâches de transformation vous simplifieront la vie lorsque vous travaillez sur des données incohérentes et une tâche de data mining vous permettra de créer un modèle de données s’adaptant aux évolutions de l’activité.
Ces fonctionnalités ne requièrent pas une grosse infrastructure d’entrepôt de données ou de cube OLAP. Il vous suffit d’avoir SQL Server 2005 et d’être prêt à tester quelque chose de nouveau.

Lire l'article
Optimisation des bases de données MS SQL Server – Partie 2

Optimisation des bases de données MS SQL Server – Partie 2

Seconde partie : le serveur - ressources physiques, ressources logiquesJe pose souvent la question en ces termes lors des formations que je donne : parmi les différentes formes d’informatique, laquelle nécessite les machines ayant les plus grandes ressources ? La plupart du temps, les étudiants et les stagiaires m’affirment que c’est l’informatique scientifique, gavée des exploits des antiques Cray et de Deep Blue et des monstres utilisés pour les calculs de la météo. D’autres pensent que ce sont les machines de la conquête spatiale… Peu savent que l’on trouve les systèmes les plus étoffés dans l’informatique de gestion. Un système comme SABRE de United Airlines fut longtemps l’un des systèmes de gestion de bases de données les plus énormes qui soit.

Ce besoin de ressources est lié à deux composantes : des calculs, certes souvent peu complexes, mais surtout la volumétrie des données à manipuler. Des quantités de données parfois si gigantesques qu’il convient de répartir la charge sur de multiples machines car pour certaines bases, aucun ordinateur au monde n’a encore la capacité de traiter seul et dans des temps de réponse acceptables les masses des données en jeu.

Finalement un serveur n’est rien d’autre qu’un ordinateur dont on a sciemment atrophié certains éléments afin de les rendre plus performants qu’un PC de bureau. Voyons ce qu’un serveur n’a peu ou prou besoin. Il n’a pas bien besoin d’un écran puisque qu’il se doit d’être scruté par l’intermédiaire d’autres machines. Il n’a pas non plus réellement besoin d’un clavier ni d’une souris pour les mêmes raisons. En revanche, nous pouvons convenir qu’il a besoin de beaucoup de mémoire comme nous l’avons vu au chapitre précédent. Il a besoin de processeurs rapides (notez le pluriel), de disques de grande capacités dotés des temps de réponses les plus courts. Ce sont donc ces trois axes que nous allons étudier dans cet article. Nous verrons cela du côté physique puis du côté logique. Nous en tirerons quelques nouvelles règles propres à établir les préconisations que tout un chacun doit pouvoir spécifier afin de choisir une machine et la configurer au mieux en fonction de son budget.

Lire l'article
Les bases de la modélisation dimentionelle

Les bases de la modélisation dimentionelle

SQL Server 2005 Analysis Services utilise des dimensions à base d’attributs, de telle sorte que chaque attribut d’une dimension est traité automatiquement en tant que hiérarchie autonome. Désormais, vous pouvez employer la couche des métadonnées qui définit les cubes Analysis Services (le modèle dimensionnel unifié ou UDM) afin de spécifier une dimension client au lieu d’une demi-douzaine de dimensions séparées artificiellement. Un avantage de cette prise en charge plus poussée de l’approche dimensionnelle est que les développeurs de systèmes de data warehouse et d’analyse décisionnelle (BI) n’ont plus besoin de convertir des techniques de modélisation dimensionnelle standard à la vision limitée des anciennes versions de SQL Server. Désormais, vous pouvez construire des dimensions qui représentent de manière réaliste le mode de fonctionnement de votre activité et sont capables d’évoluer en phase avec celle-ci. L’objet de cet article est de définir les modèles dimensionnels, de décrire les éléments de base et les techniques qui les prennent en charge, et de proposer une architecture de données de type dimensionnel pour votre système de data warehouse et d’analyse décisionnelle.

Lire l'article
actu semaine 08

actu semaine 08

La version 2008 de SQL Server qui a été pré lancée lors des Microsoft TechDays 2008 ne sera finalement pas disponible pour le printemps de cette année. L’explication nous vient du responsable produit de Microsoft, François Ajenstat, qui a déclaré sur le blog de l’éditeur : "le travail des équipes n’est pas assez avancé pour […]

Lire l'article
Réplication de base de données contre réplication du stockage

Réplication de base de données contre réplication du stockage

De nombreux base de données permet de satisfaire des exigences de réplication spécifiques non prises en charge par l’autre approche. Le présent article se propose d’examiner les trois facteurs décisifs à prendre en considération afin de combiner au mieux les deux approches pour votre organisation.

Lire l'article
Fonctionnalité SQL Server 2005 facilement ignorées

Fonctionnalité SQL Server 2005 facilement ignorées

Tout le monde a entendu parler des grandes nouveautés de SQL Server 2005.

Lire l'article