35
Présentation de SQL Server 2008 R2 Au mois d’avril 2010, Microsoft a sorti une nouvelle version de son serveur de base de données phare, sous le nom SQL Server 2008 R2 pas vraiment haut en couleur. Dans la version R2, le moteur de base de données central de SQL Server 2008 demeure quasiment inchangé, mais un grand nombre de nouveautés peuvent étendre de manière spectaculaire le rôle de SQL Server pour la gestion des données de l’entreprise. Pourquoi "SQL Server 2008 R2" ? Microsoft réserve occasionnellement le qualificatif R2 généralement aux versions ponctuelles de ses applications apportant quelques nouvelles fonctions. En revanche, les nouvelles versions majeures proposent une multitude de nouvelles fonctionnalités et de correctifs, tandis que les Service Packs pour la plupart corrigent les bugs. Le côté sympa de SQL Server 2008 R2 est qu’il ne touche pas le moteur de base de données, présent sur le marché depuis 2 ans et maintenant extrêmement stable. Les entreprises devraient pouvoir installer la version R2 sereinement et bénéficier de ses nouvelles fonctionnalités sans crainte de modifications radicales au niveau du moteur central. Avec SQL Server 2008 R2, Microsoft complète l’éventail des fonctionnalités d’un produit de base de données mature. La version R2 s’accompagne de deux nouvelles éditions SQL Server haut de gamme : Datacenter pour les bases de données d’entreprise ultra- volumineuses et ultra-sollicitées, et Parallel Data Warehouse avec le traitement massivement parallèle pour la gestion des data warehouses constamment sur le pont. Quelques fonctionnalités de la version originale de SQL Server 2008 sont étendues aux éditions meilleur marché. Par exemple, la compression des sauvegardes disponible à l’origine uniquement avec l’édition Enterprise, fait désormais partie intégrante de l’édition Standard. Par ailleurs, la taille maximum de base de données prise en charge par SQL Server Express passe de 4 Go à 10 Go, ce

Présentation de SQL Server 2008 R2

Embed Size (px)

Citation preview

Page 1: Présentation de SQL Server 2008 R2

Présentation de SQL Server 2008 R2

Au mois d’avril 2010, Microsoft a sorti une nouvelle version de son serveur de base de données

phare, sous le nom SQL Server 2008 R2 pas vraiment haut en couleur. Dans la version R2, le

moteur de base de données central de SQL Server 2008 demeure quasiment inchangé, mais un

grand nombre de nouveautés peuvent étendre de manière spectaculaire le rôle de SQL Server

pour la gestion des données de l’entreprise.

Pourquoi "SQL Server 2008 R2" ?Microsoft réserve occasionnellement le qualificatif R2 généralement aux versions ponctuelles de

ses applications apportant quelques nouvelles fonctions. En revanche, les nouvelles versions

majeures proposent une multitude de nouvelles fonctionnalités et de correctifs, tandis que les

Service Packs pour la plupart corrigent les bugs. Le côté sympa de SQL Server 2008 R2 est qu’il

ne touche pas le moteur de base de données, présent sur le marché depuis 2 ans et maintenant

extrêmement stable.

Les entreprises devraient pouvoir installer la version R2 sereinement et bénéficier de ses

nouvelles fonctionnalités sans crainte de modifications radicales au niveau du moteur central.

Avec SQL Server 2008 R2, Microsoft complète l’éventail des fonctionnalités d’un produit de base

de données mature.

La version R2 s’accompagne de deux nouvelles éditions SQL Server haut de gamme :

Datacenter pour les bases de données d’entreprise ultra-volumineuses et ultra-sollicitées, et

Parallel Data Warehouse avec le traitement massivement parallèle pour la gestion des data

warehouses constamment sur le pont. Quelques fonctionnalités de la version originale de SQL

Server 2008 sont étendues aux éditions meilleur marché.

Par exemple, la compression des sauvegardes disponible à l’origine uniquement avec l’édition

Enterprise, fait désormais partie intégrante de l’édition Standard. Par ailleurs, la taille maximum

de base de données prise en charge par SQL Server Express passe de 4 Go à 10 Go, ce qui

représente un changement appréciable porteur d’une plus grande flexibilité pour les applications

de bureau.

La lecture des documents marketing de Microsoft peut donner l’impression que SQL Server 2008

R2 cible exclusivement les administrateurs de base de données (DBA) et les architectes des

systèmes d’entreprise, confortant ainsi l’approche sans cesse plus axée autour de l’entreprise.

Page 2: Présentation de SQL Server 2008 R2

Néanmoins, en creusant un peu le sujet, vous allez découvrir plein de bonnes surprises pour les

développeurs. Cet article aborde succinctement certaines des nouveautés les plus intéressantes

destinées au développement, ainsi que certaines autres susceptibles d’influencer votre approche

de l’écriture d’applications.

La sécurité SQL ServerUne sécurité en profondeur constitue l’une des principales raisons de l’utilisation d’un serveur de

base de données tel que SQL Server. Mais la seule nouveauté significative en la matière dans

SQL Server 2008 R2 est la protection étendue pour l’authentification, laquelle sert à prévenir les

attaques de relais d’authentification. Lors de ce type d’attaque, un serveur malveillant usurpe

l’identité d’un utilisateur authentifié en exploitant ses informations d’identification stockées dans

un logiciel client, afin que le pirate accède à toutes les données consultables par l’utilisateur en

question.

La protection étendue exploite une combinaison de liaisons de service et liaisons de canaux afin

de s’assurer que l’utilisateur n’est pas un pirate et d’établir un canal sécurisé visant à vérifier

l’authenticité du client. La protection étendue nécessite des versions de Windows avec cette

fonction installée et activée (elle est désactivée par défaut).

 

