[JSS 2013] Session : HD Insight

Speaker : Benjamin Guinebertière

Le speaker démarre sa session en présentant sa société v-traffic  http://www.v-traffic.com/  filiale du groupe info trafic.

Cette société est chargée de collecter les données publiques et privées qu’elle achète aux sociétés comme Tom-tom sur la géo-localisation des voitures en temps réel afin de recouper le tout et d’informer les automobilistes sur la disponibilité des axes de circulation dans toute la France et auquel cas proposer un itinéraire de substitution, ceci dans un délai relativement court via les médias suivants : web, radio, application Windows Phone.

Cas pratique :

L’entreprise V-Traffic souhaite mensuellement fournir à ses dirigeants un rapport détaillé  sur la qualité et la véracité des données mises à disposition des utilisateurs de v-traffic.
Et dans un second temps, débattrenégocier et réajuster l’achat des données le mois suivant.

Qu’est ce que HD Insight ?

HD Insight est le nom du projet Hadoop qui a l’origine est un projet linux du nom d’Hadoop Apache et qui a été porté sur la plateforme Windows (Win Server 2008) et mise à disposition par Hortonworks Data Platform.
Ce service permet de gérer d’importants volumes données (BIG Data) sur la plateforme Windows Azure et s’exécute dans les datacenters de Microsoft basé sur :

  • le système HDFS : Hadoop File System
  • MapReduce est le modèle de programmation utilisé pour traiter de gros volumes de données.

L’utilité d’HD Insight dans Windows Azure réside dans le fait de pouvoir créer un accès rapide, sécurisé et temporaire afin d’y réaliser vos traitements et ensuite clôturer et effacer le cluster (location temporaire d’un cluster).

Lors de la création, il vous sera demandé un nom de cluster, le nombre nœuds.

Dans la rubrique HDInsihgt, Créer un cluster > Créer des noeuds > Sélectionner la version (2.1) > Choisir un username.

Démo :

Cette opération de création de cluster peut être scriptée via Windows Azure Powershell (Similaire au command Shell sous Unix).

La suite de la démo nous montre comment utiliser les langages de script que sont Pig (Développé par Twitter) et Hive (Développé par Facebook) qui vont pointer dans un répertoire dans lequel se trouve des fichiers de logs et qui recensent la position des automobilistes, la vitesse moyenne, les ralentissements, les chemins de substitutions empruntés (boite noire des taxis, GPS).

Une surcouche en python est utilisée afin de déterminer la position exacte des voitures en recherchant dans les 36 000 polygones de la carte de France et identifier leur position.
Ce calcul est gourmant en performance. C’est pourquoi il faut agréger et regrouper les données géographiques en rectangle plus larges afin de cibler les zones concernées et limiter la recherche à la zone sélectionnée.

Ceci dans le but d’optimiser les temps de traitements des fichiers de logs consommés par la plateforme.

En résumé, les données sont collectées dans des tables sous Hive puis agrégées (requête d’agrégation) dans une base SQL Server  afin de les restituer via un portail SharePoint (RS, Power Pivot, Power BI).

Un autre exemple d’utilisation citée par le speaker : Facebook utilise les logs des jeux qui sont disponibles (analyse du temps passé par les gamers afin d’identifier les tricheurs).

Conclusion :

La session fut très enrichissante pour une première approche. Il faut la mettre en relation avec la session sur le Big Data (de Romain Casteres)

Elle a le mérite de nous expliquer par un cas concret les possibilités de la plateforme HD Insight et de manière générale sur le « Big Data » qui jusqu’alors me semblait relativement floue.

Luiggi – Consultant décisionnel MCNEXT

[JSS 2013] Session : Power BI : Restitution des données

On entre dans le détail de Power BI avec une session plutôt axée sur la partie restitution des données.

Level : 200
Speaker : Serge Luca

La self BI est présente sous Office365.

Si on veut faire un parallèle entre la self BI et la BI traditionnelle, on a les produits suivants :

  • SSIS est remplacé par Power Query
  • SSAS est remplacé par Power Pivot
  • SSRS est remplacé par Power View/Power Map/Q&A
  • SharePoint par Office365 (le site Web installé sur la machine)

I. Power Pivot

