Vous avez dit ActivePivot?

Le monde de la Business Intelligence (BI) est pris entre deux tendances.
La première consiste à mettre à disposition le plus d’éléments d’analyse: Il s’agit de l’OLAP (On Line Analytical Processing).
La seconde a pour objectif de fournir des éléments d’analyses le plus rapidement possibles: Il s’agit du CEP (Complex Event Processing).

Ces deux tendances se retrouvent souvent en contradiction :
  • Les implémentations OLAP sont généralement très gourmandes en mémoire et en temps de traitement. Sur certains systèmes, les traitements sont tellement long qu’il faut compter plusieurs jour pour obtenir un cube complet
  • A l’inverse, les optimisation effectués sur les implémentations CEP les très réactives, mais restreignent les modèles au maximum, perdant la flexibilité des cubes OLAP
C’est la qu’intervient ActivePivot, le seul « outil » conciliant ces 2 tendances de la BI.

ActivePivot, kezako ?

ActivePivot est un serveur de cube OLAP « in memory »  écrit en Java. Il est développé par Quartet FS, une PME lancée par les fondateurs de Summit.

Pourquoi « in memory » ?

Parce que c’est plus « hype » en anglais…

Plus sérieusement, une des grandes caractéristiques  d’ActivePivot, c’est de contenir toutes ses données en mémoire vive. Cette caractéristique est une force lorsque l’on sait que :

Le temps d’accès mémoire 100 000 fois plus rapide que le temps d’accès à un disque dur

Ce qui ralentit une application sur un ordinateur moderne, ce ne sont plus les temps de calculs. C’est le temps d’accès aux données.

Il faut supprimer les disques durs du chemin critique de nos application

Antoine Chambille, directeur R&D de Quartet FS.

Ainsi, mettre toute son application en mémoire permet d’obtenir des temps de réponses inégalés dans ce domaine. Le terme « temps réel » est régulièrement utilisé, même s’il est un peu exagéré. L’idée est que cela semble instantané pour les utilisateurs. En tout cas, les temps de réponses obtenus laissent la concurrence à des années lumières. Le temps gagné par certains clients sur leur application BI se compte en jours…

Ça donne quoi en termes de performance ?

Il est évident que multiplier les axes d’analyse et mettre le tout en mémoire soulève des interrogations quant aux performances, que ce soit en termes de temps réponse comme d’espace mémoire utilisé.

En ce qui concerne l’empreinte mémoire, Quartet a beaucoup travaillé pour mettre en place des structures de données compressées, mais qui permettent la modification des données contenues. Il s’agit d’optimiser l’espace mémoire utilisé en revoyant jusqu’au structures les plus élémentaires du programmes.

Ces structures mises en places permettent donc de compresser les données afin qu’elles prennent moins de places  que les données en entrée, tout en offrant plus de facilité pour leur analyse.

En ce qui concerne le dimensionnement des machines, il s’agit de machines standard multi processeurs, un peu boosté coté mémoire, mais qui reste dans des configurations accessibles (ex : serveur Dell avec 250 à 500 Go de RAM).

Certains serveurs ActivePivot ont été envisagés sur des machines de 1To de RAM, mais toujours sur des configurations standard (accessible sur le site de HP par exemple)

Où est-ce qu’on s’en sert ?

Quels secteurs ?

Quartet FS a été créé par les fondateurs de Summit. Il est donc tout naturel que le premier secteur client soit la finance.

Néanmoins, Quartet FS ayant atteint une certaine maturité, ils cherchent à se diversifier vers des secteurs comme le E-Commerce et les télécoms.

Quels clients ?

Les plus grands noms de la finance sont déjà des utilisateurs d’ActivePivot, comme HSBC, JP Morgan ou UBS. Ils l’emploient dans le secteur de la finance de marché, principalement pour agréger et analyser des données pour le middle office.

Pour quels besoins ?

Chez HSBC, plusieurs projets utilisent ActivePivot.  Par exemple, il est utlisé pour agréger la Value at Risk (calcul financier d’exposition au risk) au niveau mondial. C’est une application qui tourne sur des processeurs Intel avec 500 Go de RAM.

Écosystème

ActivePivot est vraiment un logiciel adaptable à de nombreuses utilisations et extensible à foison.

Modules complémentaires

Différents modules complémentaires ont été développés par Quartet FS principalement pour aider à l’intégration des données sources.

Dernièrement, un nouveau module a été récemment développé, Integration Services, qui :

  • Facilite l’integration de données complexes, par exemple provennant de plusieurs sources ayant des liens entre elles.
  • Synchronise les aggrégats des cubes aves les modifications des données sources
  • Permet d’effectuer des prises d’images (snapshots) des données
  • Offre un système de persistance d’état
  • Persist incoming ActivePivot data to replay a data section or reload a consistent server state.

Logiciels clients

ActivePivot s’adapte à de nombreux logiciels clients. Ainsi, il est possible de se connecter au serveur en utilisant Excel et ses fonctions de gestion de tableaux croisés dynamique.

Quartet a aussi développé son propre client : ActivePivot Live (vidéo de démo ici).

Enfin, il est possible de développer sa propre application cliente, en utilisant les standards du marché (WebServices par exemple).

A noter que les cubes sont interrogeables en utilisant le langage MDX qui est l’équivalent de SQL dans le monde de l’OLAP.

Extensibilité

Active Pivot  est un système extensible et flexible. Il est possible de remplacer de nombreux éléments du système par des éléments spécifiques. De plus il est possible d’adjoindre de nouvelles fonctionnalités à celles pré existantes. Chez ING par exemple, l’interface cliente s’est vue enrichie d’une fenêtre de saisie de deal communiquant avec Summit.

Aspects techniques

Développé en Java

ActivePivot est développé en Java et agrège des données sans présumer ni de leur structure ni de leur type. Il donc possible d’intégrer des flux facilement des flux existants.

Programmation par interface

ActivePivot a été développée en utilisant au maximum les possibilité offerte par la programmation par interface.

Ainsi, chaque objet manipulé l’est au travers d’une Interface Java. Une notion de Registry et de plugin permettent de récupérer l’instance associée à un élément donné. C’est ces techniques qui permettent de substituer une implémentation à une autre et de se fait contribue à la souplesse d’extension du système.

Spring et injection de dépendance

Par ailleurs les différents éléments du système sont assemblés ensemble à l’aide de Spring. Cela permet de décorréler les problématiques.

Conclusion

Dans l’univers de la BI, ActivePivot tiens une place à part, car il représente à ce jour la seule solution alliant les avantages d’un cube OLAP avec la rapidité d’exécution du CEP. Malgré la présence de géants de l’édition logicielle sur ce marché, le petit poucet Quartet FS possède une avance technologique lui permettant de conquérir des clients ne voulant pas faire le choix entre rapidité et qualité d’information dans l’un des processus central de la gouvernance de leur activité.

Pour aller plus loin

Une vidéo tirée de l’Université de SI où l’on voit Antoine Chambille faire un exposé inspiré d’ActivePivot.

Un livre d’introduction à MDX et au monde de l’OLAP.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *