Optimisation des bases de données MS SQL Server – Partie 1
On a beau répéter que l'optimisation de bases de données ne relève pas d'outils ni d'automatismes, mais du simple artisanat, il y a toujours quelques personnages pour prétendre qu'il suffit de faire ceci ou cela, pour obtenir de bonnes performances. Si les choses sont plus complexes qu'il n'y paraît, il n'en reste pas moins vrai que certains principes simples et des règles d'une grande évidence qui devraient guider l'équipe en charge du développement d'un projet informatique, sont souvent ignorées voire sciemment bafouées.
Cette série d'articles a pour but de présenter l'optimisation des bases de données sous toutes ses facettes. Il ne s'agit pas d'un cours technique (pour cela la place manquerait), mais plus globalement d'une réflexion sur les erreurs à ne pas commettre, celles à rectifier et les mesures à prendre dans le cadre de l'exploitation courante d'une base de données.
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.
ASP.NET 2.0 : Investissez dans les performances
Que vous soyez un développeur ASP.NET qui travaille sur des applications orientées données ou un DBA SQL Server gérant des applications ASP.NET, vous allez probablement découvrir que certaines possibilités d’ASP.NET 2.0 peuvent vous aider à « booster » les performances de votre site Web. Avec SQL Server afin d’invalider automatiquement les données mises en cache qui sont utilisées par le serveur Web.
Lire l'articleInterviews des chefs de produits Microsoft
Découvrez en exclusivité l’interview d’Alain Le Hégrat, chef de produit Windows Server, qui revient sur la sortie de SQL Server 2008.
Lire l'articleSQL 2008 : nouveaux types de données
SQL Server 2008 propose donc une gestion optimisée de ces éléments avec les types: goemetry, geography et filestream. Mais ce n'est pas la seule évolution proposée par SQL Server 2008 au niveau des données. En effet, SQL Server 2008 propose une gestion plus fine des données de type date et heure en proposant différents types de données. SQL Server 2008 offre également la possibilité de gérer correctement les données hiérarchiques par l'intermédiaire du type hierarchyid et les différentesméthodes associées.
Mais avant de commencer à présenter ces différents points, il est important, de souligner, que lorsque vous écrivez du code Transact SQL depuis SQL Server Management Studio (SSMS) le complément automatique du code est maintenant actif. L'avantage est double car il évite les erreurs de saisie et permet également d'écrire plus rapidement le code. Il n'y a maintenant plus de doute possible quant à l'orthographe exacte d'une variable ou bien le nom d'une méthode.
SQL Server 2008, au service de la productivité
SQL Server 2008 est la nouvelle version de la plateforme de gestion et d'analyse de données de Microsoft. Elle renforce les scénarios déjà couverts par SQL Server 2005 et en couvre de nouveaux comme nous l’explique Lionel Billon, chef de produit SQL Server Microsoft France.
Lire l'article5 étapes pour développer et déployer du code CLR dans SQL Server
Itzik Ben-Gan vous présente comment développer et déployer du code CLR dans SQL Server
Lire l'articleCLR 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'articleDes é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'articleLa 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'articleLes 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'articleFonctionnalité SQL Server 2005 facilement ignorées
Tout le monde a entendu parler des grandes nouveautés de SQL Server 2005.
Lire l'articlePleins feux sur la plate-forme d’entreprise de nouvelle génération !
Synergie de produits, de stratégies, de développements : la virtualisation des systèmes et la Business Intelligence, et garantissant aux utilisateurs, un accès universel aux informations.Volume de plus en plus croissant de données critiques à gérer, pressions règlementaires (Sarbane Oaxley, CRF 11, Bâle II), applications métiers renforcées, méthodes de gestion orientées process, course effrénée à la réduction des coûts : en 2008, les systèmes d’information gagnent encore en complexité. Au renfort de son initiative Dynamics IT et de sa plate-forme 2008 de gestion des applications d’entreprise, Microsoft veut aider les directions informatiques et les professionnels de l’IT à mieux gérer la complexité croissante de leurs systèmes d’information et à résoudre des équations informatiques de plus en plus difficiles:
Comment, par exemple, dans une optique de réduction des coûts, optimiser l’utilisation des ressources serveurs, y compris au sein des datacenters ? Comment au sein d’un système d’information de plus en plus hétérogène, gérer l’interopérabilité des applications ? Comment garantir la disponibilité des systèmes critiques lors des arrêts planifiés et non planifiés ? Comment répondre rapidement à la montée en charge des systèmes et réaffecter dynamiquement les ressources en fonction des attentes utilisateurs, qualité de service oblige ? Comment offrir encore plus de sécurité d’accès aux collaborateurs nomades ? « Microsoft veut aider les directions informatiques à sortir du cercle infernal break/fix, à diminuer les 70% de leurs budgets consacrés aux opérations de maintenance, en proposant des outils permettant de mieux gérer cette complexité et surtout d’en minimiser l’impact sur le système d’information » explique Lionel Billon, chef de produit SQL Server Microsoft France.
Analyser les méthodes d’accès aux données
Dans la nouvelle architecture de type RISC introduite en V4R1/V3R6, IBM a ajouté au système d’exploitation de nouveaux collecteurs de données de performances. Ces collecteurs fournissent les données brutes destinées à une variété d’applications et d’outils d’analyse SQL. Cela inclut la suite d’outils IBM iDoctor (comme Job Watcher, PEX Analyzer) et l’outil IBM SQL Visual Explain, qui fait partie de iSeries Navigator.Ces outils permettent de développer des applications efficaces, que ce soit sous SQL ou par des méthodes d’accès aux données traditionnelles. Malheureusement, dans beaucoup d’entreprises, les développeurs (a) ne connaissent pas l’existence de ces outils, (b) n’ont pas le droit d’y accéder, (c) ne comprennent pas la sortie fournie par eux, ou (d) cumulent les trois handicaps ci-dessus.
Dans cet article et plusieurs autres à suivre, je démontrerai comment ces outils contribueront à la modernisation des bases de données. En particulier, je décrirai l’utilisation du collecteur de statistiques PEX (Performance Explorer) pour l’analyse d’accès aux données traditionnelle et l’utilisation du Database Monitor pour l’analyse d’accès aux données SQL.
Réunion du GUSS : SQL Server 2008, vers une amélioration de l’ergonomie !
En décembre dernier, la réunion du groupe des utilisateurs francophone de SQL Server (le GUSS) s’est tenue dans les locaux de Microsoft France. Ce rendez-vous fut l’occasion d’une rencontre entre les membres du groupe, mais aussi de découvrir en avant-première, la version 2008 de Microsoft SQL Server. Cette preview était animée par Patrick Guimonet, et […]
Lire l'articleL’extraction à la volée
Analysis Services a modifié le regard des entreprises sur leurs données. Bien qu’OLAP existait assurément avant que Microsoft ne propose Analysis Services avec SQL Server, le géant de Redmond l’a mis à la portée des entreprises de toutes tailles.Celles-ci peuvent désormais analyser leurs données afin de prendre des décisions plus rapidement, à partir d’informations plus pertinentes. Analysis Services inclut une fonctionnalité appelée « extraction » (ou drillthrough en anglais) qui, une fois activée par les concepteurs de cubes, fournit à l’analyste un moyen d’exploration partant des données du cube pour aller jusque dans les tables relationnelles sous-jacentes. Cette approche permet d’examiner les enregistrements sur lesquels reposent les données visibles dans le cube. Par exemple, si l’enregistrement de cube indique qu’un client a acheté pour 10 000 dollars d’un produit spécifique, vous pouvez effectuer une extraction sur cet enregistrement afin de savoir si le client a passé une seule commande d’un montant de 10 000 dollars ou 10 000 commandes d’un dollar chacune.
L’extraction fonctionne bien dans la majorité des cas, mais elle présente un défaut. Vous ne pouvez pas modifier une requête d’extraction à la volée. Le créateur du cube configure la requête une seule fois pour le cube et celle-ci devient statique. Si vous devez passer des paramètres dans la requête d’extraction, vous ne pouvez pas employer Analysis Services seul. En revanche, vous pouvez créer un rapport d’extraction dans Reporting Services, puis utiliser une action au niveau cellule dans Analysis Services pour appeler le rapport et passer les paramètres appropriés. Cette option est particulièrement utile pour passer un niveau parmi plusieurs d’une dimension en tant que paramètre à une requête d’extraction, sans connaître à l’avance le niveau concerné. Un rapport d’extraction fonctionne également lorsque vous effectuez des comptages et si le champ sur lequel porte l’opération dans la table de faits peut contenir des valeurs NULL.
CLR : un potentiel à découvrir
Dans l’article « SQL Server : retour vers le futur » (www.itpro.fr), j’explique que les données sont au coeur de la majorité des systèmes informatiques modernes et que SQL Server 2005 va estomper les frontières traditionnelles du modèle d’applications multiniveaux. L’un des facteurs clé du changement de notre vision des niveaux d’une architecture informatique est l’inclusion du Common Language Runtime (CLR) dans SQL Server 2005.Cette fonctionnalité est l’une des plus commentées du nouveau produit et les avis positifs ou négatifs à son sujet sont très marqués, allant des utilisateurs qui souhaitent la désactiver ad vitam aeternam aux utilisateurs qui veulent l’employer à toutes les sauces. Les réactions à l’intégration du CLR dans SQL Server 2005 sont intéressantes. Alors qu’un membre de l’équipe de développement SQL Server effectuait une présentation sur l’intégration du CLR, une personne de l’assistance s’est levée et a crié « T-SQL est-il mort ? ». Cette question nous a incité à mettre en place une session spécifique intitulée « Non, T-SQL n’est pas mort ! ». A l’inverse, j’ai eu une conversation avec un programmeur ASP qui venait de découvrir l’intégration du CLR SQL Server et a déclaré d’emblée qu’il constituerait un emplacement remarquable pour stocker tous les assemblys .NET destinés à son site Web.
Lire l'articleSSIS et la sécurité
Comme toutes les autres fonctionnalités présentes dans SQL Server 2005 Integration Services (SSIS), les nouveautés du produit touchant à la sécurité diffèrent sensiblement de leurs homologues dans DTS. SSIS continue d’employer des mots de passe et crypte les données sensibles, mais l’approche a profondément changé et se traduit par une simplification de l’exécution, de la protection, de la planification et de la modification des lots automatisés.Les fonctionnalités de sécurité de SSIS se répartissent en cinq catégories fonctionnelles : le cryptage, pour la sécurité des lots ou de parties d’entre eux ; la protection des données sensibles, pour l’identification et la protection des mots de passe et autres données critiques ; les rôles SQL Server, pour le contrôle de l’accès aux lots stockés dans SQL Server ; la signature numérique du code, pour garantir qu’un lot n’a pas changé ; et, enfin, l’intégration des sous-systèmes de l’Agent SQL Server, pour le stockage et l’exécution sécurisée des lots. Le présent article examine en détail ces nouvelles fonctionnalités de sécurité et propose des conseils sur les modalités et les circonstances de leur mise en oeuvre. A cette occasion, j’aimerais remercier tout spécialement Sergei Ivanov, le développeur de l’équipe Integration Services qui a écrit ces fonctionnalités, pour ses réponses à toutes mes questions et pour s’être assuré que je comprenais parfaitement les moindres détails.
Lire l'articleSQL SERVER 101 : Principes fondamentaux de gestion
Si vous êtes chargés de gérer, ou d’administrer, un environnement Windows qui inclut Microsoft SQL Server – sans être DBA (administrateur de base de données) – vous risquez de vous sentir perdus au milieu de tables, d’index, de procédures stockées, de requêtes et de sauvegardes de base de données.Dans l’article « SQL Server 101: Concepts essentiels pour administrateurs Windows », je vous ai aidés à aborder SQL Server en expliquant ses concepts fondamentaux.Ici, je continue votre apprentissage de SQL Server en parlant des outils nécessaires pour gérer un système SQL Server 2000, des principes essentiels de sécurité de SQL Server et de la sauvegarde et restauration d’une base de données. Forts de ces deux articles, vous en saurez assez sur SQL Server pour assumer les tâches administratives d’un système SQL Server 2000.
Lire l'articleSQL SERVER 101 : Concepts essentiels pour administrateurs Windows
Dans les PME qui n’ont pas d’administrateur de base de données (DBA, database administrator) à plein temps, c’est à l’administrateur Windows qu’il incombe de gérer les systèmes Microsoft SQL Server : de quoi intimider quiconque n’est pas familiarisé avec ce produit. Si vous êtes un débutant en SQL Server et si vous ne savez pas par où commencer son apprentissage, ne cherchez pas plus loin. Cette série en deux parties vous donnera les connaissances essentielles nécessaires pour gérer efficacement un système SQL Server pour le compte d’un service ou d’une petite entreprise.Dans cet article, je fournis quelques informations de démarrage indispensables et explique les composantes de base de SQL Server. Dans la deuxième partie, à paraître dans un prochain numéro de Windows IT Pro, je présenterai quelques outils indispensables pour gérer SQL Server et indiquerai des pistes pour créer de bonnes stratégies de sécurité SQL Server et de sauvegarde de base de données.
Lire l'articleLes plus consultés sur iTPro.fr
- Azul permet aux entreprises de simplifier leurs environnements Java
- AI Speech double toutes vos vidéos !
- Finance : l’IA générative plébiscitée pour les décisions stratégiques
- Cybersécurité : les comportements à risque des collaborateurs
- Prédictions 2025 : voici comment l’intelligence artificielle va redéfinir la sécurité de 3 façons