Le système de gestion et d’analyse des données de nouvelle génération

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Stockage et sauvegarde
Les technologies décisionnelles et le portail
Vue d’ensemble des fonctionnalités d’administration de SQL Server 2005
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 6 : Protection des données Bertrand Audras Microsoft Technology Center.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Comment Protéger les bases SQL avec System Center Data Protection Manager 2007.
Base de donn é es et D é cisionnel avec SQL Server 2005 Patrick Guimonet.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Directeur de Thèse : Pr. Witold Litwin
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
VI. Analyse des solutions techniques
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Active Directory Windows 2003 Server
Développement d’applications web
Retour sur l'allocation d'espace Exemple sur une table facture (sans les tables associées) N° fact, N° Client, N° Cde, date Cde, date fact, date réglement,
Module 1 : Préparation de l'administration d'un serveur
Serveurs Partagés Oracle
Initiation aux bases de données et à la programmation événementielle
sauvegarde de base de données
Configuration de Windows Server 2008 Active Directory
Gestion des bases de données
Services fournis par le SI et technologies associées
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Présentation 1. Consumer/Soho Small BusinessMidsize Business CorporateEnterprise Windows Home Server 1-4 employés 1-4 PCs 1-4 employés 1-4 PCs 5-49 employés.
Patrick Guimonet Architecte Infrastructure Microsoft France.
VI. Analyse des solutions techniques
Création de bases de données
Réseau de stockage étendu
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
Faites de vos données une énergie nouvelle !
Le moteur SQL Server 2008 R2 par l'exemple (DAT304)
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Protéger Exchange avec System Center Data Protection Manager 2007
Introduction.
Gérer la sécurité des mots de passe et les ressources
Module 8 : Surveillance des performances de SQL Server
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Plan Définitions et exemples Composants de cluster
Combien envisagent d’utiliser SSMA pour migrer : OracleSybaseAccess.
Yonel Grusson 1 SQL SERVER 2000 CLIENT/SERVEUR. Yonel Grusson 2 PLAN Présentation Installation Résultat de l'installation L'administration –Par le SQL.
Introduction à la plateforme .NET
La sécurité dans SQL Server 2005
Les utilisateurs potentiels : Les administrateurs de bases de données, Les développeurs, Le support et les opérations, Les architectes, Les analystes.
Offre DataCenter & Virtualisation Laurent Bonnet, Architecte Systèmes Alain Le Hegarat, Responsable Marketing 24 Novembre 2009.
9h30 Bienvenue ! 9h45 Les bénéfices de SQL Server pour les Editeurs Philippe Rodriguez, Directeur Division Serveur - Microsoft France Franck Sidi, Architecte.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
1CONFIDENTIEL EMC : À USAGE INTERNE UNIQUEMENT Pourquoi choisir EMC pour SQL Optimisation des performances.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Module 3 : Création d'un domaine Windows 2000
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
Module 1 : Vue d'ensemble de Microsoft SQL Server
Initiation à Oracle Server
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Les bases de données Séance 8 Jointures.
INTRODUCTION EMC Avamar : Sauvegarde et restauration rapides et efficaces grâce à une solution logicielle et matérielle complète. Intégrant une technologie.
Module 3 : Gestion des fichiers de base de données
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Initiation aux bases de données et à la programmation événementielle
Analyse, élaboration et exploitation d’une Base de Données
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
Journées informatique IN2P3/Dapnia, Lyon Septembre 2006 Consolidation des serveurs par virtualisation Retour d’expérience sur l’utilisation de VMware.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Le système de gestion et d’analyse des données de nouvelle génération patricg@microsoft.com Architecte Infrastructure

Agenda Généralités SQL Server 2005 pour les administrateurs SQL Server 2005 pour les développeurs SQL Server 2005 pour les analystes décisionnels Après les généralités, on regroupera les nouvelles fonctionnalités en 3 catégories : - administration - développement - analyse décisionnelle Nota : Fonctionnalités et exemples basés sur la CTP d’Avril 2005

Une version majeure SQL Server 7.0 SQL Server 2000 2ème Génération Performance, montée en charge Support du XML Intégration des services de Notification, de Reporting et de Data Mining Réécriture du moteur relationnel Gestion automatisée des ressources Intégration des services OLAP et ETL 2ème Génération SQL Server 2005 Haute disponibilité Sécurité Intégration CLR XML Natif Nouveau moteur ETL d’entreprise 64 bits IA-32 et x64 3ème Génération 1ere Génération SQL Server 6.0/6.5 Différentiation de Sybase SQL Server Intégration à Windows Intégration de la Réplication Une version majeure avec de très nombreuses nouveautés Valeur de l’offre Gestion automatique Performance et Sécurité Intégration du Décisionnel Objectifs long terme :

Une offre globale Derrière une boite et vendu comme un seul produit se cachent une offre globale, complète, cohérente

Une offre adaptée à vos besoins Nouveauté SQL Server 2005 Une offre adaptée à vos besoins Express Workgroup Standard Enterprise La base de données pour les petites entités et les activités en croissance La plate-forme complète pour la gestion et l’analyse des données destinée aux entités moyennes à grandes La plate-forme intégrée pour la gestion et l’analyse de données des applications critiques de l’entreprise Adaptée aux développeurs pour apprendre, construire et déployer 1 Proc 1 Go mémoire 4 Go base Outil d’administration simplifié Sécurité intégrée Support XML & Améliorations T-SQL Intégration .Net & CLR Serveur de rapports Import/Export Client Réplication 2 Proc 3 Go mémoire Outil d’administration Management Studio SQL Agent Assistant d’optimisation Recherche en texte intégral Serveur de Réplication limité Transfert journaux (Log shipping) 4 Proc versions 32 & 64-bit Miroir de BD limité Cluster 2 noeuds Integration Services (ETL) Analysis Services (Serveur OLAP) Data Mining Réplication complète Notification Services Pas de limitation + Partitionnement Miroir BD complet & Cluster 8 nœuds Opérations en ligne et redémarrage rapide Clichés BD Outils avancés (ETL, OLAP et Data Mining) Serveurs de rapports mutiples La licence par processeur inclut le support de l’HyperThreading et du Multi-core (jusqu’à 3 licences économisées par processeurs s’il est Dual-Core et HT !!!) Toutes les éditions supérieures incluent les fonctionnalités des éditions inférieures… http://www.microsoft.com/sql/2005/productinfo/sql2005features.mspx http://www.microsoft.com/france/sql/sql2005/achetez/versions.mspx Gratuit Prix croissant

