Edito : l’avenir de la BI Microsoft, ma liste de courses au Père Redmond

Lorsqu’il était devenu clair que la BI Self-Service devenait le cheval de bataille de notre éditeur préféré, mes camarades et moi-même avions eu une réflexion sur l’avenir de la Business Intelligence dans l’écosystème Microsoft.

Je me prête à l’exercice à nouveau, alors que SQL Server 2014 a été annoncé, sans aucune mention d’une quelconque nouveauté côté décisionnel.

Cher Microsoft, voici les 3 outils que j’aimerais vraiment vraiment que tu nous sortes, pour réellement améliorer mon quotidien de consultant et de définitivement faire de SQL Server la plateforme décisionnelle n°1.

SQL Server amélioré

  • Power SSRS 2014. Je rêve d’une vraie refonte de SSRS, qui quand on y pense n’a pas reçu d’évolution majeure depuis 2005. Parce que si Reporting Services reste aujourd’hui une offre viable pour le reporting de masse, c’est uniquement parce que les concurrents ne sont pas beaucoup plus beaux, et qu’en plus ils coutent un bras (plus un œil pour MicroStrategy). Alors voilà, moi je veux un SSRS 2014, en HTML5 (pour tous ces iPhones et iPad), intégré à Azure (pour un roulement continu de mises à jours, vive les technos web !), qui utiliserait le Data Management Gateway de Power BI pour accéder à ses sources, avec un designer de top niveau (pourquoi pas dans le browser, comme QlikView.Next) qui respecteraient les bonnes pratiques de la data-viz la Tableau). I want to believe !
  • Un Data Model « mixte » dans Excel 2013. Par là j’entends la possibilité d’intégrer les tables de SSAS Tabular directement dans le Data Model de Power Pivot, sans rapatriement des données. Une propriété de table, qui dirait que les données peuvent rester sur Tabular. On aurait les performances d’un mode serveur, avec la souplesse d’un Power Pivot (définition de mesures en DAX, possibilité de définir des relations et des tables liées directement dans Excel). Parce que pour le moment le scénario d’upgrade de Power Pivot vers SSAS Tabular n’est pas aussi lisse qu’il devrait l’être, sans la possibilité de rebrancher un dashboard du Data Model vers SSAS Tabular dans Excel 2013 (obligation de redev), et sans la conservation de l’aspect self-service (ajout de données locales, création de mesures à la volée) quand on passe de Power Pivot à SSAS Tabular.
  • Un outil de statistiques, d’analyse prédictive et de data-mining. Pas besoin d’en raconter des tonnes de ce côté: le DMX sur SSAS multidimensionnel ça sent clairement le sapin. Il est plus que temps de remplacer la chose par quelque chose de moderne, qui utilise les nouveaux moteurs, pourquoi pas à base de R.

Parce que oui, on a un des meilleurs ETL du monde, SSIS, et que la relève arrive gentiment à travers Power Query, et que ça sent bon. Et que oui, on a un des meilleurs moteurs SQL du marché, SQL Server, sans discussion possible.

Mais on perd inexorablement du terrain sur le reporting de masse, cas d’usage qui n’est définitivement pas remplacé par le self-service. Et que les cas d’usages sur le moteur VertiPaq / X-Velocity se doivent d’être infaillibles s’il doit crédiblement remplacer SSAS Multidimensionnel, un papy aux fonctionnalités bien rodées.

Microsoft, donne-nous les produits, et on te les trouvera les clients…

On vous les trouvera les clients...

Et vous alors ? Y’a quoi sur votre liste de courses ? 🙂

Projet décisionnel : choisir la bonne technologie dans l’offre Microsoft SQL Server

Je vous parlais tantôt de gestion de projet décisionnel, et en passant je vous disais que le choix d’une technologie pour un projet décisionnel n’était pas une décision anodine. Je voulais vous en dire plus, c’est le moment !

Rappelons d’abord que les projets décisionnels répondent à 3 besoins (cf ma session aux Journées SQL Server pour ceux qui prennent le wagon en route) :

Le décisionnel : Besoin Historisation

Historisation. Les bases de données des applications de l’entreprise sont régulièrement purgées (commandes livrées = commandes effacées du système). Pourtant ces informations sont importantes, il faut les conserver.

Le décisionnel : Besoin Centralisation

Centralisation. Les applications de l’entreprise sont des silos indépendants. Pourtant être capable de croiser ces domaines pour comprendre, par exemple, l’impact des actes commerciaux (CRM) sur les ventes (Logiciel de caisse) est indispensable.

Le décisionnel : Besoin Analyse

Analyse. Mon entreprise est un organisme qui vit dans un environnement. Mes applications (CRM, RH, ERP…) sont des capteurs qui génèrent des informations, des stimuli locaux de ce qu’il se passe dans chaque processus métier. J’aimerai analyser ces informations pour obtenir une image globale et comprendre le monde autour de moi.

