CR du petit-déjeuner organisé par OCTO et Quartet FS « L’analyse décisionnelle en temps réel Convergence entre Big Data et Complex Event Processing »

le 26/01/2012 par Céline Pageaux
Tags: Software Engineering

Agenda :

  • Introduction aux enjeux d’analyse de données en temps réel
  • Présentation des architectures d’analyse de données
  • Présentation de la solution Open Source ESPER
  • Présentation de la solution ActivePivot Sentinel (Quartet FS)
  • Questions/Réponses

Définition : « Un système d’analyse de données temps réel est un système évènementiel disponible, scalable et stable capable de prendre des décisions (actions) avec une latence inférieure à 100ms »

100ms est l'ordre de grandeur retenu lorsque l'on parle de "temps réel". Cette valeur permet de prendre les décisions dans un temps adapté au business.

Quelles différences avec l’analyse traditionnelle ?

  • Les systèmes décisionnels sont construits sur des mécanismes qui imposent la duplication des données… donc avec un temps de latence importants.
  • Notion de reporting opérationnel c’est à dire sur des données vivantes : on dépasse rapidement les 1000 TPS (transactions par secondes), ce qui est une limite au-delà de laquelle la latence des SGBDR explose (source : TPC.org).
  • La prise de décision ne peut pas être prise dans la zone de stockage à cause de la latence, mais doit l'être idéalement en amont (à l’extérieur) pour une meilleure réactivité.

Quels intérêts pour les entreprises ?

Les entreprises sont déjà aujourd’hui confrontées aux problématiques de volumétrie. A cela s’y ajoute 3 nouveaux facteurs majeurs entraînant toujours plus de données dans nos systèmes :

  • Une multiplication des appareils connectés, entraînant une augmentation des évènements qui devront être traités, et l’augmentation des sources d’évènements
  • Une fusion des poches d’utilisateurs et une augmentation de leur nombre.
  • Une forte volatilité du trafic (pic de connexion / utilisation) qui suit le rythme du métier (ex : saisonnalités dans le e-Commerce).

Pourquoi CEP ?

Définition : Le  Complex Event Processing (CEP) est une technique permettant de manipuler des événements au fur et à mesure de leur prise en compte, d'identifier des relations entre ces événements (corrélation, causalité, patterns), et d'en tirer de l'information sous forme de nouveaux événements dits "dérivés" ou "complexes".

Le CEP apparaît être une opportunité pour l’analyse et la prise de décision en temps réel là ou même le stockage sur cache/grille de données seul peut montrer ses limites :

  • la synchronisation cache/stock sur disque devient un problème sur de gros volumes de données
  • Le décisionnel implique des requêtes complexes sur des volumes de données importants

Pourquoi faire converger Big Data et CEP ?

  • Pour mieux tirer profit de l’augmentation des volumes de données : les SI ont besoin d’infos de plus en plus détaillées.
  • Pour permettre des analyses de plus en plus complexes (systèmes de scoring, détection de comportement, machine learning…).
  • Pour traiter efficacement de nouvelles sources de données (sociales, peu structurées…)
  • Pour permettre, et c’est un point fondamental, de faire des expérimentations (ie. pouvoir interroger le système, découvrir de nouvelles règles, les tester, les mettre en place et les adapter si besoin).

L’intérêt principal du CEP réside dans le traitement en mémoire de l’événement avant son stockage, afin de conserver une forte réactivité.

Détails sur l’analyse en temps réel :

  • Traitement évènementiel à faible latence
  • Traitement en mémoire
  • Fonctionnalités de traitement des évènements (jointure de flux corrélés, pattern matching, règles)
  • Historisation des évènements traités
  • Simulation sur des données historiques (backtesting)
  • Des IHM sont présentes et répondent aux questions des données historiques et des données en temps réel (que s’est-il passé/que se passe-t-il ?). Permet de visualiser et d’explorer les données
  • Il existe des IHM d’édition des règles utilisable directement par les métier / les analystes et sans besoin de développements particuliers.

Enjeux de l’analyse en temps réel :

  • Latence
  • Débit
  • Consommation de mémoire
  • Répartition sur plusieurs nœuds
  • Reprise sur panne
  • Initialisation à partir de l’historique
  • Richesse des interfaces pour l’analyse des données temps-réel et historique
  • Possibilité de modifier facilement les règles d’analyse et de les valider rapidement

L’approche peut se faire par :

  • des outils de pur CEP : (ex : Streambase, Tibco Business Events, Microsoft StreamInsight, ESPER…) : particulièrement performants sur l’analyse des évènements sur des échelles de temps courtes, il faudra leur adjoindre des systèmes de stockage des données historiques, et d’IHM évoluée
  • des outils de datagrid : (ex : SQLFire, GigaSpaces) : très adapté au stockage à fort débit d’écriture, et fournissant des possibilités de traitement des données à chaud (type trigger), ces outils devront être secondés d’IHM évoluées pour répondre au besoin
  • des outils OLAP en mémoire : (ex QuartetFS) : outils très adaptés au cas des analyses multidimensionnelles en temps-réel

Regarder la démo ESPER (moteur CEP Java)

Regarder la démo ActivePivot Sentinel

Retrouver les autres vidéos du petit-déjeuner