DBA SQL Server : gérer des applications

Certaines nouveautés d’SQL Server 2008 R2  pour les développeurs sont étroitement liées à la

gestion d’instances de serveur, comme c’est le cas avec la gestion d’applications et multi-

serveurs. Le nouvel utilitaire SQL Server (SQL Server Utility) permet à un administrateur système

de créer un point de contrôle d’utilitaire (UCP, Utility Control Point) sur une instance unique de

SQL Server 2008 R2. Celle-ci sert alors de référentiel central concernant les données de

configuration et de performance collectées pour toutes les instances SQL Server inscrites au

niveau de l’utilitaire.

Le point UCP fournit à un DBA nettement plus de fonctions de contrôle et de surveillance que ce

qui existait jusqu’à présent pour appliquer des stratégies et analyser des tendances d’utilisation

des ressources. Cela aide à prévoir et prévenir des défaillances dues à un manque de

ressources. Un explorateur d’utilitaire (Utility Explorer) associé affiche un tableau de bord et des

points de vue détaillés pour la surveillance des instances SQL Server inscrites.

Page 3: Présentation de SQL Server 2008 R2

Le DBA dans SQL ServerDans le cadre de ces fonctionnalités de gestion multi- serveurs, un développeur ou un DBA peut

définir une application de niveau données ou DAC (Data-tier Application Component) qui simplifie

le développement, le déploiement et la gestion des objets de base de données prenant en

charge les applications de données. (Je confirme que l’acronyme est DAC et non DTA, lequel

désigne déjà le Database Engine Tuning Advisor).

Un composant DAC définit tous les objets de base de données, y compris les schémas,

nécessaires à la prise en charge d’une application. En récupérant les objets de base de données

et en créant une unité de déploiement unique dans un seul type de fichier, vous pouvez les

migrer vers l’environnement de gestion centralisée multi-serveurs et appliquer des mises à

niveau aux différents objets.

Il est possible de créer intégralement un DAC dans Visual Studio 2010 avec le modèle de projet

SQL Server Data-Tier Application. Le projet créé par Visual Studio à partir de ce modèle est

similaire à un projet Database Edition (modèle SQL Server 2008 Database Project), mais le

résultat final de la création d’un projet DAC est un fichier DACPAC déployable vers une instance

SQL Server. Le modèle de projet SQL Server Data-Tier Application se rattache à la fonction

Code Analysis dans Visual Studio. L’analyse de code (Code Analysis) vous aide à améliorer la

qualité de votre code de base de données chaque fois que vous construisez le projet.

Les catégories Design (Conception), Naming (Nommage) et Performance peuvent aider à

identifier certains des problèmes les plus élémentaires et les plus courants susceptibles de

dégrader les performances et de compliquer la maintenance du code sur le long terme. Comme

pour n’importe quelle analyse de code dans Visual Studio, vous pouvez sélectionner les tests de

votre choix et choisir de corriger ou d’ignorer les problèmes détectés.

Il reste à voir si la première version des composants DAC est suffisamment robuste pour gérer

plus que l’application de petites modifications aux bases de données départementales. Pour le

moment, les composants DAC sont optimisés pour le déploiement et la mise à jour de bases de

données Microsoft SQL Azure.

Powerpivot et SQL Server 2008

La nouveauté peut-être la plus spectaculaire dans SQL Server 2008 R2 est le complément

PowerPivot pour Excel et pour SharePoint. PowerPivot fournit une fonctionnalité d’analyse

décisionnelle en libre-service (BI), afin que les utilisateurs finaux puissent créer et manipuler des

données, les analyser par permutation d’axes (slice and dice), ou encore partager des données

Page 4: Présentation de SQL Server 2008 R2

et des rapports. PowerPivot pour Excel est téléchargeable gratuitement sous forme de

complément distinct pour Excel 2007 et Excel 2010 (même s’il faut Excel 2010 pour exploiter

toute la richesse de PowerPivot), et PowerPivot pour SharePoint ajoute des services partagés

pour utiliser des classeurs PowerPivot Excel publiables vers SharePoint.

Microsoft qualifie l’ensemble de fonctionnalités PowerPivot d’« analyse décisionnelle en libre-

service gérée » et cette description convient tout à fait. L’analyse décisionnelle d’entreprise

dépasse l’entendement des simples mortels, mais ce sont ces derniers qui ont besoin des

informations et analyses qu’elle génère afin de prendre des décisions métier. Pour les utilisateurs

avancés, PowerPivot fournit des outils dans l’environnement Excel familier. Ce complément

propose aussi aux administrateurs système les outils indispensables pour délivrer les données

sous une forme exploitable par les utilisateurs et pour faciliter le partage des données et

analyses qui en découlent. Mais le plus important est que les utilisateurs peuvent réaliser leurs

propres analyses sans attendre que les informaticiens génèrent des rapports.

Le complément Excel fournit plusieurs composants sur la machine locale de l’utilisateur,

notamment un menu PowerPivot dans le ruban Excel afin de lancer la fenêtre de conception et

d’utiliser les données, ou encore une fenêtre PowerPivot proposant tous les outils de conception

nécessaires à l’utilisateur. Un moteur Analysis Services local est aussi disponible, afin de

compresser et de charger les données, de même que d’autres outils pour l’accès à différentes

sources de données.

Au fil des années, Microsoft et d’autres éditeurs ont essayé à différentes reprises de mettre

l’analyse décisionnelle à la portée des utilisateurs avancés. PowerPivot semble être la première

tentative proposant des outils sophistiqués capables d’exploiter pleinement les informations

verrouillées dans les data warehouses. Même si cet outil ne s’adresse pas à l’utilisateur