Une offre crédible Références 2000 Transactionnel Enregistrement des données de marché Pic de 12 000 Transaction par Seconde Internet Auction Co., Ltd (Korea ) SGBDR et moteur OLAP Volumétrie : 2,7To Transaction par seconde : 3 600 CRM SGBDR pour Siebel Nb d’utilisateurs: 8 000 Siebel eService Volumétrie: 1 To SAN ERP Utilisation de SQL comme BDD pour SAP Volumétrie : 1 To+, 5 To Stockage Nb d’utilisateurs : 2000 concurrents Utilisation de SQL Server pour l’appli. de facturation Volumétrie: 5 To & 33 Milliards de lignes & 15 To total Services Web 5 Millions d’images, + 10 Millions de fichiers 99,99 % de disponibilité 20 Serveurs Décisionnel SQL Server 64 bits comme moteur OLAP Volumétrie: 2,5 To & Croissance de 30% / an Coût: réduct. 70% / Perf multipliées par 4 Des références significatives Attention : références SQL Server 2000 !!!

Le marché des SGBD en 2004 SQL Server domine sur Windows +18%* +18%* Non-mainframe DB ($5.4B) Growth & Shares 2004 Oracle 43% SQL Server 26% IBM 20% Other 11% Non-mainframe DB ($5.4B) Growth & Shares 2004 Oracle 43% SQL Server 26% IBM 20% Other 11% Oracle 42% 2003 SQL Server 24% Other 12% IBM 22% +18%* +15%* +2%* Non-mainframe DB ($6 Bil) By OS Platform SQL Server domine sur Windows +18%* +15%* +2%* Unix/Linux 49% Windows 51% Windows Database Market ($3.1 Bil) IBM a été dépassé en 2003 IBM a été dépassé en 2003 Oracle 42% 2003 SQL Server 24% Other 12% IBM 22% Other 8% Relational Database only, excluding all mainframe (also note that this excludes MS Access which Gartner does not consider to be a “relational” database) Database software new license revenues from Gartner Dataquest annual survey. Latest data available is for calendar year 2003. Data is collected and made public 4-5 months after close of calendar year. Survey measures revenues, because there is no agreement on what DB units Gartner should count (users, devices, servers, processors, megahertz, sites, companies, etc..). This cut of the data removes mainframe database revenues. Non-mainframe database market is commonly cited by IBM and Oracle and is agreed to be a more accurate component of “new license” part of database market. Very few new mainframes are being put in place today for new workloads although some mainframe workloads are still migrating from legacy DBMS to DB2 and DB2 revenues grow as mainframe hardware MHz (MIPS) grows. Windows est la plateforme leader pour les SGBD IBM 16% SQL Server 51% Oracle 25% *Percentages reflect revenue growth Source: Gartner

Administration Développement Décisionnel

Des outils optimisés Propriétés « Serveur »

Administration Nouveautés pour la disponibilité Miroir de base de données Clichés de bases de données Maintenance des index en ligne Restauration de fichiers et de pages en ligne Nouveautés pour la gestion des données Tables partitionnées Vues dynamiques Réplication d’égal à égal et avec des bases Oracle Nouveautés pour la sécurité Encryption dans la base SQL Server Surface Area Configuration Nouveautés 2005

Administration Nouveautés pour la disponibilité Redémarrage rapide Miroir de base de données Améliorations Clusters Clichés de bases de données Maintenance des index en ligne Restauration de fichiers et de pages en ligne Améliorations de la sauvegarde et de la restauration Nouveautés 2005

La problématique de la disponibilité… Arrêt du Système Cluster de basculement Base de Données Miroir 2005 Interruptions Non-Planifiées Corruption des Données Transfert de journaux Réplication Base de Données Miroir 2005 Svg/Restauration rapide Restauration jusqu’à un instant donné Cliché Base de données 2005 Erreurs Humaines 2005 Opérations de maintenance des index en ligne Tables partitionnées 2005 Réorganisation des données Opérations de Maintenance 2005 Cluster de basculement Base de Données Miroir Changements liés au système 2005

Redémarrage rapide (« fast recovery ») Nouveau SS 2005 Redémarrage rapide (« fast recovery ») SQL Server 2000 La base est accessible après avoir rejouée les transactions validées et défait les transactions non validées. SQL Server 2005 La base est accessible dès que les transactions validées ont été rejouées. Les pages correspondant à des transactions non validées restent verrouillées jusqu’à ce que les transactions soient défaites. Temps de redémarrage (et de basculement) réduit Refaire (redo) Défaire (undo) Base Accessible temps Défaire (undo) Refaire (redo) Base Accessible

Solutions pour la Haute Disponibilité Communication Granu-larité Basculement Pertes potentielles Miroir de BD TCP endpoints BD Automatique (qq sec) Aucune en synchrone Cluster Base unique Disques partagés Instance Automatique (qq dizaine de sec à qq min) Aucune Transfert des journaux Log Shipping Copie de fichiers et restauration Manuel Transactions depuis la dernière copie Réplication Copie de fichiers et chargement Table 2005 Améliorations 2005 Améliorations 2005

Cluster de basculement (« Failover Cluster ») Un espace disque partagé par plusieurs serveurs, mais un seul serveur y accède à un instant donné Détection d’erreurs & basculement automatique Plusieurs modes : Une SEULE base, une SEULE instance Actif / actif possible avec n instances travaillant sur n bases Fournit un redémarrage à chaud dans un délai de l’ordre de la minute Jusqu’à 50 instances Jusqu’à 8 nœuds (Windows Server 2003 x86) ou 4 nœuds en (Win2003 - IA-64 ou x64) Tous les services sont compatibles–cluster: SQL Server Agent, Analysis Services, Full-Text Search Une seule installation globale Adresse Serveur Virtuel Stockage partagé 2005 Attention Un cluster ne protège pas contre les corruptions, la perte de la baie RAID, les désastres sur un site. Un cluster ne permet d’augmenter la puissance

Base de Données Miroir (« Database Mirroring ») 1/2 Nouveau SS 2005 Base de Données Miroir (« Database Mirroring ») 1/2 Témoin Application commit Miroir Principal SQL Server SQL Server Le miroir est toujours en train de rejouer les journaux Journaux Données Journaux Données

Base de Données Miroir (« Database Mirroring ») 2/2 Bénéfices : Pas de pertes de transactions Rapidité du basculement (qq sec) Pas de contraintes sur le matériel Pas de limite de distance Solution simple SGBD uniquement Contraintes : Impact à évaluer sur les performances en fonction du débit transactionnel sur le site primaire -> Mode asynchrone possible Témoin Utilisation de cette architecture : Tous les environnements où une disponibilité maximale est requise sur des données critiques

