[PASS SUMMIT 2013] Squeezing Top Performance from your Virtualize SQL Server

Speaker : David Klee

Niveau de la session : 300

Agenda :

  • What does virtualization mean for DBAs
  • Environnement Design and Performance Impact
  • SQL server virtual machine Construction
  • Demo :  Tuned versus non Tuned VM performance
  • Real World Performance Killers (and How to Fixed them)

1. What is virtualization :

Le speaker explique ce qu’est la virtualisation. Historiquement cela est du à la volonté de consolider le matériel.

La contention des ressources détermine le ratio de consolidation.

Ne pas oublier que tout le reste de la session est également lié à l’utilisation de SQL server.

2. Hypervisor Options (Q3 2013) :

Vmware vsphere 5.5 vs Microsoft Hyper V-2012 R2

Coût de Hyper V (inclus dans Windows Server) = bonne nouvelle par rapport à celui de Vmware

3. Environnement :

(underneath your data)

Storage présenté en tant que partage aux VM (modèle physique puis modèle logique).

4. SQL server virtual machine Construction :

La session donne des conseils de configuration pour chaque composant de la virtualisation (pour le détail il faudra lire les slides de la session) :

  • Host – Serveur Physique
  • (Shared) Storage
  • Réseau
  • Configuration de la machine virtuelle
  • Dimensionnement de la machine virtuelle
  • Configuration des disques la machine virtuelle (8 niveaux logiques puis placement des disques virtuels sur le système physique)
  • Configuration du système d’exploitation Windows Server
  • Configuration d’une instance SQL Server