occasionnel, il ne requiert pas de diplôme en sciences informatiques pour permettre l’extraction

de données et d’informations utiles.

Nous nous sommes contentés d’aborder la surface des nouveautés séduisantes de SQL Server

2008 R2. Cette version comporte nettement plus de choses pour les DBA, notamment des

fonctions telles que Master Data Services pour la rationalisation des données d’entreprise au

sein d’une seule et même perspective, ainsi que StreamInsight pour le traitement événementiel

de gros volumes de données complexes en temps réel. La compression de base de données

gère désormais le format Unicode et Microsoft a ajouté des fonctionnalités visant à gérer les data

warehouses volumineux. Bien évidemment, les développeurs trouveront leur bonheur pour faire

en sorte que leurs applications exploitent mieux des données plus pertinentes.

La plateforme BI SQL Server

Page 5: Présentation de SQL Server 2008 R2

Si vous êtes en train de planifier un entrepôt de données (data warehouse) à l’échelle de

l’entreprise, une planification digne de ce nom est un prérequis. Mais qu’en est-il si vous venez

de démarrer et que vous disposez d’un budget serré, voire inexistant ? Ou encore si votre

département a juste besoin d’une plate-forme d’analyse décisionnelle (BI) relativement compacte

et réduite à l’essentiel ? Même avec des ressources limitées, vous pouvez créer une plate-forme

parfaitement fonctionnelle.

D’autre part, en tant que client Microsoft, vous êtes probablement bien placé pour démarrer un

projet BI « hors cadre », ce que les Américains appellent « skunk works », au moyen du SQL

Server Business Intelligence Toolkit.

Mais, attendez un instant : Les data warehouse ne sont-ils pas censés être des initiatives

d’entreprise coûteuses ? Et ne nécessitent-ils pas de hauts niveaux d’évolutivité ? Certes, les

évaluateurs de produits envisagent souvent les outils de data warehouse en termes d’évolutivité

et, pour les très gros entrepôts de données d’entreprise, cet aspect est critique. Mais toute cette

discussion axée sur l’entreprise occulte la plupart du temps la notion selon laquelle un

département pourrait avoir besoin, voire pourrait tirer avantage de l’analyse décisionnelle. L’ironie

de la situation est que de nombreuses décisions opérationnelles, voire peut-être la majorité

d’entre elles, sont prises au niveau de la division ou du département, au moyen d’informations

départementales qui ne seraient jamais intégrées dans un data warehouse englobant toute

l’entreprise.

Les personnes travaillant dans ces groupes réduits ont besoin du décisionnel pour les opérations

quotidiennes. L’évolutivité constitue peut-être un souhait mais, à cette échelle restreinte, la

facilité d’utilisation, le déploiement rapide, le coût de possession réduit et l’intégration des outils

sont nettement plus importants. Par conséquent, même si l’évolutivité de SQL Server à l’échelle

de l’entreprise donne matière à discussion, dans les domaines qui importent le plus aux divisions,

le SQL Server Business Intelligence Toolkit correspond à ce que commandent les informaticiens

des départements.

Comme pour n’importe quel projet de développement de systèmes critiques d’envergure, la

planification et la coordination sont primordiales. Nous ne suggérons pas pour autant que les

personnes qui mettent en chantier ces projets BI majeurs ignorent ces étapes de planification

critiques. L’objectif est de montrer comment les responsables de divisions et de départements

peuvent créer des projets « hors cadre » rapidement et facilement avec le SQL Server Toolkit

intégré.

Si vous vous interrogez sur la notion de projet « hors cadre » ou « skunk works », il s’agit d’un

projet qui se déroule au-dessous du niveau global de l’entreprise, voire parfois sous le périmètre

de supervision de celle-ci (cf. l’encadré « Le problème des applications hors cadre »). Le terme

américain « skunk works » est né dans les années 1940 chez Lockheed Martin Corp. (selon le

Page 6: Présentation de SQL Server 2008 R2

site Web de la société), lors de la conception et de la production d’un avion de combat

ultrasecret. Un ingénieur a baptisé l’opération « skunk works » d’après le nom d’une forêt citée

dans une bande dessinée et le terme est resté. Skunk Works est désormais une marque

déposée de Lockheed Martin.

Data Warehouse avec SQL Server

Quelle que soit sa taille, chaque projet d’analyse décisionnelle présente un ensemble similaire

d’exigences technologiques : un moteur de base de données pour contenir le data warehouse ou

data mart, un outil d’extraction, de transformation et de chargement (ETL) pour déplacer et

nettoyer les données, des outils de reporting Web pour un accès facilité à la communauté métier

et, si possible, une base de données   multidimensionnelle (cube) afin de proposer des fonctions

étendues d’analyse des données. Comme il s’agit d’un projet « hors cadre », nous avons non

seulement besoin de ces outils, mais aussi d’outils faciles à configurer, parfaitement

complémentaires et simples à utiliser. Une des critiques formulées à l’encontre de Microsoft est

que SQL Server est tellement facile à utiliser que les pros de l’informatique ne le prennent pas au

sérieux.

Heureusement toutefois pour notre projet « hors cadre », nous pouvons exploiter pleinement la

facilité d’utilisation de SQL Server afin de mettre en place très rapidement des démonstrations de

faisabilité, des prototypes et des projets de petite taille. Lorsque vous faites référence à SQL

Server, vous parlez généralement du moteur de base de données relationnelles. Il constitue les

fondations d’un projet BI car il contient toutes les données métier stratégiques dans un data

warehouse ou data mart. Mais un projet BI requiert plus qu’un stockage de données

relationnelles et c’est là où les compléments moins connus de SQL Server fournissent les outils

indispensables pour la réalisation de notre projet.