Cliché BD (“DB Snapshot”) Comment ça marche ? Nouveau SS 2005 Cliché BD (“DB Snapshot”) Comment ça marche ? CREATE DATABASE MonSnap AS SNAPSHOT OF MaBase USE MaBase UPDATE (pages 4, 9, 10) MaBase Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 4’ 5 6 7 8 9’ 9 10’ 10 11 12 13 14 15 16 USE MonSnap SELECT (pages 4, 6, 9, 10, 14) MonSnap – Cliché en lecture simple Si nécessaire : RESTORE DATABASE MaBase FROM SNAPSHOT MonSnap

Votre solution est dans la combinaison de ces techniques… Nouveau SS 2005 Votre solution est dans la combinaison de ces techniques… Miroir Principal Clients OLTP Cliché Témoin Client de Reporting Ex.: Miroir de base de données + Cliché

Opérations en ligne 

Il n’est plus nécessaire de s’arrêter pour… La maintenance des indexes « Online » Create, Rebuild, Reorganize, Drop, Add et drop constraint Opérations complètement parallèles La restauration de pages et de fichiers La base reste accessible Seule les données en cours de restauration sont inaccessibles. On peut toujours les faire « Offline »

Exemple de création d’index en ligne Nouveau SS 2005 Exemple de création d’index en ligne Création d’index CREATE CLUSTERED INDEX myidx ON mytab (a, b, c) WITH ( PAD_INDEX = ON, FILLFACTOR = 75, ONLINE = ON, MAXDOP = 6) ON filegroup1 Reconstruction d’index (était DBCC DBREINDEX) ALTER INDEX myidx ON mytab REBUILD WITH ( ONLINE = ON, MAXDOP = 4 )

Nouveau SS 2005 Sauvegarde améliorée Possibilité de faire des sauvegardes sur 2 à 4 périphériques (identiques) en parallèle Possibilité de calculer une somme de contrôle (« checksum ») pour garantir la fiabilité de la sauvegarde BACKUP DATABASE adventureworks TO DISK= ‘D:\backups\full.bak' MIRROR TO DISK= ‘E:\backups\full.bak‘ WITH FORMAT, CHECKSUM BD Une sauvegarde différentielle faite après un « copy-only backup » ne l’utilisera pas comme référence Svg 1 Svg 2 Copy-Only Backups Permet de faire une sauvegarde complète sans perturber la chaîne des sauvegardes Idéal pour faire une copie de la base de production sans perturber l’exploitation BACKUP DATABASE <dbname> WITH COPY_ONLY

Améliorations des restaurations Nouveau SS 2005 Améliorations des restaurations Amélioration dans la détection d’erreurs En 2000, ALTER DATABASE <db_name> SET PAGE_VERIFY TORN_PAGE_DETECTION ALTER DATABASE <db_name> SET PAGE_VERIFY CHECKSUM RESTORE VERIFY_ONLY STOP_ON_ERROR et CONTINUE_AFTER_ERROR Restauration partielle (groupe de fichiers) Existe depuis SQL Serveur 2000, mais avec SQL Serveur 2005 la base reste accessible pendant la restauration tant que l’on accède pas au fichier en question Restauration de pages Restaurer d’un page unique depuis une sauvegarde A n’utiliser qu’avec beaucoup de précaution et l’aval du support Microsoft!

Administration Vues dynamiques (sys.dm_*) Nouveautés pour la gestion des données Tables partitionnées Réplication d’égal à égal Réplication avec des bases Oracle Mais aussi : Vues dynamiques (sys.dm_*) clause ATTACH_REBUILD_LOG procédure sp_create_plan_guide paramètre AUTO_UPDATE_STATISTICS_ASYNC fichiers de paramètrage XML pour l’utilitaire bcp … Nouveautés 2005 clause ATTACH_REBUILD_LOG permet de rattacher une base sans avoir tous les fichiers journaux procédure sp_create_plan_guide permet d’optimiser des requêtes sans modifier le texte de la requête directement (cas d’une application dont on ne peut/veut modifier le source) Paramètre AUTO_UPDATE_STATISTICS_ASYNC permet de recalculer les statistiques de manière asynchrone, sans pénaliser les requêtes

Partitionner ? Quoi? Pourquoi? Comment? Données Non Partitionnées A, B, C, D, E, F, G, H, I, J, K, L Données Non Partitionnées A, B, C D, E, F G, H, I J, K, L Données Partitionnées Quoi? Partitionnement de tables, d’indexes, vues indexées Pourquoi? Grosses tables Ajout/suppression facile de grandes quantités de données (Archivage) Backup/Restore par groupe de fichiers Mieux utiliser des opérateurs parallèles sur des machines avec beaucoup de CPU (16, 32, …) Concurrence d’accès (Lock Escalation) Comment? Partitionnement d’enregistrement (horizontal)

3 étapes A chaque ligne correspond une partition grâce à la « partition function » CREATE PARTITION FUNCTION Part_Fon (int) as RANGE RIGHT FOR VALUES (10, 20, 30) A chaque partition correspond un emplacement physique (Filegroup) grâce au « partition scheme » CREATE PARTITION SCHEME Part_Sche AS PARTITION Part_Fon TO ([Filegroup1], [Filegroup2], [Filegroup3], [Filegroup4]) CREATE TABLE Employees (EmpId int, EmpName varchar(50)) ON Part_Sche (EmpId); Un index utilisant une fonction et une clef de partitionnement similaire à la table est dit « aligné » best practise

Tables & Index partitionnés La clé de partitionnement doit correspondre à une seule colonne Les tables et les index sont créés sur le schéma de partition (au lieu des Filegroups) Le partitionnement est transparent pour les requêtes Des tables et index différents peuvent partager des fonctions et de schémas de partitionnement La création de tables et d’index directement sur les filegroups est bien sûr toujours possible Table ou Index Partition Schéma Fonction 1 n

Comment ajouter ou supprimer des partitions? Permet de traiter le cas typique d’ajout et/ou de suppression d’une partition entière Réalisé à l’aide de 3 opérations simples sur les partitions : Split sépare 1 partition en 2 Merge réunit 2 partitions en 1 Switch échange 1 table et une partition ALTER PARTITION FUNCTION annual_range() SPLIT RANGE (‘2006-01-01’) ALTER TABLE B SWITCH TO A PARTITION 2

