Je travaille actuellement sur un projet qui nécessite de stocker une grande quantité de données de séries chronologiques, mais plus important encore, d'en extraire rapidement de grandes quantités.Suggestions pour stocker et récupérer des données de séries chronologiques
Il y aura N périphériques (> 10 000) qui enverront périodiquement des données au système, disons toutes les 5 secondes. Ces données s'accumuleront rapidement, mais nous ne sommes généralement intéressés que par les données les plus récentes et nous souhaitons compacter les anciennes données. Nous ne voulons pas le supprimer, car il est toujours utile, mais au lieu d'avoir des milliers de points de données par jour, nous pourrions économiser 5 ou 10 points après que N jours/semaines/mois se sont écoulés. En particulier, nous voulons pouvoir extraire des données échantillonnées sur une longue période, disons un an ou deux. Il pourrait y avoir des millions de points ici, mais nous voulons juste un petit échantillon linéaire de ces données.
Aujourd'hui, nous expérimentons avec influxdb, qui semblait initialement une bonne solution. C'était assez rapide et cela nous a permis de stocker nos données dans une structure raisonnable, mais nous avons trouvé que ce n'était pas complètement satisfaisant. Nous n'avons pas pu exécuter l'exemple de requête décrit ci-dessus et, en général, le système ne semble pas assez mature pour nous.
Tout conseil sur la façon dont nous pouvons procéder, ou des solutions alternatives, est très apprécié.
Nous vous remercions de votre réponse. Nous utilisons des stratégies de rétention et des requêtes continues dans influxdb. Ces requêtes continues vont échantillonner les données périodiquement pour nous, mais pendant cette période, la table contient des données "périmées". Si nous échantillonnons chaque semaine, nous accusons toujours une semaine de retard sur les données. Si nous échantillonnons tous les jours, nous sommes toujours un jour en retard, etc.Une exigence est de pouvoir toujours aller chercher les dernières données absolues (échantillonnées). Est-ce possible avec TimescaleDB? –