Vous devez placer les données dans un data warehouse et le kit ETL fourni actuellement avec

SQL Server est le kit SSIS (SQL Server Integrated Services). Lancé en 2005, il connaît un

succès énorme et distance largement son prédécesseur DTS (Data Transformation Services).

Les informaticiens peuvent concevoir et prototyper un projet SSIS en un temps très court,

souvent en quelques heures au lieu de plusieurs jours. Et lorsque vient le moment de passer du

prototype à la version de production, il suffit d’étendre le package SSIS au lieu de le réécrire.

SSIS inclut un ensemble relativement robuste d’outils pour les opérations d’interception d’erreurs,

d’audit et de déploiement.

Une fois le stockage de données et les outils ETL en place, nous avons ensuite besoin d’un

package autorisant le reporting basé sur le Web. Pour notre projet « hors cadre » initial, nous

souhaitons un simple portail Web. Mais à plus long terme, alors que le projet va passer de la

Page 7: Présentation de SQL Server 2008 R2

démonstration de faisabilité à la phase réelle, nous aimerions incorporer nos rapports Web dans

un site Web entièrement personnalisé ou au niveau du portail SharePoint de l’entreprise.

Heureusement pour nous, un des composants SQL Server inclut un tel outil de reporting capable

d’évoluer d’un projet « hors cadre » à une plate-forme de production complète.

SQL Server Reporting Services (SSRS) a bien évolué depuis son lancement comme module

complémentaire de SQL Server 2000. Ses détracteurs diront qu’il n’est pas aussi bon que

(espace destiné à un outil de reporting d’entreprise), mais ils sont à côté de la plaque. Notre

objectif est de bâtir rapidement un projet « hors cadre » et, à cet égard, SSRS est excellent.

L’interface est logique et sépare les aspects source des données, mise en page des rapports et

consultation.

Et, comme prévu, nos rapports sont paramétrables, d’où la possibilité pour les utilisateurs de

contrôler les éléments consultables et la manière dont ils le sont. Une fonction peu mise en

avant, mais puissante est la possibilité de générer des rapports à partir de procédures stockées

paramétrées.

Comme SSIS, SSRS est entièrement intégré dans Visual Studio, d’où une transition facile pour

les actuels développeurs Visual Studio. SSRS propose toutes les fonctionnalités de base du

reporting, notamment l’accès Web, la sécurité des utilisateurs et groupes, les possibilités

d’exportation vers les formats Excel et PDF, la mise en cache de rapports et les notifications.

Pour notre projet « hors cadre », le site Web de rapports SSRS par défaut est suffisant.

Toutefois, lorsque la demande des utilisateurs passera du stade de la curiosité à celui de la

nécessité, SSRS pourra évoluer avec nos besoins. Un des avantages de l’intégration de SSRS

dans Visual Studio est la possibilité de créer une interface Web entièrement personnalisée si le

format par défaut s’avère insuffisant. Nous avons aussi la capacité d’intégrer nos rapports dans

SharePoint.

Enfin, si votre projet « hors cadre » exige un stockage de données dimensionnelles, SQL Server

a aussi ce qu’il vous faut. SQL Server Analysis Services (SSAS) a fait ses débuts sous un autre

nom dans SQL Server 7 en 1999. Malgré ses limitations, ce composant mettait le stockage de

données dimensionnelles sous forme de cube à la portée du plus grand nombre. En tant que

membre de la famille SQL Server, SSAS est parfaitement intégré aux autres outils et garantit la

rapidité et l’efficacité des phases de conception, de développement et de déploiement de projets

BI.

Les outils étant identifiés, les licences constituent le prochain obstacle pour la création, le

déploiement et la prise en charge d’une plate-forme d’analyse décisionnelle. Si vous êtes client

Microsoft, vous avez peutêtre déjà certaines ou toutes les licences indispensables et les licences

manquantes peuvent ne pas être trop onéreuses. Concernant les coûts et les licences, plusieurs

Page 8: Présentation de SQL Server 2008 R2

aspects doivent être pris en considération. Nous avons besoin de licences développeurs, de

licences d’accès client ou utilisateur (CAL) et de licences de serveurs de production.

Concernant les licences développeurs, Microsoft a mis les bouchées doubles pour que

l’acquisition d’une licence développeur SQL Server par siège soit bon marché. Une licence de

développement SQL Server complète autonome coûte 50 $. Si vous détenez déjà une des

licences MSDN, cela inclut probablement l’accès à l’ensemble complet d’outils de développement

SQL Server. Pour les licences d’accès client (CAL), vous êtes peut-être déjà aussi paré. Si vous

avez un contrat d’entreprise avec Microsoft pour vos postes de travail, il arrive fréquemment que

chaque licence de poste inclue déjà une CAL SQL Server pour chaque personne couverte par le

contrat. Comme les projets BI ont une portée interne, il y a fort à parier que les CAL dont vous

avez besoin soient déjà en place. Juste au cas où, vérifiez les contrats de licence avec votre

gestionnaire de contrats Microsoft.

Une fois les licences de développement et les CAL sieurs licences serveur pour la mise en

production. Si vos CAL sont définies, il suffit d’avoir une licence serveur. Vu qu’il s’agit d’un projet

« hors cadre », vous pouvez vous contenter de l’édition Standard bon marché, à moins que vous

ayez besoin des options de la version Entreprise.

L’aspect métier

Comme avec n’importe quel projet de développement, sa réussite passe par la définition d’une

portée précise. Les projets « hors cadre » ne font pas exception à la règle, mais il est impératif de

démarrer le projet avec une portée limitée, en phase avec un besoin métier immédiat. Si aucun

projet ne vient rapidement à l’esprit, effectuez une session de brainstorming avec quelques

