InfluxDB 0.9.0 en approche et compatible Raspberry Pi

Je vous avais parlé d’InfluxDB il y a de ça quelques temps pour mon futur project de domotique mais aussi juste pour ceux qui souhaitent l’installer sur le Raspberry. Aujourd’hui une petite annonce à propos de la future version d’InfluxDB qui devrait bientôt sortir.

Ce que j’aime dans cette base de données c’est son optimisation pour entre autre accéder très rapidement à des données basées sur le temps. Il est ainsi très facile d’y écrire le suivi d’une consommation CPU, d’espace disque, de température, etc. La lecture des données est elle aussi rapide avec un langage basé sur le SQL avec des fonctions de regroupement et de manipulation permettant de récupérer simplement de grands volumes de données.

La nouvelle version va apporter son lot de nouveautés avec en résumé :

  • Clustering. La partie la où le Raspberry Pi est peut être le moins concerné. Une nouvelle gestion des clusters avec à terme une capacité de traitement de 1 à 2 millions d’enregistrements par seconde. Si vous êtes à ce niveau pour de la domotique, vous me faites peur ! 🙂
  • L’ajout de tags. Il sera possible d’ajouter des metadata sur les colonnes de type string. Ces tags seront indexés, facilitant ainsi la recherche comme par exemple : quels sont les capteurs du 1er étage ? Vous pouvez ainsi en une requête simple donner l’évolution de la température dans une pièce sans avoir à gérer des tables en plus. Juste avec un tag sur les données reçues. Chaque tag devenant une série, la base pouvant stocker des millions de séries, le travail est grandement simplifié.
  • API. En plus d’un nettoyage, le principe des requêtes continues est revu. Pour rappel, les requêtes continues permettent une consolidation des données de plusieurs séries au fur et à mesure de leur arrivée. Un gain en terme de performances puisque c’est le moteur lui même qui gère ça et non l’utilisateur avec plusieurs requêtes. Exemple : vous voulez interroger plusieurs séries de capteurs, qui donnent une température, à l’extérieur de la maison et avoir leur évolution sur 24h. les requêtes continues vont enregistrer les données dans une série dédiée et en une requête vous aurez toutes les données à jour.
  • Moteur de stockage. Là aussi une simplification. Si vous aviez vu mon article sur la compilation d’InfluxDB sur le Raspberry, vous aviez vu que c’était un peu galère car il fallait installer plusieurs librairies en fonction des 4 moteurs possibles. Cette fois, un seul moteur pour tout faire tourner : BoltDB. Je vous donne le lien de l’analyse des différents moteurs et pourquoi ce choix (nombre de fichiers ouverts, vitesse d’écriture, capacité de récupération en cas d’arrêt, backup, etc.)
  • 100% Go. Une découverte pour moi ce langage. Plus de C ou C++. Que du Go. Et le truc assez incroyable c’est la vitesse de compilation du package ! Comme un compilateur Go existe sur le Raspberry alors vous pouvez avoir InfluxDB.

Pour rappel, le serveur web intégré à InfluxDB est toujours présent. Après compilation vous lancez influxd et vous vous connectez sur le port 8083 de votre serveur. Vous pouvez alors administrer votre base et jouer avec.

Vous avez aussi tout un package pour créer des dashboards avec Grafana

source : grafana.org

Donc si vous souhaitez tester cette base de données, vous pouvez regarder sur cette page où se trouve toutes les instructions. C’est vraiment simple et en dehors de l’installation du compilateur Go, tout se passe relativement vite (un peu moins de 20 minutes au total). Donc pourquoi s’en priver ? 🙂

Vous aimerez aussi...