Power Pivot est rapide car en mémoire. Il s’agit d’un Add-In Excel.

Il y a un Diagram View qui est une vue des tables que l’on a importé dans Power Pivot, avec leurs relations.

Les relations sont effectuées manuellement sauf si des foreign keys existent dans la base de données source.

Les requêtes sur Power Pivot sont effectuées en DAX.

II. Power View

Il s’agit encore d’un Add-In Excel.

Power View était avant en Silverlight, ce qui limitait les devices possibles. Maintenant, Power View est en HTML5, ce qui permet de l’utiliser sur IPAD par exemple.

On peut facilement poser des filtres dans le TCD, et faire des filtres interdépendants à l’aide de Slicers.

Les graphiques sont variés, et on peut en insérer dans des tableaux.

Les cartes sont quand à elles reliés à Bing Map (il faut par contre avoir une connexion à Internet).

Les graphiques peuvent être animés, notamment sur l’axe Temps.

Petite limitation : les images que l’on insérera dans les rapports devront être stockées sur des champs binaires et pas sur des URL.

III. Power Map

Toujours un Add-In dans Excel.

Power Map permet de raconter une histoire (Story Telling).

On peut créer un film, y ajouter des légendes et même ajouter du son.

L’utilisation est simple : on clique sur Map, on choisit un tour et on ajoute une scène.

On a alors une première question demandant des coordonnées géographiques. On choisit ensuite l’indicateur. On peut zoomer sur une zone précise. Enfin on choisit le temps de la scène.

On peut créer plusieurs scènes. L’outil les lira les une après les autres.

Pour conclure, il faudra cliquer sur create video.

Cette vidéo pourra être partagée sur Office365 ou sur SharePoint.

Les atouts de SharePoint sont les suivants : Sécurité, centralisation, approbation, et moteur de recherche notamment.

Office365 ne peut pas charger des documents dépassant 10 Mo. Pour avoir plus (250 Mo) il faut prendre Office365 BI.

Les rapports présentés dans SharePoint 2013 peuvent être stockés dans le Cloud.

IV. Q&A

Un site web est installé sur notre machine lors de l’installation de Power BI.

Un nouveau module y existe, appelé Q&A.

On peut poser des questions de manière littérale (la démo était en Anglais), et le moteur de recherche donnera une réponse sous forme graphique.

La question qui a été posée était basée sur une BDD sur les médailles olympiques : « Show athletes from France with gold medals in 1984 ».

V. Partie Mobile

Cette partie mobile est cruciale pour Microsoft.

Power BI APP est disponible sur Windows 8 Store. Il existe des rapports prédéfinis.

Power BI APP est en HTML5 (anciennement en SilverLight), ce qui permet à la suite de fonctionner sur la plupart des devices.

Le site pour Power BI : www.office.com/powerbi

VI. Conclusion

Une session intéressante avec un bon speaker.

Le cheval de bataille de Microsoft avec Power BI c’est de pouvoir permettre à n’importe quel utilisateur lambda de faire du décisionnel.

Autant je reste sceptique sur la partie ETL (Power Query) qui me parait être définitivement trop compliqué pour un non initié, autant j’ai été convaincu par la partie restitution qui me paraît vraiment facile d’utilisation et surtout très jolie.

Power Map en démo il n’y a rien de mieux : ça en jette un max !

Frédéric – Consultant décisionnel MCNEXT

[JSS 2013] Session : SSIS Design Patterns

Speakers : David Joubert, Thomas Ricquebourg

SSIS : petite chronologie de l’ETL chez Microsoft

  • SQL Server 7 : Data Transformation Services (DTS)
  • SQL Server 2005 : SQL Server Integration Services

L’importance du SSIS:

Les speakers commencent par nous dire que malgré qu’aujourd’hui l’accent est mis sur la BI Self-Service, SSIS reste notre principal allié dans la plupart des cas, par exemple pour alimenter un datawarehouse, ou si la volumétrie des données est très importante …

Parce qu’un projet BI, c’est 70% du temps consacré à l’importation, le nettoyage et la transformation des données, d’où vient l’importance du SSIS.

Pour quoi des design patterns?

« Design Pattern » c’est  les modèles de conception que nous utilisons pour optimiser et rationaliser nos packages, et ça se traduit en l’utilisation du bon composant au bon endroit selon la situation (gestion des MAJ, historisation … )

Ils donnent l’exemple de dessiner un smiley sur Paint :

  • On peut arriver à le faire à la main.
  • Mais avec des notions de patron, on utilisant les ronds et les formes de Paint, on peut arriver à faire quelque chose de plus conventionnel et beau 🙂 .

C’est pareil lorsqu’on est dans SSDT, on peut arriver à faire des packages qui marchent et qui donnent le résultat attendu (ils nous montrent un package très mal structuré ou on ne sait pas vraiment ce qu’il fait), mais on utilisant des design patterns on arrivera à faire un travail plus optimisé, organisé et mieux structuré (Ils donnent comme exemple un package de chargement de DWH parallélisé avec gestion d’erreur, et on comprend très vite qu’il s’agit d’un DFT de dimension SCD1 sans prise en charge de SCD2).

Critères à prendre en considération :

  • L’outil de développement : SSDT
  • Les données : volumétrie
  • La solution : l’architecture
  • Infrastructure : performance
  • Les gens : compétence

Points forts et points faibles de SSIS :

  • Points Forts :
    • Outil  complet
    • Forte maintenabilité
    • Travail en mémoire
    • Bonne ergonomie
  • Points Faibles :
    • Parfois moins performant que du script SQL
    • Gestion de métadonnées figée
    • Scénario

Il est important de connaître le caractère synchrone ou asynchrone des composants :

Non bloquant : Conditionnal Split  \  Data Conversion  \ Derived Column \ Lookup –> Le moteur fait l’opération au fur et au mesure de l’arrivée des données

Semi bloquant : Merge \ Merge Join  \ Union All  –> Le moteur peut commencer l’opération même avant le chargement total des données dans la mémoire.

Bloquant : Pivot \ Aggregate \ Sort –> Le moteur ne fait l’opération qu’une fois tout est chargé dans la mémoire.

Les speakers nous font une démo sur le Moteur SQL VS SSIS :

Ils nous montrent les variations des performances par rapport à l’utilisation de différents composants : Par exemple un simple chargement de 20millions de lignes avec un composant de tri prend 50 secondes, la même opération a mis 10 secondes si on fait le tri dans la requête SQL (Order By).

Parallélisation :

– La parallélisation peut être appliquée sur les 3 objets de SSIS :

  • Package
  • Control Flow
  • Data Flow

– Efficace pour gagner en performance.

– En utilisant les Propriétés : MaxConcurrentExecutables et EngineThreads

Un petit conseil : « Diviser votre solution en opérations simples permettra une plus grande facilité de parallélisation »

Une démo pour montrer comment on peut contrôler via la propriété  MaxConcurrentExecutables  le nombre d’objets que l’on veut lancer en parallèle.

Il a 10 DFT qui peuvent tous se lancer en parallèle, mais la capacité maximale du moteur ne le permet pas, donc il fixe la propriété MaxConcurrentExecutables à 2 (qui était à -1 par défaut) et maintenant les DFT vont s’exécuter 2 à 2.

L’inconvénient c’est que le choix des objets est totalement aléatoire, cela veut dire que dans le cas ou il y a des objets qui sont lents en exécution et d’autres courts, rien ne nous garantie que les lents vont être exécutés en parallèle afin de gagner en temps global d’exécution. L’alternative dans ces cas est de mettre les objets que l’on veut exécuter en parallèle dans des « sequence countainer ».

Après ils nous montrent un exemple de chargement de plusieurs fichiers avec une boucle « Foreach »avec une gestion des erreurs pour que les fichiers mal formatés ou erronés ne bloquent pas l’exécution.

SCD – Slowly Changing Dimension :

  • Concept de base en Business Intelligence.
  • Composant existant dans SSIS, optimisation à apporter à la configuration de base.
  • Composants tiers disponibles : Kimball Method SCD (payant sur 2012)

Une démo de l’utilisation du composant SCD de base dans SSIS et son optimisation, le composant n’est pas compliqué, suivre les étapes en mettant les paramètres en fonction des cas d’usages … et à la fin génération automatique de la chaine des composants par le composant SCD.