Réplications Un schéma à 3 niveaux : 1 émetteur (publisher) 1 distributeur (distributor) N receveurs (subscribers) 1 distributeur peut gérer plusieurs émetteurs 1 receveur peut recevoir des données de plusieurs émetteurs et les republier à son tour Tous les types de réplications permettent les 2 modes : l’émetteur propage les modifications (push) Les receveurs demandent les modifications (pull)  Modifications possibles sur le receveur (« peer to peer ») Réplication des changements de schémas Nombreuses optimisations de performances Reprise des échanges arrêtés, sans réémission complète des données Réplication Fusion sur HTTPS (idéale pour la réplication vers les mobiles) Si la même instance est utilisée comme émetteur et distributeur, on parle de distributeur local. Sinon on parle de distributeur distant 2005 2005

Solutions de réplication Quoi ? Quand ? Résolution des conflits Utilisations standards Cliché Snapshot Copie des objets à un instant t Périodiquement N/A Initialisation; Données faiblement modifiées Transactionnelle Les transactions Au fil de l’eau Par transaction Serveur à serveur Peu d’écarts entre les sites Fusion Merge Les données modifiées entre deux instants Ligne par ligne Multiples receveurs Mise à jour asynchrones D’égal à égal Peer to peer 40% de pages en moins dans le Wizard de Publication 2005

Réplication Transactionnelle: Replication Peer-to-Peer “Ouest” “Nord” Logreader Agent Logreader Agent Dist DB Dist DB “Sud” Distribution Agent Distribution Agent Logreader Agent Standard transactional replication assumes read-only Subscribers and is hierarchical in structure: typically a single Publisher publishes data to one or more Subscribers. Standard transactional replication also supports a republishing hierarchy: updates are delivered from a Publisher to a set of republishing Subscribers, who in turn deliver updates to a final set of leaf-node Subscribers. Updating subscriptions offer the ability for Subscribers to push changes back to the Publisher, but the arrangement is still hierarchical because changes follow the hierarchical structure when moving between Subscribers and Publishers. In contrast to read-only transactional replication and transactional replication with updating subscriptions, the relationships between nodes in a peer-to-peer replication topology are peer relationships rather than hierarchical ones, with each node containing identical schema and data. Dist DB Distribution Agent

Réplication depuis Oracle Réplication Transactionnelle Une base Oracle en tant qu’émetteur v8+, Unix , Linux, Windows Administration depuis SQL Server Aucun logiciel ne doit être installé sur la base Oracle Utilise pleinement les fonctions de Réplication de SQL Server Réplication Transactionnelle et par Snapshot L’inverse est également possible (déjà disponible en 2000) Matt SQL Server Distributeur Abonnés

Administration Nouveautés pour la sécurité SQL Server Surface Area Configuration Séparation utilisateur - schéma Nouveautés 2005

Désactivé par défaut SQL Server Surface Area Configuration

Séparation Utilisateur-Schéma Chaque schéma est possédé par un rôle ou un utilisateur Chaque utilisateur possède un schéma par défaut pour la résolution des noms Les objets BD appartiennent à un schéma La création d’un objet dans un schéma nécessite les droits CREATE TABLE et La possession du schéma ou ALTER ou CONTROL Base Utilisateur 1 Rôle 2 Rôle1 A comme défaut possède possède possède Schéma1 Schéma2 Schéma3 SP1 F1 Tab1

Le problème… Résolution des noms Table Vue Procédure Fonction Utilisateur 2 Objet SGBD Possédé par Utilisateur 1 Résolution des noms Select * from Foo Utilisateur.foo Dbo.foo Supprimer un utilisateur pouvait nécessiter de modifier l’application !

La solution… Table Vue Procédure Fonction User 2 Possédé par Objet SGBD Possédé par Appartient à Possédé par Schéma User Supprimer un utilisateur NE nécessite PLUS de modifier l’application

Résolution de nom Résolution du nom Schéma par défaut S1. foo Dbo.foo Table Vue Procédure Fonction User 2 Possédé par Appartient à Schéma Résolution du nom Select * from foo S1. foo Dbo.foo Schéma par défaut Utilisateur 1 Utilisateur 2 Schéma par défaut S1 Utilisateur 3

SQL Server 2005 pour les développeurs

La Productivité des Développeurs Intégration renforcée avec .Net Intégration avec Visual Studio Intégration de la CLR dans le moteur SGBD Nombreux langages : T-SQL amélioré, VB.NET, C#, J#... Extensibilité Type de données XML natif Type de données créé par l’utilisateur Snapshot Isolation Applications distribuées ou asynchrones Intégration de Web services Nouveau service distribuée : Service Broker Notification Services (requêtes asynchrones)

La Productivité des Développeurs Intégration renforcée avec .Net Intégration avec Visual Studio Intégration de la CLR dans le moteur SGBD Nombreux langages : T-SQL amélioré, VB.NET, C#, J#... Extensibilité Type de données XML natif Type de données créé par l’utilisateur Snapshot Isolation Nouveautés 2005

Le choix dans le stockage des données Accès par calcul et par .Net T-SQL CLR XML Faire le bon choix dans le stockage et la méthode d’accès aux données. La seule règle d’or : le bon sens ! Critère : format des données en entrée et en sortie les opérations à effectuer dessus Accès semi-structuré Accès relationnel

Assembly: “TaxLib.dll” Intégration .NET construire Assembly: “TaxLib.dll” Microsoft® Visual Studio® .NET Project déployer SQL Data Definition: create assembly … create function … create procedure … create trigger … create type … CLR hébergée dans SQL Server SQL Queries: select sum(tax(sal,state) ) from Emp where county = ‘King’ Microsoft® SQL Server™

La CLR 2.0 est hébergée Windows SQL OS SQL Engine CLR 2.0

SQL Server et .NET Framework 2.0 Environnement de programmation pour Functions Stored Procedures Triggers User Defined Types Aggregates Sécurité Intégration de la sécurité SQL Server et CLR Trois niveaux de sécurité Safe, External-Access (verifiable), Unsafe

Quelle technologie utiliser ? T-SQL Langages CLR User Defined Functions X Stored Procedures Triggers User-Defined Types Aggregates

