PowerPivot, BISM, Analysis Services et Marco Russo

Comme je vous le disais tantôt, la semaine dernière j’ai assisté au séminaire de 2 jours de Marco Russo sur PowerPivot.

Ce n’est pas difficile, c’est la meilleure formation a laquelle j’ai eu la chance d’assister, quel que soit le sujet. Que ce soit sur le contenu (précis, clair et exhaustif) ou la présentation (pédagogie, connaissance du sujet, passion), Marco Russo a fait un score parfait. Jusqu’à présent je voyais PowerPivot comme un gadget futur remplaçant d’Access, il m’a bien ouvert les yeux sur ses énormes capacités et le fait que ce soit bien le futur de SSAS. Job well done 🙂

Et hasard du calendrier, c’est justement la semaine dernière que Microsoft a fait le point sur la roadmap de sa plateforme BI pour les années à venir:

En cherchant un peu vous trouverez surement beaucoup d’autres articles sur le sujet (certains en français) et tout autant de discussions.

Moi j’ai eu de la chance, Marco Russo a pris le temps de nous expliquer en direct ce qu’il allait se passer. Chouette non? 😉

Pour la faire en court: SSAS va changer d’architecture pour s’organiser autour d’un modèle dénommé « BISM » (Business Intelligence Semantic Model – Modèle sémantique décisionnel).

Ce BISM comprendra 3 niveaux, chaque niveau pouvant être implémenté de plusieurs façons différentes:

  • Un modèle de données : en multidimensionnel (cf SSAS actuel) ou tabulaire (cf PowerPivot ou une base SQL classique)
  • Un langage de requête : MDX ou DAX
  • Un moteur d’accès aux données : MOLAP (SSAS actuel), VertiPaq (cf PowerPivot) ou un accès direct aux données d’où qu’elles viennent

Notez que lorsqu’on parle ici de modèle de données, on parle de l’implémentation technique (de l’encodage dans une solution informatique) du modèle de données fonctionnel (schéma en étoile, en flocon, ou autre). Mon premier est une suite de 0 et de 1 qui répondent à des contraintes informatiques, mon second est un dessin sur un papier qui répond à des contraintes métiers. Je précise parce qu’au début j’étais perdu: je me demandais à quoi pouvait bien ressembler un modèle de données BI tabulaire? Marco Russo m’a donné la réponse : à un schéma en étoile!

En image, le BISM et ses 3 éléménts ça donne ça:

BISM : l'avenir de SSAS

BISM : l'avenir de SSAS

La première bonne nouvelle c’est que bien que pour la v1.0 les deux piles (Multidim/MDX/MOLAP et Tabulaire/DAX/Vertipaq) soient étanches – on choisit soit une pile soit l’autre, dans le futur on devrait pouvoir choisir de construire la pile que l’on veut avec n’importe quelle brique (Tabulaire/MDX/Vertipaq par exemple). Le choix se faisant alors uniquement en fonction des contraintes métiers / utilisateurs et non de contraintes techniques.

La deuxième bonne nouvelle c’est que si on peut requêter en MDX et en DAX les 2 modèles de données, alors on devrait pouvoir utiliser n’importe quel front end (SSRS, Crescent, PowerPivot…) indépendamment de l’architecture de stockage. Cela lève le doute sur la compatibilité descendante entre Crescent (futur SSRS en DAX) et les cubes SSAS actuels, ça rassure!

Evidemment reste la question de comment faire le choix entre les 2 architectures, et là aussi Marco Russo nous a donné quelques éléments de réponses:

  • Avant tout, que ce soit pour le multidim ou le tabulaire, le schéma en étoile reste la méthode de modélisation des données.
  • Le multidimensionnel sera l’outil de choix pour travailler sur des données fortement hiérarchisées, utilisant des calculs mathématiques sur ces hiérarchies (par exemple sur le temps), avec des relations complexes (many to many) et où l’importance des données réside dans les chiffres (qui a dit finance dans le fond?)
  • Le tabulaire (avec Vertipaq et la compression en colonne) est ultra efficace sur les calculs en distinct et distinct count, même sur des très très gros volumes de données, il manipule bien les chaînes de caractères et est beaucoup plus facile à comprendre pour les utilisateurs (on dirait Access!)

En terme de proportions, Marco Russo nous a dit qu’il voyait les futurs projets ventilés en:

  • 30% ne pouvant être réalisés qu’avec du Multidim
  • 10% ne pouvant être réalisés qu’avec du Tabulaire
  • 60% au choix, avec beaucoup de Tabulaire puisque plus facile à implémenter