associés dont vous êtes proche dans le groupe. Si aucun besoin métier n’apparaît alors qui

puisse bénéficier d’un accès amélioré aux informations, envisagez d’élargir le cercle et de

travailler avec un associé d’un autre groupe, juste pour être certain de conserver une parfaite

compréhension des attentes. A mesure que vous élargissez le cercle au-delà de votre groupe, la

tolérance des imperfections diminue de manière exponentielle.

Données SQL Server

Les données constituent le coeur de l’analyse décisionnelle et l’exploitation des informations

visant à prendre des décisions plus avisées aboutit à une meilleure activité économique. Par

conséquent, l’analyse décisionnelle ou BI représente-t-elle la dernière appellation du reporting ?

La réponse officielle est non, mais les deux ont beaucoup de points en commun. Le reporting

permet aux départements informatiques de collecter et d’organiser les informations, puis de

permettre l’accès à celles-ci, tandis que les systèmes BI poussent cette logique un cran plus loin.

L’aspect essentiel est que nous avons une entreprise à gérer : Nous avons des informations

dans tous les coins et plus nous pouvons collecter, organiser et utiliser les données de manière

Page 9: Présentation de SQL Server 2008 R2

appropriée, plus nous pouvons prendre de meilleures décisions. Par conséquent, est-ce du

reporting? Ou est-ce de l’analyse décisionnelle ?

Au fond, cela importe-t-il vraiment ?

Un thème bien connu mais peu abordé au sein de la communauté BI est le fait que le

déplacement, le nettoyage et la préparation des données en vue de les exploiter dans un data

warehouse représentent jusqu’à 90 pour cent du travail dans un projet BI. Pour notre projet «

hors cadre », nous souhaitons que ce travail soit aussi minime que possible.

Pour les grands projets BI à l’échelle de l’entreprise, le mappage, la migration et la transformation

des données issues de plusieurs sources constituent une tâche prépondérante. Avec un peu de

chance, les données sont simplement dans des formats de types de données dif- férents et elles

sont majoritairement complètes. Mais, bien plus souvent dans les grands projets d’entreprise, les

informations métier ont non seulement des structures différentes, mais elles diffèrent aussi sur le

plan conceptuel.

Prenons l’exemple suivant : Le département des ventes divise New York entre la région du nord-

est et la région centre-atlantique, en utilisant les indicatifs téléphoniques de zone et les indicatifs

de central. Au moyen des codes postaux, le département du marketing subdivise New York entre

la grande métropole new-yorkaise et la zone centre-atlantique. Si vous n’avez pas vraiment de

mappage entre les codes postaux et les indicatifs téléphoniques de zone/indicatifs de central,

vous allez peut être commencer par là. Pour notre projet « hors cadre », il s’agit précisément du

type de transformation que nous souhaitons réserver à des phases ultérieures.

Par conséquent, outre le fait de conserver une portée limitée et proche de notre groupe, nous

allons faire le maximum pour employer des sources de données qui ne requièrent qu’un

minimum de nettoyage et de transformation. Evidemment, nous devrons procéder à certaines

opérations de nettoyage, de transformation et d’organisation des données, mais nous allons

respecter quelques règles de base afin que ces tâches soient limitées au minimum. En premier

lieu, commencez avec des sources uniques de données pour limiter initialement au minimum les

cauchemars du mappage. Deuxièmement, utilisez des jeux de données complets ou quasiment

complets. Enfin, cantonnez-vous à une logique de transformation facile à suivre et à expliquer.

 

Un projet BI avec SQL Server

Un des avantages des projets « hors cadre » est l’agilité qu’ils procurent et la possibilité d’avoir

une documentation réduite au minimum. Nous avons toujours besoin d’une documentation qui

Page 10: Présentation de SQL Server 2008 R2

entre dans quelques catégories, à savoir des schémas de conception globaux, des documents

de flux de processus et des documents de base de décision.

Nous avons tous l’habitude des réunions de conception avec des tableaux blancs, des

diagrammes et autres outils visuels. Par ailleurs, si vous employez le langage UML (Unified

Modeling Language), les diagrammes de cas d’utilisation fonctionnent bien. Peu importe où

débute la conception du processus, au final, le code et les packages SSIS représentent l’état

final du processus et constituent un bon endroit pour documenter les « quoi » et « comment » du

projet. Bien souvent, c’est le « pourquoi » ou la « base de décision » qui est perdue en cours de

route. Peu importe où vous documentez la conception et le processus, assurez-vous de

documenter le pourquoi du fonctionnement du système et le pourquoi de l’exécution des

transformations.

Modèle en cascade, spirale et projet « hors cadre »

A l’heure actuelle, les projets BI suivent généralement un processus défini formel, rappelant les

approches en cascade employées pour les projets des logiciels propriétaires. Dans le cas de

grands projets BI d’entreprise, il est raisonnable de dire que la rigueur conceptuelle d’une

approche en cascade modifiée pourrait au final réduire le coût total du processus ETL. Toutefois,

pour notre projet, nous avons employé des approches métiers et conceptuelles qui nous aident à

réduire au minimum le besoin d’une planification en cascade à grande échelle.

Nous avons conservé un objectif métier restreint, géré notre portée et avons suivi une approche

qui nous a permis de mettre l’accent sur le problème à résoudre, avec un minimum de

documentation et de bureaucratie. L’autre avantage clé que nous avons pour nous est le fait que

nous employons le SQL Server Business Intelligence Toolkit. Comme pour n’importe quel projet

de construction, les outils appropriés jouent un rôle prépondérant. La facilité d’utilisation et

l’intégration des outils nous permettent d’adopter une approche agile de la conception, de la

création et du déploiement de notre projet.

Le trou noir de l’ETL

