Francis Incourt BI Technology Director Pragmantic René Massy Solution Architect Pragmantic
TOP 10 des fournisseurs de Cartes de Crédit aux Etats-Unis 5 million de clients, 20% de Croissance annuelle 3000 employés, 50 analystes 20 To de données avec SQL Server 2To dans l’OLTP, 8To pour les staging area et les tests 10To dans le DW de production 27 Milliards de lignes dans la table de fait principale (1.5 To) SQL Server bit Partionnement par mois Backup et archivage par mois (read only file grp) Architecture matérielle HP Integrity RX8640, 16 Itanium2 single core, 64GB RAM Baie HP Storageworks XP24000, 178 disques
80 tables de fait 850 dimensions
DEMO SQL Server 2008 Stockage et administration Partitions Ajout à chaud de RAM Plans de maintenance Réindexation online Assistant de tuning SQL Server Integration Services BCP Linked server SSIS: persistant lookup SSIS: scripting C# SSIS: Data profiling Change Data Capture syntaxe MERGE Chargement des données SQL Server 2005 SS Analysis Services SS Reporting Services Analyse et rapports Scalabilité SSAS & SSRS SSAS: subspace computation SSAS: read only SSRS: plus de dépendance à IIS SSRS: Rendering Word et Excel SSRS: évolution du Report Builder Data mining: évolutions Excel et SSIS Performances Plan Guide Parallélisme de requête Architecture 64bit, NUMA Compression des données Verrouillage des plans d’exécution Amélioration du parallélisme sur partition Index et statistiques avec filtre Optimisation des jointure en étoile Grouping set Compression des données Colonnes à faible densité Type de données DATE et TIME Ajout à chaud de CPU Compression des sauvegardes Resource Governor
ETL d’entreprise Haute performance et évolutivité IDE intégré à Visual Studio Environnement de développement Gestion des versions Analyse pas à pas visuelle du flux et des données Nombreuses transformations natives Nouveautés SSIS 2008 Persistant lookup Scripting C# Data profiling
Mécanisme de niveau database Transparent pour les applications Pour les progiciels métiers, cela permet d’identifier les modifications sur une table sans modifier le code Source Table Transaction Log Change Table CDC Functions Capture Process XXXXX XXX XXX XXXX XXX XXXXXXXXXX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XXXXX XXXXXX XXX CTP6
En mode de recovery “Simple” et “Bulk-logged”, la commande “insert” n’enregistre que les allocations de page Vision minimaliste pour assurer le rollback Pour faire un UNDO, connaitre l’allocation des pages est suffisant Run Time CTP6
Fusion de deux tables: Ajout des nouvelles lignes Mise à jour des données existantes Standard SQL-2006 Simplification de l’alimentation d’une table de fait Réduction de la simplicité du code Amélioration des performances (moins de filtre et de stmt) Combinaison avec la commande OUTPUT Merge Stock as S using MouvementStock as MS on S.Productid = MS.Productid When MATCHED and (S.Quantity + MS.Quantity = 0) Then DELETE When MATCHED Then update set S.Quantity += MS.Quantity, S.DateStock = MS.DateMvt When NOT MATCHED THEN INSERT VALUES (MS.Productid, MS.DateMvt, MS.Quantity ) output $action, MS.Productid, getdate(), SUSER_NAME(); CTP5
Pas de gestion des priorités Pas de limitations des ressources Pas de contrôle sur le partage des ressources SQL Server Backup Admin Tasks Executive Reports OLTP Activity Ad-hoc Reports Workloads Memory, CPU, Threads, … Resources
Workload Group Différencaition sur le login, le nom de l’application… Gestion des limites Importance Max Memory % Max CPU Time sec Max DOP Group Max Requests SQL Server Memory, CPU, Threads, … Resources Admin Workload Backup Admin Tasks OLTP Workload OLTP Activity Report Workload Ad-hoc Reports Executive Reports
Resource Pool Ressource virtuelle partagée Gestion des limites Min CPU % Max CPU % Max Memory % Min Memory % Gestion dynamique 20 pools max SQL Server Min Memory 10% Max Memory 20% Max CPU 20% Min Memory 10% Max Memory 20% Max CPU 20% Max CPU 90% Application Pool Admin Pool Admin Workload Backup Admin Tasks OLTP Workload OLTP Activity Report Workload Ad-hoc Reports Executive Reports
SQL Server Admin Workload Backup Admin Tasks Report WorkloadOLTP Workload OLTP Activity Executive Reports Ad-hoc Reports High Min Memory 10% Max Memory 20% Max CPU 20% Admin Pool Max CPU 90% Application Pool Ressource Pool Workload group Limitation des ressources Garantie de ressource Gestion dynamique Avec SQL Server 2008, contrôle min/max du CPU, de la mémoire, et du DOP
Optimisation du stockage : Zéro Octet stocké pour un NULL IDTypeBrandZoomResolutionWaistSizeInseamPrice….. 1CameraCanon3x5300 2PantDockersnull CameraNikon5x CameraPentax3x3195 5PantPolonull PantDockersnull ….. Create Table Products(Id int, Type nvarchar(16), Brand char(10), Resolution int SPARSE, ZoomLength char(2) SPARSE... // Aucun changement dans la syntaxe SQL Select Id, Type, Resolution, ZoomLength from Products; Update Products set Resolution=5, ZoomLength = ‘3x’ where Id = 1; CTP6
Transparent pour les applications Longueur variable généralisée Compression des données Stockage identique sur disque et en mémoire Pas d’explosion mémoire Gain important I/O disque De x1.5 à x7 attendu Disponible CTP C D CTP6
Test sur une application développée pour SQL 2005 sans modification pour les tests en 2008 (mode 100) Volumétrie réelle d’un client en exploitation (260M d’enregistrements dans la table principale) Compression de données Gain de volumétrie de 23 à 81 % Gain de temps de réponse sur certaines requêtes SQL 2008 en mode non compressé (toujours plus rapide que SQL Server 2005) Légère augmentation de consommation CPU Compression de backup Gain de 75% d’espace disque Gain de 50% du temps de backup/restore Partitionned Table Parallelism (PTP) Gain de 34 à 73% sur les requêtes unitaires
SQL Server 2008 Stockage et administration Compression des données Colonnes à faible densité Type de données DATE et TIME Ajout à chaud de CPU Compression des sauvegardes Resource Governor Partitions Ajout à chaud de RAM Plans de maintenance Réindexation online Assistant de tuning SQL Server Integration Services BCP Linked server SSIS: persistant lookup SSIS: scripting C# SSIS: Data profiling Change Data Capture syntaxe MERGE Chargement des données SQL Server 2005 SS Analysis Services SS Reporting Services Analyse et rapports Scalabilité SSAS & SSRS SSAS: subspace computation SSAS: read only SSRS: plus de dépendance à IIS SSRS: Rendering Word et Excel SSRS: évolution du Report Builder Data mining: évolutions Excel et SSIS Performances Compression des données Verrouillage des plans d’exécution Amélioration du parallélisme sur partition Index et statistiques avec filtre Optimisation des jointure en étoile Grouping set Plan Guide Parallélisme de requête Architecture 64bit, NUMA
Innovative Cube Designer Best Practice Design Alerts Enhanced Dimension Design Enhanced Aggregation Design New Subspace Computations MOLAP Enabled Write-Back Enhanced Back-Up Scalability New Resource Monitor Execution Plan
23 SSAS 2005 Computation of non-default expressions only Gain tremendous performance on “sparse” populated cubes Analysis Services 2008 Run & Experience Subspace Computation SSAS 2008
Evolution du Microcosme… Demo
HP Superdome – 32 CPU Itanium – 24 Storage controllers 6 billions rows, 1TB table 19GB/sec, 1 minute table scan, SQL Server 2008
SQL Server Milliard de lignes dans une table de faits (Premier Bankcard) Cubes Partitionnés, plusieurs milliard de lignes TPCH Record (3 To, Requêtes/h) SQL Server 2008 SQL: 100 à 200 milliard de lignes, 50 à 100 To, compression SSAS: 25 Milliard de lignes par Cube SSRS: intégration office, richesse et ouverture Simplification des chargements Quelques références en production Data WarehouseSQL Server32 ToUPSS SQL Server28 ToKorea Telecom SQL Server26 ToMicrosoft ICE
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.