Personnellement je retrouve l’enthousiasme sur le futur de la BI Microsoft. Même si on est encore un peu déshabillé point de vue reporting, l’offre Microsoft est vraiment très belle point de vue moteur. Entre le dB Engine SQL, MOLAP et Vertipaq, on a de très belles technologies, partiellement recouvrantes mais pas redondantes, qui ont du sens et qui pulsent point de vue performance. Avoir des bons outils c’est essentiel pour bien faire son job, là je me sens bien équipé. C’est cool 🙂

2 x 4 liens rapides pour la semaine (2011-20/21)

J’ai un peu honte d’avoir séché la semaine dernière, un gros coup de flemme suite à une semaine trop remplie. Du style de vie, des RH, du marketing, voici 8 liens variés pour me rattraper 🙂

  1. Phil Gyford sur l’avantage de vivre léger pour mieux résister aux catastrophes.
  2. Tant qu’on parle de minimalisme, la frugalité c’est bien mais ça ne doit pas empêcher de bien s’équiper. Ça me rappelle le point 9 du test de Joel Spolsky: « best tools money can buy » – qui n’a rien de contradictoire avec le lean, bien au contraire.
  3. Un petit rappel si vous cherchez une ressource, ou si vous cherchez un job : personne n’est vraiment bon aux entretiens, alors arrêtons de leur prêter autant d’importance.
  4. Deux avis qui pourraient sembler opposés mais qui ne le sont pas: James Turner sur comment les process tuent la passion des développeurs et 37 Signals avec « Oublier la passion, se concentrer sur le process« . Je triche en les opposants: ils ne parlent pas de la même chose quand ils parlent de process. Le message est le même : pour réussir il faut avoir la passion de l’exécution, de la réalisation, et à ce moment là on peut ignorer les règles et travailler dans n’importe quel contexte.
  5. Un excellent article sur la formation dans le milieu des consultants informatiques : « J’aime mon budget IT serré et mes développeurs stupides. » A ajouter aux idées à prendre en compte pour l’organisation de sa DSI
  6. Horace Dediu et son magnifique « Rawr Chart« . J’aime ce graphique car il permet de comprendre immédiatement les positionnements complétement différents d’Apple et Nokia. D’une manière générale les analyses d’Asymco sont toujours de très grande qualité.
  7. Un habitué des lieux: Seth Godin sur l’illusion de grandeur qui consiste à considérer sa marque, ou sa société, exceptionnelle au point de penser que ce n’est pas juste quand la concurrence gagne. Très saine lecture que ce soit pour un CEO de multinationale ou le patron d’une boîte de 10 consultants.
  8. Kevin Meyer d’Evolving Excellence sur comment l’optimisation des moteurs de recherche et sites de contenu met en place un filtre effrayant sur notre vue du monde.

______________________

<< Semaine PrécédenteSemaine Suivant >>

Mon aventure SSD : l’épilogue

Pour ceux qui prennent en cours de route, un SSD (Solid State Drive) est un nouveau type de disque dur qui a deux particularités : un niveau de performance inégalé (boot windows en moins de 10 secondes) et une forte propension à crasher (échec critique garanti à 2 ans).

C’est d’ailleurs un bon reflet de mon expérience puisqu’après avoir vanté les mérites de la technologie en février, mon SSD flambant neuf  a explosé en plein vol en mars. Après 20 jours d’aller/retour SAV j’ai reçu un nouveau disque et l’ai replacé dans une nouvelle machine commandée sur materiel.net, un desktop équipé de tous les derniers gadgets technologiques (Sandy Bridge, SATA 3.0, 8Go RAM…).

Manifestement le SSD apprécie sa nouvelle maison puisqu’il ne présente plus aucun signe de faiblesse comme il le faisait sur le DELL. Tout est bien qui finit bien pour moi, j’ai tiré de bonnes leçons de l’expérience et ma nouvelle organisation prend en compte la faible confiance qu’on peut avoir dans la techno (stockage des médias sur un autre disque et dans le cloud).

La question qu’on peut se poser c’est pourquoi continuer à se faire du mal comme ça quand on connait les défauts du SSD? Et bien c’est Jeff Atwood (Coding Horror) qui répond très bien à cette question dans cet article.