Dans un projet décisionnel, on répond à ces 3 besoins à travers 5 fonctions :

  1. L’extraction : à la charge du décisionnel d’aller chercher les données qu’il souhaite
  2. Le nettoyage : ces données doivent être uniformisées et transformées pour être exploitables
  3. Le stockage : on archive les données pour garantir leur pérennité, on les historise pour être capable de comparer le passé au présent
  4. L’analyse : on modélise et interprète les données  pour en tirer un sens
  5. Le reporting : on apporte le résultat des analyses et des requêtes aux utilisateurs

Le décisionnel : 3 Besoins 5 Fonctions
Dans le monde Microsoft, ces fonctions sont assurées par les produits suivants :

Le décisionnel : Produits Microsoft

Ma liste est limitée, il existe d’autres produits (ReportBuilder… et tous les nouveaux sur le Cloud dont Data Explorer) mais on a là les piliers de l’offre.

D’abord on peut se poser la question du pourquoi Microsoft et pas un autre éditeur? Ma réponse c’est que c’est la gamme de produits avec le rapport efficacité / facilité d’usage le plus élevé, et de loin, sur le marché à l’heure actuelle. Notez que ce n’est pas forcément le plus performant sur chaque problématique (Informatica sur l’ETL en temps réel par exemple), ni forcément le plus facile d’utilisation (SSRS…), mais le plus complet, le plus équilibré, celui qui flatte le plus le développeur et l’utilisateur.

On en revient au tableau, pour noter qu’il n’existe au final que 3 domaines ou un choix de technologie existe.

Côté Archivage (je stocke mes données au format source, pour répondre à un besoin d’audit et/ou de sécurité), on stocke directement les fichiers sources sur le disque, ou les tables sans transformation dans la base. Rien de très intéressant par ici. Au passage : attention à ne pas systématiquement utiliser ces données pour vider et régénérer complétement le DWH à tous les chargements. Cette pratique est une bonne pratique uniquement dans certains cas d’utilisation mais pas dans tous. Voir les 2 excellents documents de Marco Russo et Alberto Ferrari sur le sujet, spécifiquement le chapitre « Classification of BI solutions« , dans le PDF introduction.

Côté Reporting, le choix se fait en fonction du type d’utilisation souhaité. Des analyses à la demande ? Excel et les TCD. Du reporting de masse ? SSRS. Du « collaboratif » ? SharePoint et ses Services. Un tableau de bord ? PerformancePoi… non je blague, n’importe quoi d’autre 😉

Le problème avec l’offre jusqu’à aujourd’hui, c’était que le choix de solution de reporting impactait le choix du moteur d’analyse. En effet les tableaux croisés dynamiques d’Excel et les services SharePoint étaient obligatoirement branchés sur du SSAS classique (maintenent BISM-Multidimensional). Heureusement c’est une contrainte qui saute, ou plutôt qui évolue, avec SQL Server 2012 et la refonte de SSAS. Certes cette refonte introduit de nouvelles contraintes (PowerView sur du Tabular), mais elle libère Excel et les TCD.

Ce qui fait que le choix va se faire beaucoup plus librement sur le moteur d’analyse, entre :

  • Monter un datamart répondant à un besoin spécifique directement dans la base SQL
  • Construire un cube : SSAS – BISM Multidimensional
  • Construire un modèle tabulaire : SSAS – BISM Tabular

Et avec Excel 2010 (plus PowerPivot dans certains cas) on peut accéder facilement à ces 3 sources et offrir des tableaux croisés dynamiques bien velus à nos utilisateurs, indépendamment du moteur d’analyse. Ça c’est cool 🙂

La dernière question qui reste est donc quel moteur d’analyse choisir entre SSAS-Multidimensionnal, SSAS-Tabular ou le dB Engine ? La réponse n’est pas encore définitive, elle se précisera au fur et à mesure que nous ferons des projets sur les technos, mais des pistes apparaissent déjà:

  • BISM – Multidimensional : Techno « complexe », données hiérarchisées, grosses volumétries avec reporting à niveau agrégé, relations complexes (many to many…), comparaisons temporelles (mais pas trop les faits en période), des chiffres (pas trop des lettres)
  • BISM – Tabular : Techno simple et performante (elle rattrape les erreurs de développements assez bien), rapide à implémenter, beaucoup plus libre sur le modèle de données, agrège bien mais traite aussi bien le détail, costaud sur le distinct count, attention cependant aux trop grosses volumétries
  • Datamart SQL : J’entends par là des tables d’agrégats bien pensées. Dedans on mettra tout le reste 🙂

Pour plus d’infos, n’hésitez pas à consulter le webcast d’Aurélien Koppel et François Jehl sur le sujet, et n’hésitez pas non plus à en causer dans les commentaires, tous les avis sont bons à prendre!

Tour d’horizon: Techniques BI sur SQL Server

Désolé pour les amateurs de la partie business du blog, mais je suis dans une période technique et ça se sent dans les articles. Promis j’équilibrerai bientôt 😉

Comme la dernière fois, je vous livre quelques articles qui m’ont bien plu chez les bloggeurs BI:

Bonne lecture 🙂

SQLPASS 2010 – Première journée

Qu’est ce que le SQLPASS? Ce n’est rien d’autre que la plus grande messe SQL Server réalisée par une organisation qui n’est pas Microsoft. En effet cette conférence est organisée par le PASS (Professionnal Association for SQL Server) dont l’antenne en France est le GUSS (Groupe des Utilisateurs de SQL Server).

Bien qu’elle ne soit pas réalisée par Microsoft, la société y est bien présente, et on y apprend pas mal de nouveautés sur ce qui nous attend dans la prochaine version de SQL Server (SQL11, nom de code Denali).

Si ça vous intéresse, n’hésitez pas à suivre Christian Robert qui nous rapporte en français sur son blog ce qui se trame là bas.

Personnellement j’ai apprécié le résumé de la première journée faite par Chris Webb, qui comme François Jehl se concentre sur les nouveautés BI qui sont:

  • L’intégration du moteur Vertipaq (stockage verticale) dans SQL Server, voir l’article de Chris Webb pour ce que cela signifie point de vue usage.
  • PowerPivot devrait recevoir une nouvelle version plus « pro », on en saura plus dans les jours qui viennent.
  • L’équipe SSRS nous pond un nouvel outil de reporting ad-hoc: Project Crescent.
  • SSIS qui évolue autant sur le moteur que sur l’interface, Jamie Thomson en fait le détail.

En tout cas ça fait plaisir de voir que ça bouge enfin, même si pour le moment j’ai un peu du mal à percevoir la stratégie globale qui se cache derrière tout ça.

La rentrée!

Bin oui c’est la rentrée pour les gros bloggeurs BI français, qui étaient partis en vacances et qui reviennent enfin nous distiller leur sagesse 🙂

Le premier à rentrer c’est François Jehl, d’abord avec un article sur comment tricher dans SSRS pour réaliser un Magic Quadrant, ensuite avec une méthode pour mettre à plat une dimension parent child en T-SQL. Que du bon!

Le second c’est Christian Robert. Avec Christian c’est pas difficile: à chaque fois je crois maitriser un sujet, à chaque fois il publie un article et je me rend compte que je ne voyais que la partie visible de l’iceberg. Cette fois-ci c’est sur le merveilleux monde du 32/64bit dans SQL Server.

Bonne lecture!

Ps: quand je dis « gros bloggeurs BI français », c’est gros par le talent hein, je ne me permettrai pas… 😉

SQL Server 2008 SP2 et autres sucreries

La nouvelle de la journée : le SQL Server 2008 SP2 sort aujourd’hui! Il est détaillé sur le Team Blog, et se télécharge par là.

J’en profite pour faire le relai d’une sélection d’articles techniques que j’ai collectionné ces 2 derniers mois:

SSRS

  • Importer des cartes autres que celle des USA dans les rapports, via Kasper de Jonge.

SSIS

  • Minimiser les dégâts lorsqu’on effectue un produit cartésien (cross join) dans un flux de données, via Todd McDermid.
  • Une belle remise à plat sur l’utilisation des variables dans les Script Tasks et Script Components, via Todd McDermid encore.
  • Un composant à tester: un nouveau Data Conversion, via Todd McDermid toujours.
  • Une petite piqure de rappel sur les Events et Event Handlers, via le Database Journal.
  • Importer les valeurs d’un result set ADO dans un chaîne, séparées par des virgules. C’est un peu tortueux, mais c’est parfait pour générer des requêtes SQL à la volée. Via SqlServerCentral (enregistrement gratuit)

SSAS

  • MDX : Existing, Count et Filter via Thomas Ivarsson. Il n’explique pas assez à mon gout, mais en jouant avec ses requêtes on comprend bien.

T-SQL

  • Implémenter des tests unitaires automatisés dans Visual Studio 2010 pour le développement des procédures stockées. Ça c’est un sujet à creuser, via Jamie Thomson.
  • Utiliser le MERGE dans SQL Server 2008, via Robert Sheldon de Simple Talk. J’ai honte mais je n’ai pas encore eu le temps de vraiment regarder… Bouh!
  • Dédoublonner un data set grâce à la clause PARTITION BY. Pas sur que ça nous soit très utile en BI cependant, via SqlServerCentral (enregistrement gratuit)

ASP.NET

SharePoint

  • Un livre blanc sur l’authentification Kerberos dans SharePoint 2010, via Kasper de Jonge.