En termes d’optimisation, on peut passer l’insert oledb en fastload, et mettre la connection en retainmachin.

UPSERT :

  • Cas particulier du SCD 1
  • On insère ou on update les lignes
  • 3 possibilités  (en plus du composant SCD vu précédemment) :
    • Double lookup  (démo : Temps exéc 50 secondes)
    • Double lookup vers table temporaire (11 secondes)
    • Script SQL avec MERGE (9 secondes)

Range Lookup :

  • Le range lookup correspond à un lookup sur une theta-jointure
  • On attend la feature depuis 2005
  • 4 possiblités (en attendant) :
    • Lookup
    • Conditionnal split
    • Script
    • SQL

NULL Substitution :

Lorsqu’on récupère les lignes qui ne matchent pas sur un lookup on remplace le NULL par la clé inconnue.

Il est plus judicieux de configurer du « Ignore Error » et de remplacer les NULL en une seule fois avec un composant « drived column »

Foudhil – Consultant décisionnel MCNEXT

[JSS 2013] Session : Pratiques et expériences du Projet BI Agile (BIML/NBI)

Speakers: Florian Eiden, Jordan Mootoosamy, Thomas Morisson
Level: 300

Cette session commence par un retour expérience d’implémentation de la technologie SCRUM chez un client, puis une démonstration des outils BIML et MIST, et enfin les automatisés via NBI.

Retour d’expérience :

Le processus agile appliqué sur ce projet de 13 personnes est SCRUM qui est une méthode itérative (livraison du besoin au cours du temps), incrémentale (Livraison des dev au cours du temps), adaptive (Adaptabilité aux nouveaux besoins). Ce processus permet aussi une proximité pour l’utilisateur. La technologie utilisée est la suite MS BI.

L’équipe type d’un projet SCRUM est :

– SCRUM Master : ici 1 personne – pas forcément le chef du projet = facilitateur du projet

  • Garant du respect des principes d’agilités
  • Anime les différents évènements

– Product Owner (PO) ici 1 personne

  • Définit les users story en collaboration avec les utilisateurs

– Développeurs : ici 11 personnes, composés de  développeur, lead  technique et d’architectes

  • Réalisent les US
  • Équipe indépendantes techniquement

Le cœur de fonctionnement d’un projet Agile est le tableau de Post-it avec 3 segmentations : A faire, En cours et Fini. Cet élément visuel de l’avancement apporte un sentiment d’appartenance aux différents participants car il leur permet de déplacer leurs tâches en fonction de leur avancement.  Version numérique du mur de post-it : Mingle http://www.thoughtworks.com/products/mingle-agile-project-management

Le projet avance en sprint de 3 semaines comprenant :

  • Revue de sprint : 0,5 jours : présenter les US, chiffrage, définir objectif principal ( SCRUM Master, PO et Dev). Les développeurs font l’estimation  de la charge.
  • Planification 0,5 jours : (Dev) création des posts-it et attribution des tâches
  • Stand up meeting  – quotidien: (Scrum M, PO, Dev) : avancement  et attribution des tâches (réunion informelle debout ou chaque personne parle de son activité de veille et du jour) – développeur mono tache, si bloqué il laisse en cours et s’assigne une autre tâche
  • Rétrospective – 0,5 jours  ( Scrum ,PO, dev) : Bilan, présentations, axes positifs / à améliorer

En synthèse de ce retour d’expérience, le management était satisfait du  chiffrage collégial et de la vision globale du sprint grâce au mur  de post, permettant un  bon pilotage à l itération. Par contre il ne faut pas perdre de vue les fonctionnalités futures

Du côté des développeurs, les interventions lors des stand-up meeting est très gratifiant, facilitant le partage de la connaissance.

BIML / MIST :

Contexte : Certains aspects freinent le respect des best practices : SSIS ne facilite pas la réutilisation du code et ne permet pas réellement une abstraction du développement

Outils présentés :

BIML : Business Intelligence Markup langage

  • XML crée par Varigence
  • On peut faire tout ce que fait dans SSDT sauf SSRS
  • BimlScript injecté pour générer dynamiquement des objets
  • Integré à BIDS Helper depuis 2011

