Blog

Présentation de l'addon Scalingo InfluxDB

Chargement...

5 min de lecture

Présentation de l'addon Scalingo InfluxDB

Notre mission chez Scalingo est d'aider les développeurs à ne pas se soucier de tout ce qui est lié à l'infrastructure. Cela inclut les développeurs travaillant avec des bases de données de séries temporelles (TSDB). C'est pourquoi nous introduisons aujourd'hui le nouvel addon Scalingo InfluxDB vous offrant un InfluxDB en tant que Service intégré à Scalingo !

Notre mission ici chez Scalingo est d'aider les développeurs à ne pas s'inquiéter de tout ce qui est lié à l'infrastructure. Cela inclut les développeurs travaillant avec des bases de données de séries temporelles (TSDB). C'est pourquoi nous vous présentons aujourd'hui le nouvel addon Scalingo InfluxDB vous offrant un InfluxDB en tant que Service intégré à Scalingo !

Que font les développeurs avec une base de données de séries temporelles ?

Tout d'abord, la définition de Wikipedia :

Une base de données de séries temporelles (TSDB) est un système logiciel optimisé pour le traitement de données de séries temporelles, des tableaux de nombres indexés par le temps (une date ou une plage de dates).

Les développeurs œuvrant dans les 3 domaines suivants utilisent certainement une TSDB :

  • Surveillance DevOps personnalisée

  • Analytique en temps réel

  • Données IoT et capteurs





Example of usage of time series data storage in agriculture


Exemple d'utilisation du stockage de données de séries temporelles en agriculture


Fondamentalement, si vous devez stocker une information dans le temps, vous pourriez envisager d'utiliser une TSDB plutôt qu'une base de données relationnelle classique. Comme vous vous en souvenez peut-être, la vue des métriques sur votre tableau de bord Scalingo affiche des données de séries temporelles et, en fait, le micro-service derrière la scène utilise l'addon Scalingo InfluxDB.

Qu'est-ce qu'InfluxDB ?

InfluxDB est une base de données de séries temporelles open source écrite en Go sans dépendances externes. Ses principales caractéristiques sont :

  • API HTTP intégrée, donc vous n'avez pas besoin d'écrire de code côté serveur pour démarrer.

  • Les données peuvent être étiquetées, permettant des requêtes très flexibles.

  • Un langage de requête semblable à SQL.

  • Facile à installer et à gérer, et rapide à faire entrer et sortir des données.

  • Il vise à répondre aux requêtes en temps réel. Cela signifie que chaque point de données est indexé à son arrivée et est immédiatement disponible dans les requêtes qui devraient retourner en < 100ms.

Dans InfluxDB, une information est une combinaison d'un timestamp, d'une mesure (par exemple, cpu_load, temperature) et d'un champ comme la valeur mesurée elle-même. Vous pouvez associer des métadonnées (étiquettes comme dc=paris, host=server01) à cette information.

Comme indiqué dans la documentation InfluxDB :

Conceptuellement, vous pouvez penser à une mesure comme à une table SQL, où l'index principal est toujours le temps. tags et fields sont en fait des colonnes dans la table. tags sont indexés, et fields ne le sont pas. La différence est qu'avec InfluxDB, vous pouvez avoir des millions de mesures, vous n'avez pas besoin de définir les schémas à l'avance, et les valeurs nulles ne sont pas stockées.

Installer InfluxDB sur Scalingo

Pour installer InfluxDB sur Scalingo, il vous suffit de vous rendre sur votre tableau de bord, sous l'onglet Addons d'une application.

Sélectionnez l'addon InfluxDB et choisissez votre plan :



Install Scalingo InfluxDB



Choisissez votre plan :



Choose your plan



N'oubliez pas que nous gérons des sauvegardes quotidiennes pour tout plan payant.

Vous pouvez maintenant ouvrir une console locale interactive pour interroger vos données :

$ scalingo -a my-app influxdb-console
-----> Connecting to container [one-off-1486]...
-----> Process 'influxdb-console my-app-1839' is starting...

---> Download and extract the database CLI
---> Database CLI installed:
InfluxDB shell version: 1.2.0
Connected to http://my-app-1839.influxdb.dbs.appsdeck.eu:31065 version 1.1.1
InfluxDB shell version: 1.2.0
> SELECT sum(value) FROM tweets WHERE hashtag = 'RT' AND time >= now() - 1h GROUP BY time(1m) fill(none) ORDER BY time DESC LIMIT 5
name: tweets
time                sum
----                ---
1486464840000000000 95
1486464780000000000 533
1486464720000000000 525
1486464660000000000 479
1486464600000000000 548
$ scalingo -a my-app influxdb-console
-----> Connecting to container [one-off-1486]...
-----> Process 'influxdb-console my-app-1839' is starting...

---> Download and extract the database CLI
---> Database CLI installed:
InfluxDB shell version: 1.2.0
Connected to http://my-app-1839.influxdb.dbs.appsdeck.eu:31065 version 1.1.1
InfluxDB shell version: 1.2.0
> SELECT sum(value) FROM tweets WHERE hashtag = 'RT' AND time >= now() - 1h GROUP BY time(1m) fill(none) ORDER BY time DESC LIMIT 5
name: tweets
time                sum
----                ---
1486464840000000000 95
1486464780000000000 533
1486464720000000000 525
1486464660000000000 479
1486464600000000000 548
$ scalingo -a my-app influxdb-console
-----> Connecting to container [one-off-1486]...
-----> Process 'influxdb-console my-app-1839' is starting...

---> Download and extract the database CLI
---> Database CLI installed:
InfluxDB shell version: 1.2.0
Connected to http://my-app-1839.influxdb.dbs.appsdeck.eu:31065 version 1.1.1
InfluxDB shell version: 1.2.0
> SELECT sum(value) FROM tweets WHERE hashtag = 'RT' AND time >= now() - 1h GROUP BY time(1m) fill(none) ORDER BY time DESC LIMIT 5
name: tweets
time                sum
----                ---
1486464840000000000 95
1486464780000000000 533
1486464720000000000 525
1486464660000000000 479
1486464600000000000 548
$ scalingo -a my-app influxdb-console
-----> Connecting to container [one-off-1486]...
-----> Process 'influxdb-console my-app-1839' is starting...

---> Download and extract the database CLI
---> Database CLI installed:
InfluxDB shell version: 1.2.0
Connected to http://my-app-1839.influxdb.dbs.appsdeck.eu:31065 version 1.1.1
InfluxDB shell version: 1.2.0
> SELECT sum(value) FROM tweets WHERE hashtag = 'RT' AND time >= now() - 1h GROUP BY time(1m) fill(none) ORDER BY time DESC LIMIT 5
name: tweets
time                sum
----                ---
1486464840000000000 95
1486464780000000000 533
1486464720000000000 525
1486464660000000000 479
1486464600000000000 548

Conclusion

Le monde des bases de données de séries temporelles est maintenant à portée de main d'un simple clic ! Vous pouvez maintenant lister les plans et lire la documentation technique de cet addon.

Yann Klis, Scalingo

Yann Klis

Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.