Sécurité CLR : Permission Sets SAFE Aucun accès aux ressources externes à SQL Server Aucun appel à du code non managé (Win32, COM…) Doit-être « verifiable » EXTERNAL_ACCESS SAFE + accès à certaines ressources externes (Fichier, Network…) Accès aux ressources externes uniquement via des classes .NET SQL Server 2005 change le contexte d’exécution du code Doit-être « verifiable » UNSAFE Peut appeler du code non managé, peut-être « un-verifiable » LE CODE PEUT TOUT FAIRE – DECONSEILLE !!!!

Nouveautés Transact-SQL 2005 Instructions DDL (Data Définition Language) Varchar(max), nvarchar(max), varbinary(max), xml Déclencheurs sur les instructions DDL (DDL Triggers) Instructions DML (Data Manipulation Language) Gestion des Exceptions (Try/Catch) Instructions CTE (Common Table Expression) Opérateur Pivot Fonctions de Classement TOP La Clause Output Mode de Verrouillage (Snapshot Isolation)

Définition des données (DDL) Nouveaux types de données Varchar(max), nvarchar(max), varbinary(max), xml Déclencheurs sur les instructions DDL (DDL Triggers) Gestion des contraintes d’intégrité référentielles Gestion des identifiants/utilisateurs Create login Create user

Types de Données Les Types Image et Text ont des limitations DML Type de Données Types de données Déclencheurs sur les instructions DDL Gestion des contraintes d’intégrité référentielle Les Types Image et Text ont des limitations Peu de fonctions permettant de manipuler ces types de données Pas utilisables en tant que paramêtres dans une procédure ou batch Ne peut pas être mis à jour directement Nouveaux Types de données VARCHAR(MAX), NVARCHAR(MAX), VARBINARY(MAX) Taille : <= 2 Goctets CREATE FUNCTION dovmax(@in varchar(max)) RETURNS varchar(max) AS BEGIN -- supporte la concatenation RETURN @in + '12345' END

Déclencheurs (Triggers) sur les instructions DDL DML Déclencheurs sur les instructions DDL Types de données Déclencheurs sur les instructions DDL Gestion des contraintes d’intégrité référentielle SQL Server 2005 permet de définir des déclencheurs sur des instructions de type DDL. Les déclencheurs DDL s’exécutent dans le contexte de la transaction qui les initie Une instruction ROLLBACK peut être exécutée pour défaire le travail du déclencheur. CREATE TRIGGER trgSchemaAuditing ON DATABASE FOR CREATE_TABLE, ALTER_TABLE, DROP_TABLE AS BEGIN INSERT INTO dbo.tblSchemaChangeLog SELECT CONVERT(nvarchar(max), EventData()) END

Gestion des Contraintes d’intégrité référentielle DML Gestion des Contraintes RI Types de données Déclencheurs sur les instructions DDL Gestion des contraintes d’intégrité référentielle CREATE TABLE Orders ( orderid INT NOT NULL, customerid CHAR(5) NULL DEFAULT('DUMMY'), orderdate DATETIME NOT NULL, CONSTRAINT PK_Orders PRIMARY KEY(orderid), CONSTRAINT FK_Orders_Customers FOREIGN KEY(customerid) REFERENCES Customers(customerid) ON DELETE SET NULL ON UPDATE SET DEFAULT )

Manipulation des données (DML) Gestion des exceptions Try/catch Common Tables Expression Récursivité Nouveaux Opérateurs Pivot, Unpivot, Apply Fonctions de classement Row_number, Rank, Dense_rank, Ntile, TOP Nouveau Mode de Verrouillage Snapshot Isolation Output Clause Fulltext Search Autres

Gestion des Exceptions DML Gestion des Exceptions Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres Bloc Try/catch Nouvelles fonctions de gestion des erreurs ERROR_NUMBER() ERROR_SEVERITY() ERROR_STATE() ERROR_MESSAGE() XACT_STATE() -- Exemple BEGIN TRY SELECT * FROM authors END TRY BEGIN CATCH -- Test tx state IF (XACT_STATE()) = -1 ROLLBACK TRANSACTION IF (XACT_STATE()) = 1 COMMIT TRANSACTION END CATCH GO

Common Table Expression (CTE) DML Common Table Expression Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres Définition : Un jeu de résultats temporaire, qui dérive d’une requête simple de type : Select, Insert, Update ou Delete. Exemple : USE AdventureWorks ; GO WITH DirReps(ManagerID, DirectReports) AS ( SELECT ManagerID, COUNT(*) FROM HumanResources.Employee AS e WHERE ManagerID IS NOT NULL GROUP BY ManagerID ) SELECT * FROM DirReps ORDER BY ManagerID

Nouveaux Opérateurs DML Nouveaux Opérateurs Tableaux Dynamiques Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres PIVOT UNPIVOT Apply Exemple: Id PropName PropVal 1 Name xxx.doc CrDate 12/3/2001 2 yyy.xls Author V.Hugo Brand Year Sales Ms 1990 2000 Other 500 1991 3000 600 SELECT * FROM table PIVOT(MIN(PropVal) FOR PropName IN ([Name],[Author]) ) t SELECT * FROM table PIVOT(SUM(Sales) FOR Year IN ([1990], [1991]) ) t Id Name Author 1 xxx.doc NULL 2 yyy.xls V.Hugo Brand 1990 1991 Ms 2000 3000 Other 500 600

Fonctions de classement avec SQL Server 2005 DML Fonctions de classement Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres Fonctions de classement: RANK() NTILE(<expression>) <ranking_function> OVER( [PARTITION BY <column>] ORDER BY <column>) DENSE_RANK() ROW_NUMBER() Exemple: SELECT Athlete, Time, RANK() OVER(ORDER BY Time) AS Rank, DENSE_RANK() OVER(ORDER BY Time) AS Dense_Rank, NTILE(3) OVER(ORDER BY Time) as NTILE_3, FROM RaceResults Athlete Time Rank Dense_Rank NTile_3 Joe 10 1 Bob 10.5 2 Mark Will 10.6 4 3 John 11.0 5

Nouveau Mode de Verrouillage avec SQL Server 2005 DML Mode de Verrouillage Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres Transaction level ‘Snapshot Isolation’ Garanti l’intégrité Transactionnelle (ACID) Les Lecteurs ne posent pas de verrou Déclaration Set Transaction Isolation level Snapshot Alter database mydatabase set allow_snapshot_isolation on Transaction 1 BEGIN TRAN UPDATE t1 SET c2 = 9 WHERE c1 =1 COMMIT TRAN Transaction 2 SET TRANSACTION ISOLATION LEVEL SNAPSHOT BEGIN TRAN SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 5 SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 5 COMMIT TRAN SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 9

