Parlons de la base de données de séries chronologiques de surveillance distribuée.
Une base de données de séries chronologiques est optimisée pour les données d'horodatage ou de séries chronologiques. Les données de séries chronologiques désignent des mesures ou des événements qui sont suivis, surveillés, collectés ou agrégés sur une période de temps. Il peut s'agir de données collectées à partir des battements de cœur des capteurs de suivi de mouvement, de mesures JVM des applications Java, de données commerciales sur le marché, de données réseau, de réponses API, de temps de disponibilité des processus, etc.
Les bases de données de séries chronologiques sont entièrement personnalisées avec des données horodatées, qui sont indexées et écrites efficacement de manière à ce que vous puissiez insérer des données de séries chronologiques. Vous pouvez interroger ces données de séries chronologiques beaucoup plus rapidement que vous ne le feriez dans un cadre relationnel ou Base de données NoSQL.
Dernièrement, il a gagné en popularité. Et pourquoi pas? Il fait un travail fantastique pour les affaires et Suivi des opérations informatiques. La bonne nouvelle est qu'il existe de nombreuses options parmi lesquelles choisir, et la plupart d'entre elles sont open-source.
InfluxDB
InfluxDB est l'une des bases de données de séries chronologiques les plus populaires parmi DevOps, qui est écrite en Go. InfluxDB a été conçu dès le départ pour fournir un moteur d'ingestion et de stockage de données hautement évolutif. Il est très efficace pour collecter, stocker, interroger, visualiser et agir sur des flux de Données de séries chronologiques, événements et métriques en temps réel.
Il fournit des politiques de sous-échantillonnage et de rétention des données pour prendre en charge le maintien des données de haute valeur et de haute précision en mémoire et des données de valeur inférieure sur le disque. Il est construit sur un mode cloud natif pour fournir une évolutivité sur plusieurs topologies de déploiement, y compris les environnements cloud sur site et hybrides.
InfluxDB est une solution open-source et prête pour l'entreprise. Il utilise InfluxQL, qui est très similaire à un langage de requête de structure, pour interagir avec les données. La dernière version propose des agents, des tableaux de bord, des requêtes et des tâches dans une boîte à outils. C'est un outil tout-en-un pour le tableau de bord, la visualisation et l'alerte.
Caractéristiques
- Performances élevées pour les données de séries chronologiques avec une ingestion élevée et des requêtes en temps réel
- InfluxQL pour interagir avec des données qui est un SQL comme un langage de requête
- Composant principal de la pile TICK (Telegraf, InfluxDB, Chronograf et Kapacitor).
- Prise en charge des plugins pour les protocoles tels que collectd, Graphite, OpenTSDB pour l'ingestion de données
- Peut gérer des millions de points de données en 1 seconde seulement
- Politiques de rétention pour supprimer automatiquement les données périmées
Comme il est open-source, vous pouvez le télécharger et le démarrer sur votre serveur. Cependant, ils offrent InfluxDB Cloud sur AWS, Azure et GCP.
Prometheus
Prométhée est une solution de surveillance open source utilisée pour comprendre les informations issues des données de métriques et envoyer les alertes nécessaires. Il dispose d'une base de données de séries temporelles locale sur disque qui stocke les données dans un format personnalisé sur disque.
Le modèle de données de Prometheus est multidimensionnel basé sur des séries chronologiques; il stocke toutes les données sous forme de flux de valeurs horodatées. C'est très utile lorsque vous travaillez avec une série chronologique entièrement numérique. La collecte de données de microservices et leur interrogation est l'une des forces de Prometheus.
Il s'intègre étroitement à Grafana pour la visualisation et si vous êtes un débutant, lisez ceci Présentation de Prometheus et Grafana l'article.
Caractéristiques
- Possède un modèle multidimensionnel qui utilise le nom des métriques et les paires clé-valeur (étiquettes)
- PromQL pour interroger les données de séries chronologiques afin de générer des tables, des alertes et des graphiques Adhoc
- Utilise le mode d'extraction HTTP pour collecter des données chronologiques
- Utilise une passerelle intermédiaire pour pousser les séries chronologiques
Prométhée a des centaines de exportateurs pour exporter les données depuis Windows, Linux, Java, base de données, API, site Web, matériel serveur, PHP, messagerie, etc. Pour surveiller Linux, vérifiez ceci Configuration Prometheus + Grafana.
TimescaleDB
Échelle de tempsDB est une base de données relationnelle open source qui rend SQL évolutif pour les données de séries chronologiques. Cette base de données est construite sur PostgreSQL.
Il propose deux produits - le premier option est une édition communautaire gratuite que vous pouvez installer sur votre serveur. le seconde L'option est TimescaleDB Cloud, où vous obtenez une infrastructure entièrement hébergée et gérée sur le cloud pour vos besoins de déploiement.
Il peut être utilisé pour la surveillance DevOps, la compréhension des métriques d'application, le suivi des données des appareils IoT, la compréhension des données financières, etc. Vous pouvez mesurer les journaux, les événements Kubernetes, les métriques Prometheus, voire les métriques personnalisées.
Pour les propriétaires de produits, vous pouvez l'utiliser pour comprendre les performances d'un produit au fil du temps, ce qui aide à prendre des décisions stratégiques pour la croissance.
Caractéristiques
- Exécutez des requêtes 10 à 100 fois plus rapidement que PostgreSQL, MongoDB
- Peut évoluer horizontalement en pétaoctets et écrit des millions de points de données par seconde
- Très similaire à PostgreSQL, si facile à utiliser pour les développeurs et les administrateurs
- Combine les fonctionnalités de base de données relationnelle et chronologique pour créer des applications puissantes.
- Algorithmes intégrés et fonction de performance pour économiser beaucoup de coûts.
Graphite
Graphite est une solution tout-en-un pour stocker et visualiser efficacement des données chronologiques en temps réel. Graphite peut faire deux choses: stocker des données de séries chronologiques et rendre des graphiques à la demande. Mais il ne collecte pas de données pour vous; pour cela, vous pouvez utiliser des outils tels que collectd, Ganglia, Sensu, telegraf, etc.
Il comporte trois composants - Carbone, Chuchotement, et Graphite-Web. Carbon reçoit les données de la série chronologique, les agrège et les conserve sur le disque. Whisper est un stockage de base de données chronologique qui stocke les données. Graphite-Web est le front-end pour créer des tableaux de bord et visualiser les données.
Caractéristiques du graphite:
- Le format des métriques dans lequel les données sont soumises est simple.
- API complète pour le rendu des données et la création de graphiques, tableaux de bord, graphiques
- Fournit un ensemble riche de bibliothèques statistiques et de fonctions de rendu transformatives
- Chaîne plusieurs fonctions de rendu pour construire une requête cible.
QuestDB
QuestDB est une base de données relationnelle orientée colonnes qui peut effectuer des analyses en temps réel sur des données de séries chronologiques. Il fonctionne avec SQL et certaines extensions pour créer un modèle relationnel pour les données de séries chronologiques. QuestDB a été codé à partir de zéro et n'a pas de dépendances qui améliorent ses performances.
QuestDB prend en charge les jointures relationnelles et chronologiques, ce qui facilite la corrélation des données. Le moyen le plus simple de démarrer avec QuestDB est de le déployer dans un conteneur Docker.
Caractéristiques de QuestDB:
- Console interactive pour importer des données par glisser-déposer et les interroger
- Pris en charge sur le cloud natif (AWS, Azure, GCP), sur site ou intégré
- Fournit une intégration d'entreprise avec des fonctionnalités telles que Active Directory, haute disponibilité, sécurité d'entreprise, clustering
- Fournit des informations en temps réel à l'aide d'analyses opérationnelles et prédictives
AWS Timestream
Comment AWS peut-il ne pas figurer dans la liste?
Flux de temps AWS est un service de base de données de séries chronologiques sans serveur, rapide et évolutif. Il est principalement utilisé pour les applications IoT pour stocker des milliards d'événements en une journée et 1000 fois plus rapidement avec un coût de 1 / 10ème de bases de données relationnelles.
Grâce à son moteur de requête spécialement conçu, vous pouvez interroger simultanément les données récentes et les données historiques stockées. Il fournit plusieurs fonctions intégrées pour analyser les données de séries chronologiques afin de trouver des informations utiles.
Fonctionnalités d'Amazon Timestream:
- Aucun serveur à gérer ou instance à approvisionner; tout est géré automatiquement.
- Économique, ne payez que ce que vous ingérez, stockez et interrogez.
- Capable d'ingérer des milliards d'événements par jour sans baisse de performances
- Capacité d'analyse intégrée avec des fonctions SQL standard, d'interpolation et de lissage pour identifier les tendances, les modèles et les anomalies
- Toutes les données sont chiffrées à l'aide du système de gestion des clés AWS (KMS) avec les clés de gestion du client (CMK)
OpenTSDB
OpenTSDB est une base de données chronologique évolutive qui a été écrite sur HBase. Il est capable de stocker des milliards de points de données à des millions d'écritures par seconde. Vous pouvez conserver les données dans OpenTSDB pour toujours avec leur horodatage d'origine et leur valeur précise, afin de ne perdre aucune donnée.
Il a un démon de séries temporelles (TSD) et des utilitaires de ligne de commande. Le démon de séries temporelles est responsable du stockage des données dans HBase ou de leur récupération. Vous pouvez parler à TSD à l'aide de l'API HTTP, de telnet ou d'une simple interface graphique intégrée. Vous avez besoin d'outils tels que flume, collectd, vacuumetrix, etc., pour collecter des données de diverses sources dans OpenTSDB.
Fonctionnalités d'OpenTSBD:
- Peut agréger, filtrer, sous-échantillonner les métriques à une vitesse vertigineuse
- Stocke et écrit les données avec une précision de la milliseconde
- Fonctionne sur Hadoop et HBase et évolue facilement en ajoutant des nœuds au cluster
- Utilise l'interface graphique pour générer des graphiques
Conclusion
Étant donné que de plus en plus d'appareils IoT / intelligents sont utilisés ces jours-ci, un énorme trafic en temps réel est généré sur des sites Web avec des millions d'événements par jour, les échanges sur le marché augmentent et la base de données de séries chronologiques est arrivée! Les bases de données de séries chronologiques sont indispensables dans votre pile de production pour optimiser.
La plupart des bases de données de séries chronologiques énumérées ci-dessus sont disponibles pour l'auto-hébergement, alors allez-y, obtenez un machine virtuelle cloud et essayez de voir ce qui fonctionne pour vous.