Traiter et analyser des données en temps réel
De multiples définitions du « temps réel » et leurs applications
Le temps réel est une notion bien spécifique à chaque client, à chaque usage. Celui-ci n’a de définition que dans un contexte donné et lié à un usage bien spécifique.
Néanmoins, la définition généralement donnée est la suivante :
« En informatique, un système temps réel est une application ou plus généralement un système pour lequel le respect des contraintes temporelles dans l’exécution des traitements est aussi important que le résultat de ces traitements. Ces systèmes sont utilisés pour contrôler des processus physiques en suivant leur évolution au rythme de leur déroulement. » (Temps réel - Wikipédia, wikipedia.org)
Le temps réel est certes lié à un usage mais généralement à une industrie. Nous pouvons citer comme exemples de multiples industries telles que :
-
Le secteur automobile : l’approche temps réel est de plus en plus importante dans le secteur automobile, tant en amont sur les chaînes de production pour prévenir les défauts de maintenance et anticiper des arrêts de chaîne qu’en aval sur l’exploitation des flottes...
Du temps réel à l’analytique
Nous avons vu que plusieurs systèmes peuvent produire en amont un nombre d’évènements définis ou non définis, à des fréquences variables, et à l’enveloppe de données (Payload) pouvant contenir plus ou moins d’informations.
La transition entre un système de génération d’évènements et un système analytique va se traduire par une extraction de l’enveloppe de données (ou un décodage de cette enveloppe) pour pouvoir exploiter les données sous-jacentes de l’évènement. Pour illustrer l’approche analytique temps réel dans Microsoft Fabric nous considérerons le schéma d’évènements suivant que nous garderons comme illustration de bout en bout :
Nous considérerons « e » comme l’évènement, « s » comme la source, soit e1(s1) le premier évènement émis par la première source. Nous examinerons les enveloppes de données propres à chaque source d’évènements, car elles peuvent varier selon les évènements.
Le flux d’évènement de la source 1 sera le suivant dans la suite de nos exemples :
Transitionner du monde temps réel vers...
Qu’est-ce que le Complex Event Processing (CEP) ?
1. Présentation
Le Complex Event Processing (CEP) est un domaine de l’informatique qui vise à analyser, traiter et générer des corrélations entre les évènements provenant de différents flux de données.
Ces corrélations permettent de détecter des schémas de comportement entre les systèmes qui peuvent mettre en avant des situations attendues, épisodiques ou non prévues. Cette analyse multisource permet la détection de situations complexes qui ne peuvent être détectées par une analyse indépendante des flux.
2. Comprendre la notion de fenêtre temporelle
Le concept de CEP possède une notion importante de fenêtre d’analyse temporelle permettant d’appliquer des calculs, agrégats sur un nombre défini ou non d’évènements.
Suivant le pattern de la fenêtre d’analyse, les résultats des différentes opérations pourront alors être différents. Le principe est de pouvoir comparer des comportements dans le temps sur des formats de fenêtres régissant les mêmes règles.
a. Tumbling Windows (Fenêtre à bascule)
La fonction de type Tumbling est la plus communément utilisée. Elle permet de fixer une taille de fenêtre d’analyse...
Le temps réel dans Microsoft Fabric
1. Création du workspace lié au temps réel
À l’ouverture de Microsoft Fabric, choisissez le persona Synapse Real-Time Analytics correspondant à l’expérience utilisateur d’analyses temps réel.
Le moteur de CEP dans Microsoft Fabric est disponible par la création de l’item EventStream.
Cet item est l’un des artefacts pouvant être utilisés dans le domaine du temps réel.
Une fois notre Eventstream créé, nous avons accès au paramétrage des entrées et sorties correspondant aux flux en entrée et aux zones de réceptions des évènements en sortie.
2. Les Hubs d’évènements en source
Les sources disponibles pour notre eventstream sont orientées Hubs d’évènements. Chacune d’entre elles permet de s’adapter à tout scénario d’intégration au système d’information client.
Si vous créez un « enhanced Eventstream », vous aurez accès à d’autres sources telles que Confluent Cloud Kafka, Amazon Kinesis Data Streams ou Google Cloud Pub/Sub.
a. Source externe : Azure Event Hubs
Ce premier connecteur permet l’intégration à des Hubs d’évènements externes de type Azure Event Hub. Un Hub d’évènements est un service qui permet aux entreprises de gérer la réception, le traitement et la distribution de données dans un mode temps réel. Ce Hub d’évènements agrège tous les évènements reçus, avec une durée de rétention, et les met à disposition d’autres systèmes qui peuvent venir s’abonner à celui-ci et les consommer.
Il est donc nécessaire d’avoir accès à un environnement Azure qui expose ce type de point de connexion. Un Azure Event Hub se caractérise par deux propriétés principales nécessaires à la connexion :
-
Event Hub Namespace : <Namespace>.servicebus.windows.net
-
Event Hub Name : <Name>
Vous aurez aussi besoin d’une clé d’accès sur le Hub d’évènements pour pouvoir lire les entrées publiées dessus....
Intégrer les données dans une base de données Time Series
1. Comprendre les bases de données orientées évènements temporels
Une base de données temps réel, ou Time Series Database (TSDB), est un type de base spécialisée pour stocker et traiter des données qui évoluent dans le temps ou qui détiennent un paramètre temps dans leur analyse.
Contrairement à des bases de données plus traditionnelles qui sont orientées transactions et/ou accès concurrentiels, une TSDB met l’accent sur une gestion efficace de l’analyse de données temporelles.
Les caractéristiques clés d’une base TSDB sont les suivantes :
-
Une structure temporelle, les séries de données sont stockées chronologiquement, permettant un accès rapide dans tous les cas d’utilisation.
-
Un attribut temporel est souvent utilisé.
-
Une optimisation des requêtes en lecture dans l’accès aux données sur des notions de temps. Ce type de base de données facilite les analyses sur des manipulations temporelles simples (plages d’analyse, filtre, etc.) comme complexe (prédiction, comblement d’une plage de valeurs, etc.).
-
Des performances en lecture temps réel sur des données fraîches comme anciennes.
-
Une gestion dynamique de la volumétrie pouvant stocker énormément de données.
-
Une flexibilité dans la modélisation des tables et accès aux données.
Des exemples populaires de bases de données orientées temps réel et temporelles : InfluxDB, TimescaleDB, Kairos DD et bien sûr Azure Data Explorer.
2. Les bases de données Data Explorer (Eventhouse) dans Microsoft Fabric
Cet item est l’un des artefacts pouvant être utilisés dans le domaine du temps réel.
a. Qu’est-ce qu’une base de données KQL ?
Une base de données KQL dans Microsoft Fabric est la version SaaS du service Azure Data Explorer dans Azure.
C’est une base de données orientée séries temporelles incluant une stratégie de partitionnement et de compression automatique ainsi qu’une stratégie d’indexation autogérée sur tout type de formats de données.
Le niveau...
Recevoir des alertes en temps réel sur vos données
1. Qu’est-ce qu’une alerte et pourquoi ?
Le concept d’alertes apparaît dans le monde de la BI afin de prendre des décisions que l’on dit pilotées par les données.
Cette fonctionnalité existe aujourd’hui par exemple dans le service Power BI afin de définir des alertes lors de changements provenant de mesures ou indicateurs.
En d’autres termes, un utilisateur peut être averti en temps réel lors du changement sur une donnée.
Ce type de système permet une réaction rapide à un changement, un suivi et un contrôle précis de certains indicateurs, des prises de décisions stratégiques basées sur des mesures concrètes et une personnalisation des facteurs d’alertes.
2. Comprendre Data Activator dans Microsoft Fabric
Microsoft Data Activator est un service de développement d’alertes inclus dans la plateforme Microsoft Fabric.
L’approche est de type low code, donc très orientée utilisateur métier.
Data Activator permet une détection temps réel de changement sur les données, une surveillance de celles-ci et un déclenchement de notifications vers les utilisateurs si les conditions de déclenchement sont respectées.
Data Activator permet de surveiller les données depuis des rapports...