L’ETL représente un coût important dans les initiatives BI, pas uniquement lors de la conception

initiale, mais aussi pour la maintenance permanente des données. Imaginez une situation dans

laquelle il est nécessaire d’implémenter des transformations complexes afin de fusionner deux

systèmes de source de données distincts dans votre quête d’une « vérité unique ».

C’est formidable, mais que se passe-t-il si un ou plusieurs cadres décident de contester les faits

issus du data warehouse ? Ou que se passe-t-il si leurs systèmes source sont en désaccord ? Si

les transformations sont simples, un suivi et une documentation des écarts ne présentent aucune

complication.

Page 11: Présentation de SQL Server 2008 R2

Mais si les transformations complexes ne sont pas bien documentées et traçables, la crédibilité

du système et des données commence à être remise en question.

Vous aurez besoin d’une trace d’audit complète, laquelle devra détailler chaque décision prise

pendant la transformation. Comme nous avons restreint la portée et le jeu de données de notre

projet « hors cadre », nous allons pouvoir éviter la majorité des défis ETL potentiels liés aux

projets BI d’envergure. Mais concernant l’ETL, c’est uniquement le composant de flux de

données.

Les systèmes BI d’envergure ont des processus ETL entièrement automatisés avec la gestion

des exceptions requise. Avec notre approche de projet « hors cadre », nous allons contourner

cela. L’automatisation complète et la gestion des exceptions attendront. Dès que le projet sera

bien accepté, nous le reprendrons pour étendre et améliorer nos processus ETL initiaux. Ce sera

facile avec SSIS.

A l’heure actuelle, les projets de data warehouse en développement ciblent des référentiels

temps réel ou quasi-temps réel. Avec Internet, le fonctionnement 24 h/24 et 7 jours/7 devient la

norme et non l’exception. Il y a encore quelques années, les rafraîchissements quotidiens étaient

monnaie courante et, auparavant encore, les rafraîchissements mensuels suffisaient. Les projets

« hors cadre » et les projets prototypes n’ont pas besoin d’une fréquence de rafraîchissement

rapide des données, au moins pas au début. Dans le cadre de notre approche agile, l’objectif

initial vise à organiser et présenter les données.

Si le projet avance bien, nous pouvons reconsidérer notre cycle de traitement ETL. Le temps réel

pourra être inclus dans la portée au cours d’une future révision, mais pour l’instant, notre

fréquence de rafraîchissement est ad hoc.

Matériel

Une des toute dernières tendances du data warehousing est l’apparition de plates-formes

matérielles de base de données spécialisées et onéreuses, également appelées « data

warehouse appliances ». Lancez une discussion sur les serveurs de data warehouse et il y aura

fort à parier que, pour débuter, il faudra un budget à six ou sept chiffres rien que pour le matériel.

C’est vrai si vous considérez un système d’envergure à l’échelle de l’entreprise.

Mais nous avons mis l’accent sur une plate-forme à l’échelle de la division opérationnelle ou du

département. Pour débuter, nous avons juste besoin d’un modeste serveur, et il ne doit pas

forcément être dernier cri. Evidemment, ce serait formidable d’avoir le dernier matériel de pointe,

mais notre projet « hors cadre » met l’accent sur la rapidité et l’agilité.

Page 12: Présentation de SQL Server 2008 R2

Heureusement, quasiment toutes les entreprises pour lesquelles j’ai travaillé ont un local plein

d’équipements mis au rebut. Il n’est jamais difficile d’obtenir l’autorisation d’employer ce matériel.

Il est plus que vraisemblable qu’il a été amorti et qu’il est entreposé en attendant que quelqu’un

ait le temps de s’en débarrasser. Nous n’avons pas besoin de plus pour bien démarrer notre

projet initial. Mais, au fait, pouvons-nous utiliser des vieux matériels ?

Absolument. Si nous pouvons démarrer avec des équipements mis au rebut, le bénéfice obtenu

est plus important que vous ne pouvez l’imaginer. En adoptant une approche économe, il y aura

peu de réactions négatives, voire des avantages dès que la direction aura vent du projet. Si celle-

ci voit le projet d’un bon oeil, nous obtiendrons des bons points pour avoir recyclé du matériel. Si

le projet n’apporte pas les résultats escomptés, aucune ressource budgétaire n’aura été allouée

à du nouveau matériel.

Lorsque le projet va de l’avant et commence à attirer les utilisateurs métier et à obtenir un

soutien, il est temps d’effectuer une analyse matérielle complète. A ce stade, vous avez un outil

éprouvé et vous pouvez demander du très bon matériel. Avec la généralisation des serveurs

virtuels, la virtualisation de vos systèmes offre une autre option d’implémentation de votre plate-

forme de data warehouse. Si votre environnement de développement est configuré pour

l’utilisation de serveurs virtuels, la mise en place d’un de plus peut être indolore. Cette approche

peut constituer une option abordable pour créer une solution évolutive. De même, envisagez de

mettre la main sur du matériel plus ancien et de configurer votre propre environnement virtuel.

L’essentiel est de ne pas laisser le matériel constituer un obstacle à votre projet « hors cadre ».

L’équipe, la formation et les ressources

Lorsque le moment est venu de choisir l’équipe, faites en sorte qu’elle soit compacte et

informelle. L’équipe idéale doit comporter au maximum trois membres. Audelà, les projets « hors

cadre » commencent à prendre une tournure plus formelle, ce qui n’est pas notre objectif pour le

moment. Une bonne équipe doit faire de l’auto- sélection et comporter des membres qui ont

exprimé leur intérêt pour l’analyse décisionnelle et les outils SQL Server.

Vous avez aussi la possibilité d’engager un consultant. Dans ce cas, mettez l’accent sur le

