Questions/Réponses: le futur d’Analysis Services

La question a encore été posée par notre session, et force est de constater que formation après formation, conférence après conférence, on me la pose systématiquement: quel est le futur d’Analysis Services, voire même de l’OLAP en général?

Panneau-AttentionNote importante: Je tiens à rappeler que bien qu’étant quelque peu « identifié » à Microsoft par mon statut de MVP, ce billet ne reflète que ma vision personnelle de la situation, et pas celle de l’éditeur, comme tout le reste de ce blog d’ailleurs.

Le futur: tabular ou multidimensional?

Cette question ne se pose pas que chez Microsoft. Elle est valable chez tous les éditeurs et peut même être étendue à l’alternative Columnar ou MOLAP. Sur ce dernier point j’en suis persuadé, l’avenir pour le moment, en ce mois de Février 2013, est dans le stockage en colonnes.

Hein? Mais vous recommandez de faire du MOLAP dans beaucoup de cas pourtant?

Oui. Pour le moment. Mais je sais aussi que les moteurs MOLAP, apparus au début des années 1990 (PowerPlay, Express, Essbase), en 1998 chez Microsoft (OLAP 7.0) possèdent un certain nombre de faiblesses conceptuelles:

  • Un stockage dimensionnel qui répond bien à la représentation intellectuelle des scénarii d’analyse, mais entraîne un phénomène de matrice creuse (data sparsity) qui donne généralement, et c’est valable pour la plupart des moteurs, de mauvaises performances au niveau fin. D’où le développement du ROLAP, du HOLAP… et au final de schémas d’architecture quelque peu complexes, et difficiles à maintenir.
  • De plus, les volumétries de ces bases sont limitées à quelques TB au plus, ce qui paraît minuscule au vu des exigences de la mouvance Big Data. Sans parler du partitionnement mis en jeu.
  • Des temps de process prohibitifs dus à un changement total de paradigme par rapport au monde relationnel, et ce peu importe les moteurs. Le Proactive Caching ça marche bien mais avec peu de données, ou un schéma de partitionnement très complexe.
  • Un monde « à part » et une courbe d’apprentissage très raide.

Le stockage en colonnes, plus récent, répond à beaucoup de ces problématiques (principalement les problèmes issus du côté sparse du storage, et du monde multidimensionnel). xVelocity (Vertipaq), le moteur de Tabular et de PowerPivot (Excel 2013 Data Model) c’est du in-memory columnar storage.

Génial, on abandonne les cubes et on fait du tabulaire: mais je croyais que vous étiez accroché à votre multidimensionnel?

Non et non. Je ne suis pas « accroché » au moteur OLAP: je dis simplement que fonctionnellement, et à date, il adresse aujourd’hui des scénarios que le mode tabulaire ne permet pas ou difficilement de traiter (volumétries, localisation, modélisations étranges). Le modèle tabulaire aujourd’hui a deux problèmes vus de ma fenêtre:

  • Un mode de stockage uniquement InMemory, qui empêche de traiter de gros projets (Pour rappel un tabulaire c’est 20% de la taille de la BdD relationnelle de chaque base en RAM, et des développeurs qui bossent connectés à un serveur et donc partagent cette RAM sur les infras de dev. A vos calculettes.). On peut certes parler de DirectQuery. Ou pas. Si vous voulez savoir pourquoi « ou pas » lisez ceci
  • Des fonctionnalités limitées liées à la jeunesse du moteur essentiellement autour de l’internationalisation et des relations gérées.

Donc aujourd’hui beaucoup de projets doivent encore être faits en multidimensionnel. Ce n’est pas moi qui le dit, c’est T.K.  Anand.

Que va faire Microsoft demain?

Pas de communication officielle, mais la discrète survey de l’équipe produit envoyée fin d’année dernière donne des billes: pas une seule fois le moteur OLAP n’est mentionné. On s’oriente donc à mon sens vers un rattrapage fonctionnel et technique du moteur OLAP par le moteur Tabulaire. 

D’accord… alors pourquoi DaxMD?

A mon avis, DaxMD (PowerView for Multidimensional Models CTP, disponible ici) est un patch sur le moteur OLAP qui a deux buts:

  • La version officielle: lui permettre de supporter les frontaux mis en place  (ex: PowerView) et à venir, le moteur OLAP n’étant pas déprécié.
  • Ce que je lis derrière les lignes: permettre au moteur OLAP d’adresser une bonne partie des projets – ces fameux projet à haute volumétrie, localisés, ou utilisant des fonctionnalités avancées – le temps que Tabular arrive à sa pleine maturité, quitte à le déprécier à horizon très lointain.

D’accord, donc si on se résume: la solution idéale aujourd’hui (ou plutôt demain matin) ce serait DaxMD? Et demain un tabulaire vNext dans lequel on met quoi?

Sur le même modèle de notre wishlist avec le grand Romu en session, j’isolerais deux priorités:

  1. Urgemment, des fonctionnalités supportées par le moteur OLAP depuis longtemps (SCOPE, Traductions, Actions, Currency Conversion, Calculated Members…)
  2. A plus long terme, un mode de stockage en buffer cache. Il est important que passé une certaine volumétrie on puisse travailler avec le couple HDD (SSD?)+ InMemory. Microsoft pousse autour d’Hadoop, avec HDInsight dans le Cloud et quelques POCs intéressant sur du OnPremises utilisant les technos BI existantes,  il serait bête de ne pas s’engager sur le chemin de bases ad-hoc de nouvelle génération permettant de traiter ces très grosses volumétries.

La faisabilité technique de la dernière étant… comment dire, pas triviale je ne me fais pas trop d’illusions à brève échéance. Sur le premier point en revanche, on a montré en session que presque tout est déjà là techniquement pour que ce soit réalisable dans des délais assez brefs.

Et le langage? DAX ou MDX?

Ce n’est pas le plus important à mon sens même si j’adore le MDX dans sa manière d’exprimer une query de manière géométrique. DAX – sur sa partie requête – n’est à mon sens qu’un genre de SQL imbuvable original aux relations explicitées par un modèle CSDL, et présente donc les mêmes inconvénients que le SQL pour exprimer des requêtes analytiques. (Et là dessus je rejoins pas mal Steven Bolton…)

Mais quel choix va faire Microsoft? Est ce qu’il y en aura même un? No clue, même si le développement uniquement en DAX de PowerView peut donner une idée…

Vous n’êtes pas d’accord? Vous vous posez d’autres questions? N’hésitez pas à commenter!

Une réflexion sur “Questions/Réponses: le futur d’Analysis Services

  1. Pingback: Retour sur les Techdays 2013 « La BI ça vous gagne!

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s