Ouvrir le menu Fermer le menu

Gestion de donnée Temps Réel avec des MCU à faible cache

trait de séparation
Temps de lecture : 3 minutes

Le monde de l'IoT est confronté à un problème. Les appareils et capteurs Edge sont si répandus que l'organisation des données entrantes est un défi. Les lectures des capteurs sont souvent hors service, les ressources sont fortement limitées et le débogage peut être un cauchemar. 

Ces problèmes ne sont pas un problème pour ITTIA, qui a développé une solution pour traiter rapidement toutes vos données à la périphérie. ITTIA DB IoT fournit une API pour gérer chaque insertion, requête et exportation de données de séries chronologiques avec facilité et haute performance. 

Cet article vous explique certains des avantages et fonctionnalités de cette API et pourquoi elle est nécessaire.

De nombreuses applications nécessitent plusieurs bases de données, avec des schémas et des performances variables. ITTIA DB IoT garantit des performances élevées sur chaque variation et permet d'établir plusieurs connexions à une base de données. Les fonctionnalités et les API fournies par ITTIA sont toutes répertoriées dans leur documentation. Par exemple, chaque base de données de séries chronologiques utilise le format suivant pour stocker les horodatages :

Année : Mois : Jour Heure : Minute : Seconde : Microseconde

Ce format peut s'adapter aux besoins de votre application, avec plusieurs capteurs enregistrant en temps réel avec une précision de l'ordre de la microseconde. Cependant, regardons seulement deux capteurs - la température et la pression. Pour notre application, nous pouvons supposer que les données suivront l'exemple ci-dessous. Bien que nous nous attendions à ce que notre stockage ait des données existantes à interroger, ce n'est pas toujours le cas, car aucun enregistrement n'est stocké si aucune donnée de capteur n'est disponible. Des cas marginaux comme celui-ci ont un impact sur vos performances et mettent en évidence la valeur qu'ITTIA apporte à la table. Notez ci-dessous que seuls les enregistrements contenant des données remplies sont stockés, ce qui permet d'économiser votre empreinte mémoire.
blog_ITTIA-DB IoT.1_ISIT

ITTIA DB IoT utilise une fonction simple pour remplir la base de données, permettant au programmeur d'ingérer facilement des données dans le désordre. Fournissez simplement une poignée à la série temporelle ouverte, un horodatage en microsecondes et sa valeur correspondante et l'ingestion de données sera gérée pour vous avec peu de frais généraux.
blog_ITTIA-DB IoT.2_ISIT

Inutile de vous soucier de corrompre ou d'écraser des données existantes dans votre stockage, le stockage de séries chronologiques d'ITTIA écrasera implicitement la valeur d'origine. Par exemple, des mises à jour peuvent se produire lors de l'affinement d'une moyenne mobile lors d'un sous-échantillonnage. En revenant aux exemples de données, un groupe ultérieur de lectures apparaîtra comme ci-dessous.
blog_ITTIA-DB IoT.3_ISIT
Compte tenu de la faible empreinte mémoire des microcontrôleurs et de la variabilité des plates-formes qui existent sur le marché des microcontrôleurs, la quantité maximale de données pouvant être lues est très importante. ITTIA fournit une solution élégante avec leur DB IoT, fournissez simplement une taille de tampon, une plage de temps et un stockage de tableau pour effectuer des requêtes très rapides et à haut débit. Par exemple, étant donné une taille de mémoire tampon de 10 octets pour interroger 1 000 caractères, il en résultera 100 appels de requête pour lire tous les caractères.
blog_ITTIA-DB IoT.4_ISIT

Ingérer beaucoup de données est un défi, mais les exporter est un autre dilemme. La gestion de formats spécifiques introduit des complexités et des temps de développement supplémentaires. Heureusement, ITTIA DB IoT prend en charge les formats JSON, CSV, XML et ProtoBuf2. Exportez facilement les résultats de vos requêtes au format spécifié avec un débit très élevé. De plus, pas besoin de s'inquiéter de perdre des données lors d'exportations volumineuses, ITTIA DB IoT garantit qu'une exécution sécurisée des threads capturera toutes vos données entrantes à la périphérie.
2