démarrage rapide du projet et le transfert de connaissances. Pour un projet « hors cadre », vous

avez besoin de consultants autonomes, autrement dit de personnes qui ne soient pas passives et

attendent d’être formées. Dans leur esprit, le projet « hors cadre » constitue la formation.

Néanmoins, il faudra peut-être une forme de présentation des outils et Microsoft a déjà pourvu à

ce besoin. Ils n’attirent pas vraiment l’attention, mais les didacticiels fournis par Microsoft pour le

SQL Server Business Intelligence Toolkit constituent un excellent point de départ. Ils abordent

toutes les notions fondamentales nécessaires à la réussite d’un projet BI.

Page 13: Présentation de SQL Server 2008 R2

Un des leaders d’opinion dans le domaine de l’analyse décisionnelle et des data warehouses est

Ralph Kimball. Heureusement, deux membres de son personnel, Joy Mundy et Warren

Thornthwaite, ont écrit un excellent ouvrage sur la manière de créer un data warehouse avec

SQL Server.

Comme son titre l’indique, « The Microsoft Data Warehouse Toolkit » (Wiley, 2006) met

exclusivement l’accent sur la conception et la construction de data warehouses avec les outils BI

de SQL Server. Si vous ne devez acheter qu’un seul ouvrage, ce sera celuilà. Avec le SQL

Server Business Intelligence Toolkit, il n’a jamais été aussi facile de faire sortir de terre un projet

d’analyse décisionnelle. Les projets « hors cadre » offrent une approche rapide et agile pour la

construction et l’évolution de plates-formes BI fonctionnelles à même d’apporter des réponses à

des besoins d’informations métier réels.

Page 14: Présentation de SQL Server 2008 R2

Installation de SQL Server 2008 R2Par Hankerspace

 

Difficulté

Facile

 

Note

    

Tutoriel : Visual Basic.NETPartie 1Partie 2Partie 3Partie 4Partie 5

Page 15: Présentation de SQL Server 2008 R2
Page 17: Présentation de SQL Server 2008 R2

Passons directement à l'installation de

SQL Server. L'installation de Microsoft SQL Server est facile à réaliser, il suffit juste de suivre les consignes de l'assistant pendant toutes les étapes de l'installation.

Accueil de l'installation

Le centre d'installation de Microsoft SQL Server aide à lancer l'installation.

image centre installation

Sur cette fenêtre, le centre d'installation vous propose plusieurs options, pour l'instant une seule nous intéresse : cliquez sur New Installation or add features to an existing installation.

Page 18: Présentation de SQL Server 2008 R2

Lisez

puis acceptez les termes du contrat de licence. Cela fait, appuyez sur « Suivant ».

Contrat de licence

Page 19: Présentation de SQL Server 2008 R2

Chemin d'installation

Laissez

les features par défaut et choisissez le dossier dans lequel vous souhaitez que le logiciel s'installe si besoin. Cliquez ensuite sur « Suivant ».

Cliquez

sur « default instance », Changez le répertoire d’installation si besoin, puis cliquez sur next.

Page 20: Présentation de SQL Server 2008 R2

Configuration des comptes de services

Les

noms de compte déjà renseignés par votre PC sont censés être corrects, laissez tel quel.Puis passez Server browser en Automatique et finalement, cliquez sur l'onglet « Collation ».

Onglet « Collation »

Choisissez le code page que vous souhaitez utiliser pour votre base de données, ici nous garderons le code page par défaut.

Page 21: Présentation de SQL Server 2008 R2

Database Engine Configuration

A l’étape database engine configuration, choisissez Mixed mode, cela vous permettra de créer le compte SA (System Administrator), choisissez un mot de passe pour SA. Ajoutez les utilisateurs à qui vous souhaitez donner les droits d’administration de la base, puis cliquez sur l’onglet Data Directories.

Modifier les répertoires où seront stockées les fichiers de données si besoin, puis cliquez sur « next ».

Page 22: Présentation de SQL Server 2008 R2

Reporting Services Configuration

Cliquez

sur Install, but not configure the report server.

Error reporting

Normalement, il n'y a aucune erreur, cliquez sur « next ».

Téléchargement et installation

Une

nouvelle page apparaît. Elle indique la progression du téléchargement du logiciel, le taux de transfert et la partie du programme en cours d'installation.

Page 23: Présentation de SQL Server 2008 R2

Fini !

Nous

voilà à présent avec SQL Server 2008 R2 installé !

Découverte de l'interface

L'interface de SQL Server 2008 R2

Vous avez maintenant installé le SGBD SQL Server 2008 R2. Il est temps de découvrir un peu l'interface de travail. Allez dans Démarrer > Tous les programmes > Microsoft SQL Server 2008 R2 > SQL Server Management Studio. Un petit temps de chargement se fait jusqu'à ce qu'une fenêtre apparaisse : cette fenêtre va vous demander de vous connecter pour vous connecter au serveur.

Replissez de la même manière : "(local)" pour le server name et "sa" comme login. Puis entrez le mot de passe que vous avez choisi lors de l'installation.

Page 24: Présentation de SQL Server 2008 R2

Si la connexion est correcte, vous accedez à l'interface de SQL Server Management Studio :

On constate rapidement que l'interface principale de SQL Manager est très simple. Elle est formée d'un menu contextuel, d'une barre d'outils et d'une fenêtre « Explorer » à gauche.

Page d’accueil

Barre d'outils

La barre d'outils de SQL Server Management Studio permet d’accéder à certaines fonctionnalités, je ne le détaillerai pas ici.

: New Query.

Page 26: Présentation de SQL Server 2008 R2

Object Explorer