MIST : IDE crée par Varigence pour solutions MSBI

  • Versionning et source control – compatible TFS ou SVN
  • Permet de rajouter un niveau d’abstraction entre le design des packages et leur implémentation
  • Reprise existant (packages)

MIST : Interface plaisante avec interface graphique et code en BIML => double vision

  • Balise annotations pour être réutilisée lors de la génération du package
  • Table BIML ou les tables et colonnes sont définies

On peut définir le mode d enchainement des tâches : linéaire ou parallèle

  • On peut exporter vers SSIS en 1 clic et reconstituer sur SSIS par la suite
  • Création de packages de tables de façon automatiques
  • Modification des codes BIML via intellisense (table.Name, table.getTag(« Nom »)/>
  • Select <#table.getColumnList() From <#table.getTag(« Source »)/>
  • Une fois buildé, on obtient une solution SSIS complète et modifiable via SSDT ou Visual Studio

– Conclusion

  • Compétences préalables nécessaires
  • Temps apprentissage du langage
  • Abstraction du code pour réutilisation facilité
  • Cout réduit du changement sur les packages déjà développé
  • Permet une qualité de développement constante
  • Cout de licence MIST 250$/ mois par développeur
  • Abonnement perpétuel 4000$
  • Démo sur : http://www.varigence.com/Products/Mist/Capabilities

Tests automatisés :

– New features = test

  • Plus le projet avance plus l’impact est important
  • Test en 1 clic, si valide déployé en 1 clic
  • Réutilisable 6 mois plus tard mm lorsqu’on a oublié le fonctionnement

– Outils :

  • Frameworks open source : BI.Quality : bien mais abandonné
  • NBI : vivant développé par un français
  • Visual Studio : prix licence, intégration ALM

– NBI :

  • Framework .NET

– Nunit : Framework test unitaire open source pour Microsoft, Outil permettant de valider la non régression

  • ADOMD.net
  • NBI : merge pour faire des tests unitaires sur SSIS et SSAS, SSRS encore oublié
  • Install peut être pénible

– Projets de test : structure du projet de test

  • Création des tests : notepad++ ou éditeur XML (.nbits documenté sur nbi.codeplex.com)

– Exécution des tests : Nunit avec des requêtes supportant (SQL, MDX, DAX)

Dans un test : deux éléments, system under test et Assert

– Nunit permet aussi l’industrialisation :

  • Scripter exécution
  • Métadonnées de tests
  • Paramétrer les requêtes
  • Partage des sources
  • Génération automatique de tests : Genbi

– Stratégies de test :

  • Cycle v : cahier de tests, recette
  • Approche exhaustive
    • Flux
    • DWH vs Cube
  • Scénarios de références

Synthèse – tests automatisés:

  • Méthodologie projet : enfin la légitimé
  • Alternatives externe à Microsoft, pas dans le scope de Microsoft, Quid des nouveaux produits (suite Power BI), Quid de SSRS?

Synthèse personnelle :

Session très dense autour de l’agilité dans les projets BI. Les 3 intervenants étaient dynamiques et clair dans leurs explications. MIST m’a vraiment plu jusqu’à ce que le prix des licences soit évoqué. La suite BI  Microsoft ne semble toujours pas être prioritaire dans les intégrations aux bonnes pratiques (ALM et agilité).

MIST mérite le coup d’œil mais je ne sais pas s’il existe de version d’essai.

Marc – Consultant décisionnel MCNEXT

[JSS2013] Session : SSAS Tabular : Modélisation

Speaker : Aurélien Koppel et Benoit Girard
Level: 300

Petit rappel :

SSAS 2012 C’est 2 moteurs :

  • Moteur Multi dimensionnel => MOLAP et ROLAP
  • Moteur Tabular => X Velocity et Direct Query

Dans cette session nous allons analyser le moteur XVelocity

But de ce nouveau moteur :

  • Moteur plus performant
  • Prioriser les perf. Requetage : Perf requetage > Perf Process
  • Many to Many plus performant
  • Modèle plus Agile – ex. ajout nouvel attribut => Multi Dim : il faut tout reprocess!
    Tabular : reprocess de la table de l’attribut uniquement
  • Minimum de config – ex. pas d’agrégation

STOCKAGE

Mode stockage en colonne, en mémoire et compressé.

Compression en moyenne X10 vs. BI Traditionnel principalement grâce à l’encoding qui peut se faire de 2 façons :

  • Value encoding – pour valeur arithmétique dense
  • Hash encoding – pour les strings

Que stock le moteur en mémoire ?

  • Dictionnaire de donnée – ex. pour l’encoding
  • Colonne par segment – segment de 8M de lignes
  • Colonne calculée – mais non compressé !
  • Hiérarchie
  • Liaison entre les tables

Les DMV

Ils existent plusieurs DMV qui permettent entre autre de voir le type d’encoding utilisé et si celui-ci a déjà été modifié :

  • $SYSTEM.Discover_Storage_table
  • $SYSTEM.Discover_Storage_table_column
  • $SYSTEM.Discover_Storage_table_column_segment

INFRA

Le plus important :

  1. RAM – Stockage des données
  2. Processeur – Compréssion / decompression
  3. Disque – Seulement au process et restart

Pour la RAM besoin de 2 fois la taille du modèle car lors du process l’instance crée un 2eme modèle en parallèle et remplace le 1er à la fin du process (comme en multidim.)

MODELISATION

Supporte le modèle étoile et flocon mais mieux vaux utiliser le modèle en étoile

  • Meilleur Lisibilité
  • Profiter de l’auto-Exist
  • Meilleur perf sur les Cross Join complexe
  • Hiérarchie plus simple (dans la même table donc pas besoin de calcul complexe en DAX)

*Astuce dans Excel – on peut afficher les attributs des ‘dimensions’ vide.  Clique droit => Pivot table Options => Displays => Show Item with no data on rows

Hierarchie parent – enfant

Pas d’UI comme en Multidim mais possible de le faire dans les mesures en DAX

2 cas possibles :

  • Fonction PATH => recrée toute l’arborescence de la hiérarchie
  • Fonction PATHITEM => récupère 1 niveau de la hiérarchie au choix

Many to Many

Pas d’UI comme en Multidim mais possible de le faire dans les mesures en DAX, c’est performant par contre la logique est à implémenter pour chaque mesure donc contraignant.

PROCESSING STEPS

  1. Connections + exécution de la requête => Minimiser les connections, 1 connection pour plusieurs table si même source (attention à l’utilisation du wizard donc !)
  2. Encodage => utiliser les DMV pour voir le type d’encoding
  3. Compression => lit le 1er segment, puis lit le 2eme et compresse le 1er en parallèle, puis lit le 3eme et compresse le 2eme en parallèle, …
    Défaut setting de 10 s. pour compression de 1M de lignes
  4. Recalc => Recalcul les colonnes calculées, attention les colonnes calculées sont stockées en mémoire mais non compressé.

STRATEGIE DE PROCESSING

Process Défaut : seulement la 1ere fois pour que le modèle soit disponible

Process Full : Process Data + Process Recalc

Process Data : requête base de données, encoding et compression

Process Recalc : toute la base est recalculée! + Attention aux colonnes calculées, recalcule par ligne donc beaucoup plus lent

Process Add : ajout des nouvelles lignes. A la fin du process Add il y a un process Recal automatiquement

OUTILS TIERS

Ces outils gratuits permettent l’ajout de fonctionnalités non présentes dans SSDT ou Excel par défaut

BIHELPER

Permet l’ajout d’action :

  • Tabular Action Editor
  • Tabular Display folder
  • Tabular Hidemember
  • Tabular Sync description
  • Tabular Translation Editor

BISM Normalizor

Permet de comparer et fusionner des modèles, ex. Excel PowerPivot VS. Tabular modèle sur instance SSAS donc pratique après import d’un modèle PowerPivot sur server ou SharePoint

DAX Studio

Excel Add-in. Plus pratique pour écrire du DAX et permet de lancer les requêtes DAX puis voir le détail des perf. Permet également d’analyser les traces du profiler.

BISM ServerMemoryReport

Fichier PowerPivot qui requête les DMVs de la base SSAS pour visualiser la mémoire utilisée.

Ludovic – Consultant décisionnel MCNEXT

[JSS 2013] Session : SQL Server 2014 : what’s new ?

Panorama des nouveautés de SQL Server 2014.
Les nouveautés abordées sur la plate forme de données : Database Engine, In Memory, Cloud, Big Data, BI, outils

I. BI

Présentation par Franck Mercier

Pour Microsoft, le devenir de la BI passera par la mobilité et le Cloud.

La vision de Microsoft est la suivante :

  1. Trouver, combiner, gérer (accès simple à tous les types de données)
    Pour la récupération de données, l’utilisateur utilisera Power Query de l’outil Power BI (Add in dans Excel)
  2. Modéliser, analyser et affiner (donner l’accès à ses analyses aux autres)
    Restitution visuelle : cartographie notamment à l’aide des outils de Power BI : Power View, Power Map.
    Les graphiques peuvent être dynamiques suivant un axe temps (ou autre).
  3. Agir et opérationnaliser (déployer)
    Partage par l’interface Web.
    Q&A est un outil permettant d’effectuer des requêtes en posant des questions en langage naturel.
    Il suffit d’aller sur le site web créé lors de l’installation de Power BI et de poser une question telle que : « Show stock growth, dividend, close ». Cette recherche marche avec l’IntelliSense.

Power BI est la grosse nouveauté de 2014.

II. Big Data

Les volumétries de données n’arrêtent pas d’augmenter.

L’apache Hadoop est le framework Big Data le plus utilisé aujourd’hui.

HD insight est le service Microsoft permettant d’utiliser une solution Apache Hadoop dans le Cloud.

Une démo est ensuite réalisée sous Windows Azure avec la création d’un cluster.

Microsoft Hive ODBC driver est le driver de connexion à une base de données sous Azure.

Le Hive language est un langage d’interrogation de données sur le Cloud qui est proche du SQL.

Les requêtes s’effectuent dans management studio comme une requête SQL.

III. In Memory

Le moteur In Memory BI est appelé Vertipaq. La première fois qu’on a parlé du Vertipaq, c’était sous Power Pivot.

Le moteur In Memory pour l’OLTP est appelé Hekaton.

La grosse nouveauté pour le Column Store Index sous SQL Server 2014 : on peut mettre à jour les données sans avoir à supprimer puis recréer l’index. Il est dorénavant géré comme n’importe quel index.

Pourquoi utiliser le In Memory ? Parce que la mémoire est rapide, l’écriture sur un disque est lente.

Le In Memory  peut être facilement mise en place : une instruction SQL suffit pour passer en In Memory .

L’exemple est montré avec un create table, avec l’option Memory optimized on.

Puis sur une PS avec l’option With Native Compilation.

L’avantage est qu’il n’y a pas à réécrire l’existant.

Il est annoncé une progression d’un facteur 30 en termes de performance, et même 100 sur certaines requêtes ainsi que 90% d’espace disque en moins. Et nous sommes encore en preview, ce qui laisse encore espérer des améliorations.

IV. Database engine

  • Amélioration du service de haute disponibilité always on (rapprochement entre le cluster pour les solutions de haute disponibilité et le miroir de bases pour la réplication de données)
  • Performances améliorées grâce aux SSD (notamment le BPE Buffer pool extension  permettant de mettre un buffer sur un disque SSD beaucoup plus rapide qu’un disque classique)
  • Amélioration apportées sur l’optimiseur de requête.
  • Gouverneur de ressources : permet de spécifier les limites sur l’utilisation des mémoire/cpu/disque
  • Sauvegarde managée (smart backup). Très simple d’utilisation. Il n’y a que 2 paramètres à entrer : la durée de rétention et l’emplacement sur Windows Azure.

V. Cloud et Hybride

3 types de stockage sur le Cloud :

  • IaaS : infrastructure as a service. Il consiste à offrir un accès à un parc informatique virtualisé. Des machines virtuelles sur lesquelles le consommateur peut installer un système d’exploitation et des applications.
  • PaaS platform as a service. le système d’exploitation et les outils d’infrastructure sont sous la responsabilité du fournisseur.
  • L’hybride est une structure mixte qui permet de combiner les ressources internes du Cloud privé à celles externes du Cloud public. Une entreprise qui utilise un Cloud hybride peut par exemple avoir recours au Cloud public ponctuellement, lors de pics d’activité et le reste du temps se contenter des ressources à disposition en interne

On pourra par exemple prendre une base en local et la déployer vers un VM sur Windows Azure.

Les backup sont facilités (voir le chapitre précédent).

Nouvelle offre premium : La fonctionnalité distinctive de Premium est la réservation de capacité. Une réservation garantit une quantité de capacité fixe qui n’est pas partagée avec une autre base de données et qui, ainsi, permet de meilleures performances. L’offre Premium est actuellement en mode préliminaire.

VI. Outils

Pas de démo spécifique par manque de temps, mais une liste d’outils :

  • SSMS
  • SSDT (data tools)
  • SSDT-BI (sur visual studio 2013)
  • TFS
  • Nombreux outils présents sur CodePlex comme BIDS Helper par exemple.
  • ALM pour Azure

Pour conclure :

Une session intéressante permettant de faire le tour des nouveautés de SQL 2014.

Le bémol : un non-initié comme moi aura eu du mal à suivre les nouveautés sur le Cloud et le Big Data. En effet, pas de rappel des bases, beaucoup de termes techniques et un débit rapide.

Pour le reste, à retenir : Microsoft pousse à fond sur PowerBI et le Cloud.

Les Column Store Index sont enfin utilisables sur des tables pouvant avoir des données modifiées (insert, update, delete).

Le In Memory, c’est bien : la RAM a bien baissé en prix, et les temps de réponses sont vraiment meilleurs que sur disque.

Les sauvegardes des BDD sous le Cloud me paraissent être une alternative très intéressantes par rapport aux bandes (entre les temps de récupération des bandes, des étapes à mettre en place pour réaliser ces sauvegardes, etc,etc…).

Frédéric – Consultant décisionnel MCNEXT

[JSS 2013] Session : EIM (DQS et MDS)

Ci-dessous, un compte rendu sur la session EIM (parfois appelé MDM pour Master Data Management) des JSS organisé par le GUSS.
Pour cette session, nos présentateurs pour ne pas dire nos « vieux frères » n’étaient autre que nos collègues avec un look différent.

EIM : Enterprise Information Management

Présentateur : Ismaïl Ben Lamine, Frédéric Brossard, Julien Vidal
Niveau : 300

EIM (Enterprise Information Management) : du basic à la pratique

C’est l’ensemble des processus visant à gérer les données. La problématique de l’EIM, c’est la qualité des données, et il fait partie des briques de SQL Server.

Pour notre projet EIM, on utilise les trois outils suivants :

  • DQS (Nettoyage et dé-doublonnage)
  • SSIS (Import des données et DQS Cleansing)
  • MDS (Référentiel et Règles métier)

Et ces composants s’imbriquent comme illustrée dans l’image ci-dessous :

 

 

 

 

 

 

 

 

 

 

 

Les données que l’on récupère des sources de données disparates passent par le DQS. Ce dernier exploite la base de connaissance afin de classer les données comparées selon la liste ci-dessous :

  • Correct
  • Corriger
  • Suggéré
  • Nouveau
  • Invalide

Toutefois, on note des limites dans l’import automatisé des données dans MDS, DQS et les règles de validation dans MDS.

La structure des métadonnées est la suivante :

  • Modèles
  • Entités
  • Groupes d’attributs
  • Attributs

Après cette vue d’ensemble sur EIM, on a eu droit à des démonstrations sur le produit, et on note les points suivants pendant la démonstration :

  • Possibilité de télécharger des composants complémentaires sur CodePlex afin d’améliorer l’implémentation d’une solution EIM.
  • Bonnes pratiques : Création d’un schéma par modèle, utilisation du script component pour coder des fonctionnalités pas possibles avec Excel ou l’interface utilisateur MDM.
  • Faire attention au ‘type d’import’, ‘Batch tag’ et ‘Import Statut’.
  • SSIS DQS Matching Transformation (un composant développé par OH22-data).
  • Workflow de validation personnalisé pas actuellement présent avec le produit.
  • Création d’assembly DotNET.

Conclusion :
EIM est donc une plateforme importante pour gérer la qualité des données. Celui-ci est fourni avec la licence Microsoft SQL Server et ne nécessite pas des coûts supplémentaires en plus.

Ghislain – Consultant décisionnel MCNEXT