5. Performance Benchmark :

  • Attention c’est la performance c’est subjectif sauf si vous avez des métriques
  • Le faire pour chaque composant
  • Tools : perfmon / SCOM / VMware vCenter , SQL DMos, Tierce
  • Conseil : open source de benchmarking super = DVDStore (http://linux.dell/dvdstore) : le test donne la VM non tunée 31% plus lente

6. Real World Performance Killers :

4 cas sont abordés en décrivant les symptômes et les remèdes (storage performance, Host overcommitement, noisy neighbors, …)

La conclusion est un encouragement à tout virtualiser. Penser 1 Application par SQL server VM (mieux pour la maintenance car sinon c’est pas top quand on doit arrêter une VM sur laquelle il y a 10 appli).

Conclusion :

Session recommandée (à tous) si vous souhaiter améliorer vos performances rapidement (dès lors que vous virtualisez) et connaître la bonne démarche à adopter.

Rien de magique non plus (car le travail reste à faire !) mais la session a le mérite d’être très bien faite (slides et répartition des sujets parfaits).

Pour les geek et les geekettes c’est le moment de jouer avec SQLIO, IOMETER, CrystalDiskMark, Iperf … et collecter périodiquement vos métriques (débit MB/S, I/Os per seconde, Latency in ms : inf a 10 ms !).

Pascal Rouzé

[PASS SUMMIT 2013] CAT : From question to insight with HDInsight and BI

Speaker : Cindy Gross, Microsoft

Niveau de la session : 400

L’itinéraire de la session est le suivant :

On part d’une question : comment améliorer les SLA autour de SQL Server ?

On s’intéresse au Design d’une solution possible dont les enjeux majeurs sont les suivant :

  • La capacité à avoir une bonne bande passante
  • La mise en place de Scale Out
  • La réduction des temps de réponse

La solution : Windows Azure SQL Data Services

 

Si maintenant les données correspondent à des « Big Data », la solution est HD Insight

HD Insight est l’implémentation de Hadoop, framework pour manipuler du « Big Data », coté Microsoft et dans Windows Azure.

 

Pour la couche stockage on utilise HDFS (Hadoop Distributed File System) et WASB (Windows Azure storage Blob)

Les commandes Hadoop Map & Reduce  sont overridées et reste transparentes pour l’utilisateur.

Pour le Data cleansing on utilise une interface et un langage de script appelée « Pig »

Pour créer des tables structurées, les partitionner et les requêter on  utilise une interface et un langage de script appelé « Hive »

Ces tables sont créées dans une zone de staging appelé HCatalog

 

Une fois les données stockées dans le HCatalog pour les déplacer dans SQL Server on utilise une interface appelé Sqoop.

Pour la partie Ordonnancement de batch il existe une interface et un langage de script  appelé Oozie  qui ressemble aux commandes xmla.

Pour se  connecter notamment depuis  Excel au « Big Data » on utilise un connecteur ODBC Hive.

Une fois les données exposé on peut faire de la BI sur du « Big Data »

Des démonstrations ont été faites :

  • Unstructured log stocké dans Azure
  • Script Pig pour faire du nettoyage dessus
  • Hive script pour créer une table structurée et partitionnée et requêter les données

Ensuite on présente toute la partie déploiement et configuration dans WA, puis la création de cluster

Enfin, on fini par présenter WebHCat (Templeton), une interface pour la programmation autour de HDInsight avec des langages .NET, LINQ, Powershell

Cela s’appuie sur l’API REST.

Conclusion :

Session très bien menée.

HD insight est une plateforme qui a l’air inachevée, c’est probablement une solution transitoire qui est née d’une solution open source appelée Hadoop,  qui a été exploitée et simplifiée par une société appelé HortonWorks mais qui semble converger vers cette solution Microsoft qui masquera probablement toute la complexité de Hadoop et HortonWorks.

Sébastien Madar

[PASS SUMMIT 2013] Power BI Self-Service Information Management

Speakers : Matthew Roche & Ofer Ashkenazi – Microsoft Corporation – Power BI Team

Niveau de la session : 200

1. Power BI review :

  • 1 milliard d’utilisateurs Office,
  • 1/4 des entreprises clientes sont sur Office 365,

Démo SSIM dans Power BI:

– US Airports Weather Data et Arrival Delays,
– Sources : Windows Azure HDInsight, Excel,
– Share Query : il est important de rajouter la description de la requête afin de faciliter l’indexation de la Query et donc la retrouver en top list dans online search,
– Power MAP (nécessite la version 64 bits de l’os et d’Excel),

2. Power BI SSIM main modules :

  • Data Catalog : contient notamment les métadonnées des différentes sources internes et externes (les Query y sont publiées suite au Share),
  • Power Query in Excel,
  • Admin Center,
  • Data Management Portal,

3. Delivering tangible benefits for customers :

  • Data Steward : s’assure que les métiers ont les données dont ils ont besoin quand ils en ont besoin (création et annotation des tueries, identification des besoins en données, suivi des statistiques d’utilisation des données (usage analytics par date / utilisateur / requête)),
  • IT Admin : se charge de fournir les sources de données, de gérer les droits d’accès et du Data Management Gateway,

Conclusion :

Session assez intéressante pour découvrir et comprendre l’écosystème de Power BI en termes d’outils et d’acteurs.

Ismaïl Ben Lamine

[PASS SUMMIT 2013] Deep Dive into the Power Query Formula Language

Speakers : Faisal Mohamood – Lead Program Manager, Theresa Palmer-Borovski – Program Manager & Clement Szyperski

Niveau de la session : 400

Agenda :

  • Design Goals & Guidelines Principles
  • Lang Constructs & Type System
  • Demo, demo, Demo

La session démarre avec les objectifs de construction du langage (utlisateurs avancés d’Excel, Syntaxe simple, proximité avec DAX…)

1. Principes :

  • Dynamique
  • Fonctionnel
  • Hautement ordonné
  • Typage optionnel

2. Type System :

Ensemble de types restreint

Possibilité de définir des types personnalisés

3. Values :

  • Null
  • Logical
  • Number
  • Text
  • Date …
  • Duration

4. Complex Values :

  • List
  • Record
  • Table
  • Fonction
  • Type
  • Binary

5. Fonctions Unaires

Existence de forms syntaxiques spéciales (expressions conditionnelles, Let expression, Error Expression, Try expression)

Existence de types structures (List, Record, Table, Function)

 

Passé la partie théorique assez courte (il en faut bien un peu non), le reste de la présentation enchaine démo sur démo des fonctions du langage : c’est ce qu’il faut regarder de la session.

Conclusion

Une très bonne session avec un aperçu des possibilités offertes par le langage. Une alternative à SSIS dans certains cas ?

Pascal Rouzé

[PASS SUMMIT 2013] From Data to Insight : Views from Microsoft Finance

Speaker : Marc Reguera – Directeur dinancier chez MS Corp

Niveau de la session : 200

 

Vue d’un business analyste qui est un des directeurs financier de MS Corp. sur la nouvelle technologie Power BI.

L’utilisation de Excel 2013 a « changé sa vie »

Il  fait des démos et montre comment il créé lui-même ses rapports, notamment  financier.

 

La Révolution BI en libre-service a commencé depuis 2 ans.

On part sur le fait qu’il y a une frustration qui peut exister chez un analyste envers l’IT pour ne pas avoir ses rapports en temps et en heure.

Solution : Laisser l’analyste créer lui-même ses rapports sans avoir de connaissances techniques.

Agenda :

  1. Créer un dashboard en quelques minutes
  2. Mettre en place sécurité et formules en quelques heures
  3. Cas d’usage : AirFare Cost (frais d’avion)
  4. Publier l’information et construire des graphiques en 3D
  5. L’outil révolutionnaire : Q&A

 

1. Créer un dashboard en quelques minutes

Démo :

Rapprochement entre budget et la VTB sur une année fiscal donnée

Plusieurs axes d’analyse : produit, ville..

VTB : Variance to budget

2. Mettre en place la sécurité et les formules en quelques heures

Démo :

Utilise une base de 400 millions de lignes qui est stocké dans SSAS Tabular.

Il accède à un rapport dont il n’a pas les droits sur un pays en particulier : aucunes données ne s’affichent mais le rapport se lance.

3. Cas d’usage : AirFare Cost (frais d’avion)

Démo :

Exemple : Impact des couts selon la date à laquelle le billet a été commandé

4. Publier l’information et construire des graphiques en 3D

Démo :

  • Unpivot dans Power Query
  • Rapprocher des données publiques et privées dans Power Query
  • Carto avec Power Map
  • Données démographique avec Scatter

5. L’outil révolutionnaire : Q&A

Démo sur le championnat espagnol de foot

Conclusion :

Session très vivante, les démos sont très interactives, il fait parler les données autant d’un point de vue professionnel, la finance, mais aussi personnel avec le foot et le réal de Madrid où il exprime au passage sa passion.

Son pays natal est la France, il y fait allusion souvent dans ses démos comme l’ami de son père qui est artisan à Noisy le grand où il a vécu.

Sébastien Madar

[PASS Summit 2013] Building an effective Data Warehouse Architecture

Speaker : James Serra – BI Consultant, SolidQ

Niveau de la session : 100

1. What à DWH is not :

  • une copie de la base source avec un préfixe « DW »,
  • une copie de plusieurs tables issues de différentes sources unies dans une vue,
  • un amas de données non structurés,

2. Why DWH ?

  • diminuer la charge sur le système de production,
  • optimiser l’accès en lecture et les scans disque séquentiels,
  • intégrer plusieurs sources de données,
  • constituer un historique de données,
  • restructurer et renommer les tables et les champs,
  • assurer la qualité de données,
  • garantir l’unicité de la donnée,

 3. Fast Track Data Warehouse :

  • Configuration matérielle optimisée pour le data warehousing. Elle permet d’éviter de perdre des mois de configuration, installation, test et optimisation,
  • Plusieurs appliances sont proposées dans ce contexte chez IBM, HP, DELL,
  • Le Fast Track est actuellement en version 4.0,

4. Kimball and Inmon methodologies :

  • 2 approches pour construire un data warehouse,
  • Kimball est une approche en top down orientée métier. Elle repose sur :

– un modèle dimensionnel en 2 tiers (datamart, cube) simple pour les utilisateurs finaux mais dérangeante pour les IT habitués au modèle relationnel,
– un schéma en étoile (dimensions, faits),
– des clés métiers (surrogate key),
– l’architecture : source oltp – staging – DWH – cube – rapports,

  • Inmon est une approche dans laquelle le data warehouse est construit iterativement. Elle repose sur un modèle relationnel en 3 tiers (DWH, datamart, cube) familier aux IT et sur des clés naturelles. Les utilisateurs finaux y ont une participation passive. L’architecture est : source oltp – staging – DWH – plusieurs datamarts – plusieurs cubes – rapports,
  • la méthodologie Inmon est suivie dans 39% des entreprises alors que 26% d’entre elles optent pour Kimball,
  • aucun modèle n’est mieux qu’un autre (ils sont même complémentaires) et aucun des 2 ne doit être appliqué en totalité –> il faut adapter à son cas, ses besoins, son infrastructure,

5. Populating a data warehouse :

  • déterminer la fréquence de mise à jour (quotidien, hebdomadaire, etc.),
  • full extraction pour les dimensions,
  • incremental extraction pour les faits,
  • pour détecter les données qui ont changé dans la source : timestamp – last update, Change Data Capture, partitionnement par date, triggers sur les tables, MERGE SQL, colonne DEFAULT value populated with date,

6. ETL vs ELT :

  • ELT : à faire en cas de grosse volumétrie à condition que la source et la cible soit dans la même base. L’intégration de données se fait via la tâche SQL (et non en Data Flow Task comme en ETL),

7. Architecture DWH possible et optimisée :

Sources – staging – DQS – MDS – DWH – cube – rapports – SharePoint,

Conclusion :

Session intéressante qui permet de (re)découvrir la base de mise en place dune solution décisionnelle performante. Bon overview des modèles de Kimball et Inmon (différences, pratiques de modélisation). Session théorique menée par un speaker très pédagogue.

Ismaïl Ben Lamine

[PASS SUMMIT 2013] Visualize your Big Data with HDInsight, Power View and Excel

Speaker : Jen Stirrup, Copper, Blue Consulting

Niveau de la session : 300

Agenda :

  • Data visualisation background
  • Visualising your data
  • Your big data : toolkit  Power View  et Power Map

Data visualisation background + Visualising your data :

Jen insiste sur l’intérêt de l’aspect visual des données (citations, …) puis sur le déluge du volume des données, les data unknown unknows.

Elle présente les données de températures associées aux décollages de Challenger (Roben report by NASA), puis des données statistiques Anscombet’s Quartet (mean, var , regression linéaire) puis graph associés (plus lisible selon Jen) :

Visualiser via des tables de données n’est pas tjs facile.

Elle parle des risques du Big Data : quelle techno, quel budget, comment visualiser les données, risques sur les données (20 000 hommes enceinte en UK)…

Comment visualiser les données :

Data First : penser format tabulaire (données catégorisées ou triées) ou spatial

Etapes : preatteattentive processing, visual integration , cognitive integration

Suggestion de Perceptual Pattern = conseils (size, color, shape, format 2d, association des couleurs/quantités/ordre) … bref on parle de mise en forme, graphisme (ça c’est pour Plaza-design), quel rapport avec le big data (c’est valable quel que soit le volume de données)

Information seeking mantra : resumer puis zoomer et filtrer puis données des détails à la demande

Visualising your data :

Self Service + Insights + Actions

Présentation de quand utiliser Power View (répondre à des questions : adhoc query et visualisation) et quand utiliser power map (mapping + exploring + interagir : data you want about where)

Your big data : toolkit  Power View  et Power Map :

Démo :

(dans l’ordre voici le déroulement en vrac de la démo)

  • Utilisation de Hive + HDInsight (cluster via Windows Azure)
  • HDInsight = Microsoft distribution de Hadoop (c’est en preview actuellement) mais Jen montre arrête la demo de HDInsight (qui n’a même pas commencée)
  • Utilisation de la version hors Microsoft de Hadoop (Hortonworks Sandbox : free  et interface mieux que dans HDInsight), l’utilisation de hue pour créer un requête (create table : syntaxe proche du T-SQL)

en important d’abord des données stockées sous HDFS puis le chargement des données dans une partition (non non c’est pas du T-SQL mais c’est très proche : on utilise l’entrepôt de Hadoop)

  • Utilisation de Excel (other sources + odbc connection to hortonworks sandbox : le dsn était tout prêt pour la démo), après Jen  c’est comme d’habitude on peut accéder à la table Excel via PowerPivot …
  • Comment récupérer dans une table Excel des données publiques (on line search), relier la donnée à PowerPivot et ajouter du DAX et utiliser la police windings dans un slicer pour afficher des smileys (lettres J ou K)
  • Démo finale avec Power View

Conclusion :

La première partie de la présentation (Data visualisation background et Visualising your data) est trop longue (1 heure) et présente un intérêt modéré (pas d’utilisation d’outils) : hors sujet ?

La deuxième partie (démo) est tout petit peu plus intéressante (si vous voulez afficher des smileys dans des slicers dans Excel) mais en fin de compte on y apprend pas grand-chose, la session précédente de Jen sur le Big Data était mieux. Une session ou a presque rien vu sur du big data.

Pascal Rouzé

[PASS Summit 2013] Ten Query Tuning Techniques every sql programmer should know

Speakers : Aaron Bertrand – Senior consultant at SQL Sentry & Kevin Kline – Director of engineering services at SQL Sentry

Niveau de la session : 100

Test & Tuning environment :

* Code pour vider les caches :

CHECKPOINT

DBCC [FreeProcCache | FreeSystemCache | FlushProcInDB]

DBCC DropCleanBuffers –> A ne pas faire en production

* Code pour mettre en place des mesures :

SET STATISTICS [Time | IO]

SET SHOWPLAN [TEXT | XML]  ou Graphic Execution Plans

* Code pour les Dynamic Management Views (DMV) :

– System info : sys.dm_os_performance_counters, sys.dm_os_wait_stats,

– Query info : sys.dm_exec_requests,

– Index info : sys.dm_db_index_usage_stats,

Query tuning techniques :

* Cursors :

à utiliser avec parcimonie et avec les bonnes options car ils peuvent être lents surtout s’ils sont utilisés avec la valeur par défaut. De plus, les curseurs ne sont généralement pas nécessaires.

Démo sur une table qui a 500.000 lignes :

DECLARE c CURSOR –> 11 secondes,

DECLARE c CURSOR LOCAL FAST_FORWARD –> 4 secondes,

* NOT IN Versus LEFT JOIN :

– Le NOT IN est dangereux lorsque la colonne source est NULLable,

– Le LEFT OUTER JOIN n’est pas toujours une bonne alternative,

– NOT EXISTS et EXCEPT sont recommandés mais peuvent retourner des résultats différents.

Démo :

Table A (1,1,NULL)

Table B (1,1,2,2)

B NOT IN A –> aucun résultat car NULL dans A –> KO,

B NOT EXISTS A –> 2,2 –> OK,

B EXCEPT A –> 2 –> OK (dédoublonnage effectué dans ce cas contrairement à l’exemple précédent),

* Il ne faut pas systématiquement créer les indexes que le Tuning Advisor ou Execution Plan préconisent,

* Implicit conversions :

à éviter au maximum. Passer plutôt par les conversions explicites afin que le moteur SQL optimise la requête.

* Outil intéressant « Column Mismatch » de Ian Stirk qui explore la base de données à la recherche des colonnes typés différemment dans les tables de la base.

Conclusion :

Session en deçà des attentes. Beaucoup de retours d’expérience clients mais pas suffisamment de démos pour étayer les propos. Certaines techniques évoquées dépassent le niveau 100 de la session.

Ismaïl Ben Lamine

[PASS Summit 2013] Designing an SSIS Framework using SQL Server 2012

Speaker : Andy Leonard – Chief Servant Officer, Linchpin People

Niveau de la session : 400

A Framework defined :

* Un Framework est une collection de design patterns qui permet de gérer les exécutions, la journalisation des événements et les différentes configurations,

Démo : Framework SSIS

– Objectif visé : Exécuter un ensemble de packages via un package master. Le parcours / exécution des packages présents dans le projet SSIS se fera via :

$ un « ForEach Loop Container » : avec un foreach ADO enumerator pour parcourir la liste des packages présente dans une table de configuration,

$ un « Execute Package Task » : pour exécuter le package retourné par la variable PackagePath,

Bonne pratique : passer par un connecteur ADO.NET (au lieur de Ole DB) dans Execute SQL Task lorsqu’on cherche à exécuter une procédure stockée,

Conclusion :

Session intéressante qui présente la démarche de travail du speaker dans ses différents projets implémentés auprès de grands groupes. La méthodologie suivie n’est peut être pas la meilleure (table de configuration avec la liste des packages) ni la plus performante mais l’automatisation de l’exécution se trouve ainsi simplifiée.

Ismaïl Ben Lamine

[PASS SUMMIT 2013] POWER BI, this is how we do it

Speakers : Adam Wilson, Faisal Mohamood, Kasper de Jonge, Matt Masson, Matthew Roche, Ricardo Muti – MS Corp Power BI Program Manager Team

Niveau de la session : 300

Festival de démonstrations de tous les composants de Power BI :

Il faut savoir que :

Il y a,

  • 1 milliard d’utilisateurs Excel
  • 1 entreprise sur 4 utilise Office 365

Qu’est-ce que Power BI ?

C’est un environnement de BI en libre-service avec comme frontal office 365 et plus particulièrement Excel en mode On-line ou dans le Cloud. On peut parler de BI self service en Cloud Computing.

Ainsi, les utilisateurs (consommateurs) qui analysent et visualisent les données n’ont pas besoin d’avoir Excel d’installé sur leur poste.

Par contre les supers utilisateurs (ou Power Users) qui conçoivent les requêtes, modèles, rapports, eux, ont besoins d’avoir Office (Excel) 2013 Pro Plus sur leur poste.

La partie Excel 2013 de Power BI est composé de 4 composants ou Add-in :

  • Power Query : pour accéder aux données et les nettoyer, c’est un ETL pour Power User
  • Power Pivot : pour créer le modèle sémantique de données
  • Power View : pour créer des rapports, tableaux de bord interactifs
  • Power Map : pour analyser les données en mode cartographique

Power BI et ses utilisateurs :

IW (information Worker) :

  • Consommateurs de données : Utilisateur final
  • Auteurs : Design le modèle et le rendu

Data steward :

  • Gère la gouvernance des données (Business rules…), publie les requêtes

IT Admin :

  • Configure les datasources, la Data Management Gateway

Qu’est-ce que la MS Data Management Gateway :

C’est un agent coté client qui joue le rôle de passerelle pour aller chercher des données présentent « On premise » et les exposer aux utilisateurs qui accèdent au Cloud de Power BI.

Il permet d’adresser une Data source « On Premise » grâce à une chaine de connexion, avec un credential du réseau local : on crée alors une Datasource virtuelle dans le Cloud.

Les tables de la Datasource  sont exposées via OData Feed

Composants techniques du « Power BI cloud » :

Corporate Data Catalog : Catalogue des métadonnées propre à une entreprise

On trouve notamment la liste des Queries et métadonnées associées permettant d’accéder aux données

Cela peut être aussi un « Public Data Catalog »

  • Admin Center : console d’administration de l’environnement Power BI
  • Manage Data portal : Portail dédié au Data Steward qui gère la gouvernance des données (Business rules…)
  • SPO team sites : SharePoint Online Team site
  • BI sites : Site basique de Power BI
  • Q&A : Moteur de gestion du requêteur en langage naturel

Les démos :

Matt Masson 1ere démo :

  • Démo : configuration du Data Management Gateway

Matthew Roche 2ème demo :

  • Création d’une Shared Query avec Power Query
  • Show Query Settings

Faisal Mohamood, 3ème démo :

  • Accède au Catalogue de Query pour faire des transformations
  • Manipule des données pour faire des filtres et unions
  • Utilisation de fonction de date
  • Utilise les Query  dans un modèle de donnée avec Power Pivot

Kasper de Jonge, 4ème démo :

  • Construit un data model dans PPV et utilise du DAX
  • Montre des nouvelles fonctionnalités comme :
  • Le « Sort by »  exemple pour trier des mois par numéro de mois.
  • Le « not summarize » pour éviter d’agréger certaine colonne comme l’année

Ricardo Muti , 5ème démo :

  • Montre Power View et Mobilité sous Windows 8

Adam Wilson, 6ème démo :

  • Q&A
  • POWER BI site

Conclusion :

Festival de démos très bien mené à part pour la partie mobilité…

Sébastien Madar