Ci-dessus le menu Object Explorer : elle affiche les objets du serveur de base de données en une hiérarchie conçue pour faciliter la navigation. On peut cliquer sur le symbole + à gauche du dossier pour pouvoir afficher son contenu.

Object Explorer Details

Cette fenêtre n'est pas encore affichée, mais on peut la faire apparaître grâce à l'aide de la touche F7ou par le menu View > Object Explorer Details.

Page 27: Présentation de SQL Server 2008 R2

Cette fenêtre nous affiche les détails des objets sélectionnés sur la fenêtre « Explorer ».

Chapitre assez court mais assez introductif pour faire une première approche avec la notion de base de données.

Vous pouvez constater que l'utilisation d'une base de données va devenir indispensable en cas de gros projets (site Web, logiciel de chat...).

Dans l'introduction aux bases de données, je vous ai parlé d'un certain langage SQL. Nous allons faire une première approche de ce fameux langage afin de nous familiariser avec ce dernier. Le langage SQL (Structured Query langage) permet de dialoguer avec la base de données. Dans l'introduction, je vous ai aussi signalé qu'il existait différente version du langage SQL en fonction de la base de données utilisée. Mais SQL dispose également d'une syntaxe élémentaire, normalisée et indépendante de toute base de données.

Ce chapitre à pour but de vous enseigner rapidement les fondamentaux pour pouvoir suivre dans cette partie, il est loin d'être exhaustif concernant le langage SQL et je vous renvoie donc vers le tutoriel de M@teo21 sur le PHP qui contient une partie très détaillée sur le SQL

Rechercher des informations

Grâce au langage SQL, vous pourrez rechercher certains enregistrements afin de les extraire ainsi que l'ordre dans lequel vous souhaitez les extraire. Par exemple, vous pouvez créer une instruction SQL qui extrait les informations de plusieurs tables simultanément, ou alors un enregistrement spécifique.

Page 28: Présentation de SQL Server 2008 R2

Pour ce faire, nous allons utiliser l'instruction SELECT : cette instruction est utilisée pour renvoyer des champs spécifiques d'une ou de plusieurs tables de la base de données.

Par exemple, cette instruction...

1 SELECT Artiste, Titre FROM Musiques

Renverra la liste des Artistes et des Titres de tous les enregistrements de la table Musiques.

Vous pouvez aussi utiliser le symbole * à la place de la liste des champs pour lesquels vous souhaitez la valeur :

1 SELECT * FROM Musiques

Ainsi, cette requête vous renverra un tableau contenant toutes les informations sur toutes les musiques présentes dans la table.

Nous pouvons aussi limiter le nombre d'enregistrements sélectionnés. Nous allons pour cela utiliser un ou plusieurs champs qui vont permettre de filtrer la recherche. Nous allons maintenant voir certaines clauses disponibles qui permettront ce filtrage.

La clause WHERE

La clause WHERE va permettre de spécifier les conditions : seule une partie des enregistrements seront concernés. Prenons un exemple : nous voulons retrouver les informations concernant le titre Nothing Else Matters.

1 SELECT * FROM Musiques WHERE Titre = 'Nothing Else Matters'

Vous avez surement remarqué les cotes : lorsque l'on utilise la syntaxe de la clause WHERE, les cotes servent de délimiteurs de chaînes de caractères.

On peut traduire la commande WHERE par "où" en français, donc l'instruction WHERE Titre =

'Nothing Else Matters' peut se traduire par "où le champ Titre est égal à Nothing Else Matters".

Il existe en SQL des conditions associées à la clause WHERE tout comme en VB.NET :

condition valeur

= égal

!= différent

< inférieur

> supérieur

<= inférieur ou égal

Page 29: Présentation de SQL Server 2008 R2

condition valeur

>=supérieur ou égal

AND ou && et

OR ou || ou

exemple :

1 SELECT * FROM Musiques WHERE Titre != 'Nothing Else Matters'

Affichera toutes les informations dont le champ est différent de Nothing Else Matters. Nous allons maintenant découvrir d'autres conditions de la clause WHERE...

La clause WHERE ... IN

Cette clause permet de renvoyer tous les enregistrements qui répondent à une liste de critères.  Par exemple, nous pouvons rechercher les artistes né en France :

1 SELECT * FROM Artistes WHERE Pays IN ('France')

Clause WHERE ... BETWEEN

Nous pouvons sélectionner quelques enregistrements se trouvant entre deux critères de recherche spécifiés. la requête suivante permet de récupérer la liste des albums de l'année 2011 :

1 SELECT * FROM Albums WHERE DateSortieAlbum BETWEEN '01/01/11' AND '31/01/11'

Vous remarquerez l'utilisation de AND pour dire "ET" : "Entre ... Et ...".

La clause WHERE ... LIKE

Cette clause permet de renvoyer tous les enregistrements pour lesquels il existe une condition particulière dans un champ donnée. Ci-dessous la commande qui permet de rechercher tous les artistes dont le nom commence par un s :

1 SELECT * FROM Artistes WHERE Nom LIKE 's%'

Le symbole "%" est utilisé pour remplacer une séquence de caractères quelconque.

Et enfin, une dernière clause un peu différente de celles vues jusqu'à maintenant...

La clause ORDER BY

La clause ORDER BY permet de renvoyer les enregistrements dans un ordre donné. Il en existe deux :

Page 30: Présentation de SQL Server 2008 R2

option

traduction

ASC ordre croissant

DESC ordre décroissant

Il peut y avoir plusieurs champs spécifiés comme ordre de tri. Ils sont analysés de la gauche vers la droite.

1 SELECT * FROM Artistes ORDER BY Nom DESC, Prenom ASC

Ce code va retourner les artistes triés par ordre croissant sur le nom, et en cas d'égalité, par ordre croissant sur le prénom.