Pour finir sur le sujet, oui j’ai remplacé un laptop par un desktop, mais c’est parce que je sais déjà qu’un autre laptop arrive bientôt, un laptop dont la particularité est d’être architecturé autour de son SSD… 🙂

(Update 20/08/2011 : J’ai craqué!)

PowerPivot : Marco Russo à Paris!

Pour ceux qui ne connaissent pas PowerPivot, c’est le tout dernier add-in gratuit de Microsoft pour Excel 2010. Il permet de se monter son propre petit datawarehouse directement dans Excel, d’importer des données de plusieurs sources (Cubes OLAP, bases SQL, fichiers CSV, onglets Excel…), de les mélanger et de créer ses propres indicateurs calculés! La consultation des données se fait ensuite avec l’interface des tableaux croisés dynamiques qui a été bien améliorée dans Excel 2010.

C’est un bel outil, qui adresse des besoins utilisateurs jusqu’à présent ignorés par Microsoft. Et en plus le nouveau petit langage qui sert à créer ses propres indicateurs, le DAX, est le futur remplaçant du MDX dans les prochaines versions d’Analysis Services. Donc autant dire que c’est une très bonne première marche pour entrer dans le monde de la BI Microsoft!

Pour le moment il y a 3 bloggeurs de références sur PowerPivot: Rob Collie, Kasper de Jonge et Marco Russo. Ce dernier est italien, ce n’est pas un nouveau puisqu’il a déjà écrit avec Alberto Ferrari plusieurs bouquins de référence sur la BI Microsoft, et il s’est lancé à fond dans PowerPivot depuis sa sortie.

Je vous en parle parce qu’il vient faire un séminaire sur le sujet lundi et mardi (les 16 et 17) prochain au campus Microsoft à Issy les Moulineaux. Évidemment j’y serai, je sais que je préviens à la dernière minute, mais si vous vous intéressez à la BI, que vous savez ce qu’est un tableau croisé dynamique dans Excel, que vous avez toujours voulu savoir ce qu’était un schéma en étoile, je vous conseille vraiment de venir. N’hésitez pas à sauter le pas, c’est le genre de compétence qui peut être déterminante dans une carrière.

Divvy : ça change la vie!

Après l’avoir testé pendant une paire de semaines, j’ai acheté ça:

J’adore ce soft! C’est définitivement une fonctionnalité qui devrait être incluse par défaut dans Windows et OSX. Il existe d’ailleurs pour ces 2 OS.

Le site web de Divvy offre une version démo complétement fonctionnelle (juste un rappel de temps en temps).

Via BoingBoing.

Gestion des dates en Transact SQL

Ceci est un article technique (bases de données SQL), n’hésitez pas à l’ignorer si ça ne vous intéresse pas 🙂

Depuis quelques jours nous galérons avec mon équipe à identifier une anomalie de traitement plutôt pénible dans l’ETL qui charge tous les soirs le chiffre d’affaire.

Nous avons enfin identifié l’erreur: le compte de service qui exécute le chargement le soir est configuré en américain sur la production, alors qu’il est en français sur les plateformes de développement. C’est dommage lorsqu’une date de bascule au 1er mai est interprété comme le 5 janvier en production. En effet le 05/01/2011 devient 01/05/2011 avec un format de notation américain.

Sachant que changer le paramétrage d’un compte de service en production peut prendre 3 ans de conflits politiques entre les différentes équipes (pour 2 minutes d’implémentation), nous avons décidé de faire évoluer les requêtes SQL pour qu’elles n’utilisent plus aucune conversion implicite.  L’objectif c’est de rendre le code insensible aux paramètres de langue.

En gros en SQL ça veut dire que ça c’est interdit: CAST(‘2011-05-01’ AS DATETIME), de même que référencer directement une date en chaîne de caractère : WHERE MonDateTime = ’05/01/2011′

A la place on doit faire ça : CONVERT(DATETIME,’01/05/2011′,103), ou ça : CONVERT(DATETIME,’2011-05-01′,102). En utilisant CONVERT, on peut préciser le format de la date de manière explicite: 103 pour JJ/MM/AAAA et 102 pour AAAA-MM-DD.

Ne laisser aucune conversion implicite (date ou autre) est définitivement une bonne pratique qu’il ne faut pas oublier. Pour les dates, c’est aussi une info qu’il faut savoir transmettre aux utilisateurs et MOA qui requètent les bases en SQL.

Pour plus de détail: