Upload
jlkazadi
View
67
Download
2
Embed Size (px)
Citation preview
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.
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.
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
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
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
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
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
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
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
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.
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é.
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.
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.
Installation de SQL Server 2008 R2Par Hankerspace
Difficulté
Facile
Note
Tutoriel : Visual Basic.NETPartie 1Partie 2Partie 3Partie 4Partie 5
Thématiques.Net, C#, VB.Net, ProgrammationMis à jour le mardi 8 janvier 2013
Page précédente SQL Server 2008 R2
Page suivante Découverte de l'interface
Installation de SQL Server 2008 R2
Étape par étape
Lorsque vous cliquez sur le lien ci-dessus (l'image), vous arrivez sur une page web semblable à celle ci-dessous. Cliquez sur Télécharger.
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.
Lisez
puis acceptez les termes du contrat de licence. Cela fait, appuyez sur « Suivant ».
Contrat de licence
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.
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.
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 ».
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.
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.
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.
: Database Engine Query.
: SQL Server Compact Query.
: ouvrir un fichier.
: enregistrer.
: imprimer.
: Activity Monitor.
Menu
La barre du menu permet aussi d'accéder à plusieurs options.
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.
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.
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
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 :
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.