Snapshot Isolation Example CREATE TABLE t1 (c1 int unique, c2 int) INSERT INTO t1 VALUES (1, 5) Transaction 1 BEGIN TRAN UPDATE t1 SET c2 = 9 WHERE c1 =1 COMMIT TRAN Transaction 2 (Snapshot Isolation) SET TRANSACTION ISOLATION LEVEL SNAPSHOT BEGIN TRAN SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 5 SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 5 COMMIT TRAN SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 9 Transaction 3 (RCSI) BEGIN TRAN SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 5 SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 9 COMMIT TRAN SELECT c2 FROM t1 WHERE c1 = 1 -- SQL Server returns 9 Time

DML Avec des Résultats (OUTPUT Clause) Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres OUTPUT clause pour les instructions DML : Utilisez “inserted” or “deleted” pour récupérer l’image Avant ou Après modification. Option pour stocker les enregistrements : OUTPUT …INTO UPDATE Orders SET status=’processed’ OUTPUT DELETED.*, INSERTED.* WHERE status=‘unprocessed’ DELETE Sales.ShoppingCartItem OUTPUT DELETED.* INTO @MyTableVar

Fulltext Search DML Fulltext Search Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres Programmation Create Fulltext Catalog/Index Alter fulltext Catalog/Index Drop fulltext catalog/Index Nouvelles Fonctionnalités Support des Thésaurus Support Multi-colonnes : CONTAINS((col1, col2), ‘yukon’) Peut fonctionner avec des serveurs liés Administration et Exploitation Intégré dans les fonctions backup/restore Transport Fulltext avec les fonctions attach / detach Optimisation 30 à 50% d’amélioration en lecture Jusqu’à 700% d’amélioration en temps d’indexation

Autres DML Autres Gestion des exceptions Common Table Expression Nouveaux Opérateurs Fonctions de classement Mode de Verrouillage Output Clause Fulltext Search Autres Bulk Operations on Openrowset SELECT a.* FROM OPENROWSET( BULK 'c:\test\values.txt', FORMATFILE = 'c:\test\values.fmt') AS a INSERT INTO myTable(FileName, FileType, Document) SELECT 'Text1.txt' AS FileName, '.txt' AS FileType, * FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document Améliorations sur l’instruction TOP Instruction TOP accessible depuis les ordres Insert/Update/Delete Utilisation d’une variable dans l’instruction TOP Exemple Declare @p as int set @p = 10 Select TOP(@P) * from HumanResources.Employee Requêtes Distribuées EXECUTE ('CREATE TABLE SalesTbl (SalesID int, SalesName varchar(10));', 'SalesData') AT ServeurParis; Tablesample

Nouveautés XML SQL Server 2005 CREATE TABLE Invoices (InvoiceID int, SalesDate datetime, CustomerID int, ItemList xml) INSERT INTO Invoices VALUES (1, GetDate(), 2, '<Items> <Item ProductID="2" Quantity="3"/> <Item ProductID="4" Quantity="1"/> </Items>') Nouveau type de donnée natif XML Gestion des schémas optionnelle Indexation des colonnes de type XML Manipulation du XML Support de Xquery 1.0 Améliorations For XML OpenXML CREATE XML SCHEMA COLLECTION ResumeSchemaCollection as N’<xsd:schema>...</xsd:schema>’ SELECT ItemList.query(' <Items> { for $i in /Items/Item return <Quantity> {number($i/@Quantity)} </Quantity> } </Items>') from Invoices

La Productivité des Développeurs Applications distribuées ou asynchrones Intégration de Web services Nouveau service distribuée : Service Broker Notification Services (requêtes asynchrones) Nouveautés 2005

Gestion des Web Services Configuration Sécurité WSDL Accès depuis une application tierce WSDL HTTP.sys SQL Server HTTP Endpoint

SQL Service Broker SQL Engine SQL Engine APP 1 APP 2 Services et environnement de programmation pour construire des applications réparties fiables asynchrones Apporte une nouvelle infrastructure de communications Dialogues (conversations) bidirectionnelles Livraison fiable vers des queues locales et distantes Exactement une livraison Pas besoin du commit à 2 phases du DTC Préserve l’ordre des messages, même dans des tx séparées Messages volumineux jusqu’à 2 GB – fragmentés Pas de dépendance sur MSMQ The key thing that differentiates the Service Broker from other queuing solutions is that it is built into the database. This has a number of implications: One programming model T-SQL like syntax Common Language Support The messaging part of an application and the data part of an application use the same language and tools in a Service Broker application. This leverages the developer’s familiarity with ADO and other database programming techniques for message-based programming. With the Common Language Runtime stored procedures available in Yukon, stored procedures that implement a Service Broker service can be written in a variety of languages and still take advantage of the common administration benefits of Service Broker. Queues are first class database objects so all the manipulation and management features that other database objects have – DDL, DML, views, extended properties, Meta Data, events, etc. are also available on queues. New DML and DDL statements have been added to TSQL to support messaging and queuing. These statements are parsed and optimize by the same logic as other TSQL statements. The same API’s and tools that you use for database programming (ADO, OLEDB, ADO.Net, etc) are used for messaging and queuing operations. A single connection to the database handles both database and messaging operations. Because messaging and other database operations share the same database connection, transactional messaging doesn’t require two-phase commit. This improves performance and reduces the complexity of transactional messaging. Activation One issue many messaging applications have is that it is difficult to keep the correct number of queue readers running to handle the current message load. The Service Broker has a hook in the transaction commit logic that detects a message being inserted into a queue and if activation is configured on the queue, it will ensure that a queue reader is running to receive the message that just was placed on the queue. Simple backup, recovery and admin Because your message store and you application data store is the same database, you can manage and maintain them together – one backup ensures that both are backed up and always in sync. Supports failover clustering and mirroring!!! service broker is part of the engine, not a separate install, and not a separate service to manage.

Architecture Service Broker Niveau applicatif Application Cible Application Initiatrice Message Type Niveau logique Message Type Contract Contract Dialog Conversation Service Service Niveau physique Queue Queue TCP/IP Transport Transport Endpoint Endpoint

Fragmentation des messages SQL Service Broker est conçu pour des messages de très grande taille SSB assure la création de fragments et les réassemble lorsqu’ils arrivent au service destinataire Le service destinataire reçoit ces gros messages comme s’il était d’un seul tenant Cette caractéristique permet de faire passer d’autres messages sans les bloquer La taille maximale est varbinary(MAX) – 2 GB

