Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Comment les mesures sont stockées

Ce que le stockage de télémesure conserve pour chaque message d'appareil : lignes de messages, dictionnaire des clés, dernières valeurs et cumuls à la minute, à l'heure et au jour.

Cette page explique ce qu’Hermetry écrit lorsqu’un flux enregistre une mesure, et pourquoi. Comprendre cela vous aide à prévoir ce que renvoient un graphique ou l’API, et pourquoi certaines valeurs apparaissent à un endroit mais pas à un autre.

Seuls les flux stockent des données

Un message d’un appareil est stocké parce qu’un flux le demande. Chaque organisation commence avec un flux racine par défaut qui reçoit chaque message d’appareil et enregistre la télémesure et les attributs client. Le bloc Enregistrer la télémesure est le seul moyen d’écrire la télémesure :

  • Supprimez le bloc (ou la branche qui y mène) et les mesures ne sont plus stockées. L’appareil apparaît toujours en ligne, car la connexion est suivie séparément.
  • Seul msg.payload est stocké. Les métadonnées du message (le topic, le transport, le nom de l’appareil) ne sont jamais stockées.
  • Une exécution de test d’un flux ne stocke jamais rien.

Voir Hôtes, le flux racine et les flux racines de profil.

Une ligne par message

Lorsque le bloc Enregistrer la télémesure écrit un enregistrement, le stockage ajoute une seule ligne pour l’enregistrement entier, et non une ligne par clé :

Partie de la ligneContient
Appareil et horodatageL’identifiant de l’appareil et l’horodatage de l’enregistrement (millisecondes, UTC)
NombresChaque valeur numérique, stockée par identifiant de clé
Autres valeursBooléens, textes et valeurs JSON, stockés par nom de clé
Empreinte du messageUn hachage des valeurs, utilisé pour reconnaître un même message reçu deux fois

Un enregistrement de 8 clés correspond à une seule ligne. Cela rend le stockage compact et permet à l’API de renvoyer un message entier d’un seul coup.

Le dictionnaire des clés

Chaque clé utilisée par votre organisation reçoit un petit numéro dans un dictionnaire propre à l’organisation, la première fois qu’elle est stockée. Ce dictionnaire est partagé par tous vos appareils : temperature est une seule clé, qu’un appareil ou dix mille l’envoient.

  • Les clés ne sont jamais renommées ni réutilisées. Une clé reste dans le dictionnaire après la suppression des appareils qui l’ont envoyée.
  • Votre offre peut limiter le nombre de clés distinctes. Une nouvelle clé au-delà de la limite n’est pas stockée, alors que les autres clés du même enregistrement le sont. Voir Clés de télémesure.

Dernières valeurs

En complément de l’historique, le stockage conserve une dernière valeur par appareil et par clé, avec son horodatage. Les cartes de valeurs des tableaux de bord, l’onglet Télémesure de l’appareil et le bloc de flux Dernières valeurs les lisent.

La dernière valeur n’est remplacée que par un horodatage strictement plus récent :

  • Une mesure avec un horodatage plus ancien (un retard mis en mémoire tampon arrivant après une mesure plus récente) est stockée dans l’historique mais ne remplace pas la dernière valeur.
  • Un renvoi corrigé avec le même horodatage est stocké comme message distinct si ses valeurs diffèrent, mais la dernière valeur conserve la première.

Ainsi, l’historique, les dernières valeurs et la vue en direct concordent toujours.

Agrégats et cumuls

Les nombres sont aussi résumés afin que les longues périodes se lisent rapidement :

NiveauContenuAlimenté par
Agrégats à la minutePar clé numérique et par minute : somme, nombre, minimum, maximum et dernière valeurUne tâche qui s’exécute chaque minute
Cumuls horairesLes mêmes cinq valeurs par heureDérivés des agrégats à la minute
Cumuls journaliersLes mêmes cinq valeurs par jour (UTC)Dérivés des agrégats à la minute

Les textes, booléens et valeurs JSON ne sont pas agrégés. Une mesure qui arrive en retard pour une minute déjà résumée marque cette minute pour un nouveau passage, afin que les données tardives soient intégrées. Voir Agrégats et cumuls.

Source utilisée par une lecture

PériodeLue depuis
Jusqu’à 24 heuresLes lignes de messages bruts (chaque mesure)
Plus longueLe cumul le plus fin qui reste sous 10 000 intervalles : minutes, puis heures, puis jours

Vous pouvez aussi demander une résolution précise dans l’API. Voir L’API d’historique.

Rétention

Chaque niveau est conservé pendant sa propre durée. Les lignes brutes sont conservées au plus 90 jours, les agrégats à la minute au plus 31 jours, et les cumuls horaires et journaliers pendant toute la classe de rétention de votre offre. Voir Durée de conservation des données.

Valeurs en direct

Après validation d’un enregistrement, les nouvelles valeurs sont envoyées aux tableaux de bord ouverts et aux pages d’appareils qui suivent l’appareil. Une valeur non enregistrée (par exemple une clé filtrée par le flux racine) n’apparaît jamais en direct. La diffusion en direct est limitée à quatre mises à jour par seconde et par clé ; les valeurs intermédiaires sont tout de même stockées.

Lors de la suppression d’un appareil

La suppression d’un appareil retire ses mesures, ses agrégats à la minute, ses cumuls et ses dernières valeurs en arrière-plan, une journée de données à la fois. Les clés qu’il utilisait restent dans le dictionnaire.

Comptage

CompteurSignification
Messages IoTMessages de télémesure et d’attributs acceptés depuis les appareils, comptés à leur arrivée, qu’un flux les stocke ou non
Points de données IoT stockésLes valeurs effectivement insérées par le stockage. Un doublon écarté par le stockage n’est pas compté. Sans quota.

Voir Quota de messages et utilisation.