Exemple d’utilisation de DML pour SSB Begin Transaction; BEGIN DIALOG @hConversation FROM SERVICE [CustomerSvc] TO SERVICE ‘TravelSvc‘ ON CONTRACT [BookTravel]; SEND ON CONVERSATION @hConversation MESSAGE TYPE [ReservationRequest] (@msgbody); Commit Transaction; WAITFOR (RECEIVE * from [CustomerSvcQueue]), TIMEOUT 5000 ; END CONVERSATION @hConversation; Begin Transaction; LOOP UNTIL EMPTY QUEUE WAITFOR ( RECEIVE @hConv=conversation_handle, @msgbody=message_body FROM [TravelServiceQueue]), TIMEOUT 5000; SEND ON CONVERSATION @hConv MESSAGE TYPE [ReservationResponse] (@msgbody2); END CONVERSATION @hConv; END-LOOP Commit Transaction;

Nouveaux ordres Nouveautés DDL Nouveautés DML CREATE MESSAGE TYPE CREATE CONTRACT CREATE QUEUE CREATE SERVICE ALTER SERVICE ALTER MESSAGE TYPE ALTER QUEUE ALTER CONTRACT DROP MESSAGE TYPE DROP CONTRACT DROP QUEUE DROP SERVICE CREATE ROUTE ALTER ROUTE DROP ROUTE BEGIN DIALOG CONVERSATION END CONVERSATION MOVE CONVERSATION GET SERVICE INSTANCE RECEIVE SEND BEGIN DIALOG TIMER

Notifications Services : Evènements, abonnements et notifications Les évènements sont des enregistrements dans une table. Subscriptions StockSymbol MSFT Trigger 40 SubscriberId billg@msn.com Les abonnements sont aussi des enregistrements dans une table. Effectuer une jointure permet de produire des résultats (notifications) - à intervalles réguliers - à des moments précis - de complexité arbitraire Sur 3 canaux : HTTP, SMTP et fichier

Fonctionnement d’une application de SQL NS Abonnés Souscriptions (millions) Sources d’Infor-mation Abonnés: ordinateurs, navigateurs, téléphones, messagers… Evène-ments Générateur Notifications (millions) Notification Applications work as follows: - The “subscriber” registers a “subscription” with the Notification Application. - The Notification Application monitors a flow of “events” that arise from some external activity. - The Notification Application “matches” the incoming events against the subscriptions and generates a “Notification” whenever a match occurs. - The notifications are formatted and sent to the user anywhere, anytime, on any device. - Notification applications may need to support millions of subscriptions, hundreds of thousands of events, and millions of notifications. Any push application has the following components: 1) Users record subscriptions – these are requests to be notified when certain events and situations occur (eg. Alert me if my wife calls, stock change)

En pratique: fichiers XML et code à écrire Les fichiers XML suivants définissent ce qu’est une application et une instance SQL NS XSLT Content Formatter XSD XML Event Files XSLT Content Formatter XSD XML Event Files Application Definition File Application Definition File Instance Configuration File // Test de SQL NS: création de l’instance, des abonnés et des abonnements using Microsoft.SqlServer.NotificationServices; // Création de l’objet NSInstance string instanceName = “Localisation”; NSInstance myInstance = new NSInstance(instanceName); // Création de l’objet Subscriber Subscriber mySubscriber = new Subscriber(myInstance); // Ajout d’un abonné mySubscriber.SubscriberId = “sqlnsuser@sqldays.com"; mySubscriber.Add(); Code .Net à écrire // Managed Code Content Providers using System; using System.Configuration;

SQL Server 2005 pour les analystes décisionnels

Intégrer Restituer Analyser Business Intelligence Acquisition et intégration de données de système sources Transformation et agrégation de données Enrichissement des données avec la logique d’entreprise Exploration de l’information avec les outils de data mining Présentation et distribution des données Accès aux données pour tous

Intégrer Business Intelligence Acquisition et intégration de données de système sources Transformation et agrégation de données

Business Intelligence : Integration Services ETL d’entreprise Module entièrement nouveau Haute performance et évolutivité Meilleur Design Environnement de développement Gestion des versions Analyse pas à pas visuelle du flux et des données Nombreuses transformations natives Extensible Tâches personnalisées Transformations personnalisées Sources de données personnalisées

Nouvelles contraintes techniques adressées Disparition de la fenêtre batch Capture des données en amont des application traditionnelles (RFID, ClickWeb, RSS…) De plus en plus de sources SGBD, fichiers plats XML, SAP, Web Services, RSS, … Et autant de cibles Structurée, semi structurée, non structurée Des volumes toujours plus grands Au-delà de l’alimentation d’un entrepôt: prise en compte de nouvelles destinations.

Exemple: SANS Integration Services Alertes & escalades Data mining Centre d’appel : données semi structurées Gros systèmes : fichiers binaires Base de donées : données relationnelles Codage spécifique Stockage intermédiaire Text Mining ETL Nettoyage & ETL Stockage intermédiaire ETL Warehouse Rapports Mobile Chaque étape nécessite des opérations séparées La préparation des données nécessite des outils différents et parfois incompatibles L’ensemble introduit des délais dans les réponses Les gros volumes de données posent des problèmes

Exemple: AVEC Integration Services Alertes & escalades Warehouse Rapports Mobile SQL Server Integration Services Traitement Du texte Source spécifique Sources standards Nettoyage des données Fusions Data mining Centre d’appel : données semi structurées Gros systèmes : fichiers binaires Base de donées : données relationnelles Intégration et création d’entrepôt se font dans une seule opération Récuparation, préparation et chargement des données dans un seul processus auditable Possibilité de gérer des très gros volumes de données

Les composants de SSIS Control Flow Data Flow FTP Send Mail Flat File Source Oracle ADO.NET Source Send Mail Merge Loop Execute SQL De-duplicate Split Data Flow SQL Server Flat File Les données peuvent provenir de sources multiples et hétérogènes … Les données, provenant de sources variées, peuvent être fusionnées dans un flot unique Et chargées dans des destinations multiples et hétérogènes . Elles peuvent alors être nettoyées … Qui a son propre modèle dédié au déplacement et à la transformation de données. Le Control flow peut comprendre différents types de tâches Les données peuvent ensuite être partitionnées et séparées… Le Control flow permet de définir un enchainement de taches complexe. Groupes en boucles, séquences… et reliées par des contraintes. Le Data Flow est une tâche spéciale …

Les composants de SSIS Le Control flow permet de définir un enchainement de taches complexe. Groupées en boucles, séquences… et reliées par des contraintes. Le Control flow peut comprendre différents types de tâches Le Data Flow est une tâche spéciale … Qui a son propre modèle dédié au déplacement et à la transformation de données. Les données peuvent provenir de sources multiples et hétérogènes … Les donnée, provenant de sources variées, peuvent être fusionnées dans un flot unique Elles peuvent alors être nettoyées … Les données peuvent ensuite être partitionnées et séparées… Et chargées dans des destinations multiples et hétérogènes .

Performances 3 fois plus rapide en 64 bits qu’en 32 64-bit vs. 32-bit parallel Lookups Performance (Six lookups with 100M Dim rows with fast parse enabled) 20 67 25 50 75 100 Platform Type Execution Times (minutes) 64-bit 16 CPU, 32-bit 16 CPU Note: Fréquence 32-bit @ 3 GHz et fréquence 64-bit @ 1.5 GHz

Intégrer Analyser Business Intelligence Acquisition et intégration de données de système sources Transformation et agrégation de données Enrichissement des données avec la logique d’entreprise Exploration de l’information avec les outils de data mining

Business Intelligence : Analysis Services Unified Dimensional Model Réunion du monde relationnel et décisionnel Pro-active caching Business Intelligence Avancée Indicateurs Clés de Performances Scripts Multi langue

Analyses Services Composant OLAP de SQL Server 2005 Propose une vue multidimensionnelle et intuitive des données Permet d’associer une vue métier aux données Calcul d’agrégations permettant une récupération rapide des données

Analyses Services Au niveau du serveur : Gestion, administration des cubes multidimensionnels Optimise le stockage des cubes (cellules vides, agrégations) Optimise les agrégations pour fournir une réponse rapide Nouveau modèle UDM (Unified Dimensionnal Model) Intègre un module de création d’indicateurs clés et de data mining Intègre les PivotTable services pour les applications de création de tableaux et graphiques croisés dynamiques Nombreux assistants

Analyses Services Au niveau du client : Supporte les connexions des différents clients aux données multidimensionnelles Génération de rapports à partir de données multidimensionnelles Support natif des clients XML/A

Améliorations depuis Analysis Services 2000 DSV, Data Source Views Intellicube pour la construction des cubes Évolutions dans les dimensions Notion de perspective pour les cubes Gestion d’indicateurs clés Data mining amélioré Intégration de SQL Profiler Possibilité de multi instances avec SSAS SSAS est « clusterisable » Scripts MDX…

Unified Dimensional Model UDM Accès OLAP Reporting XML/A ou ODBO Data Warehouse Cache KPI Data mining Analysis Services Source de données Clients

Proactive Caching – Basic Operation Analysis Services Update XML/A or ODBO UDM Update Notification SQL Query MDX New Version Cache

Proactive Caching – Basic Operation Analysis Services XML/A or ODBO UDM SQL Query MDX New Version Cache

Indicateurs clés (KPI) Caractéristiques des cubes, calculés coté serveur et gérés par SSAS Définition de valeurs clés Les composants d’un KPI : Valeur, but, état, tendance Création des KPI depuis BI Development Studio API d’accès aux KPI Étapes pour la création de KPI : Choix de la valeur à mesurer Cible/objectif pour cette valeur Statut de la valeur par rapport à l’objectif Évaluation de la tendance

Data Mining – Points clés 7 algorithmes proposés : Decision trees, Navie Bayes, Neural network, Clustering, Time Series, Sequence Clustering, Association Développement d’un projet de Data mining : Au travers de BI Development Studio Assistant pour la définition d’un modèle de mining Editeur de modèle de mining Intégration avec SSIS

Intégrer Restituer Analyser Business Intelligence Acquisition et intégration de données de système sources Transformation et agrégation de données Enrichissement des données avec la logique d’entreprise Exploration de l’information avec les outils de data mining Présentation et distribution des données Accès aux données pour tous

Business Intelligence : Reporting Services Introduit avec SQL Server 2000 Solution de Rapports d’entreprise Création, Gestion, Diffusion de rapports Intégration à Office Nouveautés SQL Server 2005 Intégration avec Analysis Services Nouvelles interactions utilisateur Créateur de rapports pour utilisateurs finaux

Évolutions avec SQL Server 2005 Report Builder, outil utilisateur final Évolution des Contrôles Tri interactif Paramètres multi valués Sélecteur de date Intégration à Management Studio Générateur de requêtes MDX Custom Report Item Floating headers Impression depuis IE (SP2) Web Parts (SP2) Support du 64 bit Support de Multi-instance Évolution de l’éditeur d’expression

Interrogation des données Architecture Navigateur Administration Application Report Builder Data Sources (SQL, OLE DB, ODBC, Oracle, Custom) URL WMI Web Service Formats (HTML, Excel, PDF, Autre) Report Server Report Processing Interrogation des données Formatage Securité Exportation SQL Server Catalog Services Sécurité (NT, Passeport, Autre) Cibles (Courrier, Fichier, Autre)

Scénarios d’utilisation Rapports Internes Rapports “Maison” (Vente, Finance, DRH) Administrable, portail et intégration aux solutions d’entreprise Rapports embarqués Afficher des rapports dans n’importe quelle application d’entreprise (ERP, CRM) ou analytique Architecture extensible et flexible Rapports Collaboratif B2B, B2C, Echanges inter ou intra entreprise … Rapports Externes Publier des rapports via extranets, Internet Isolation de données, sécurité extensible

Migration

Upgrade Advisor Report Avant de migrer… Prêt Upgrade Advisor Upgrade Advisor Report Mise à niveau Après la mise à niveau

Migration ou Mise à niveau Avant Après Mise à niveau Migration SQL Server 7.0/2000 SQL Server 2005 Mise à niveau SQL Server 7.0/2000 SQL Server 7.0/2000 Migration SQL Server 2005

Migration Avantages Inconvénients Fournit un contrôle plus fin sur les opérations Permet d’avoir l’ancienne et la nouvelle version côte à côte pour des tests et des vérifications L’instance de production reste disponible pendant la migration Possible avec des technologies de basculement Inconvénients Peut nécessiter des ressources matérielles supplémentaires Les applications doivent être redirigées vers une nouvelle instance

Mise à niveau Avantages Inconvénients Plus simple et rapide pour les petits systèmes Ne nécessite pas de matériel supplémentaire Les applications pointent sur la même instance Inconvénients Moins de possibilité de contrôle L’instance reste inacessible pendant la mise à niveau Ce n’est pas la recommandation pour tous les composents : Il est recommandé de migrer les cubes Analysis Services