Alimenter des charges de travail IoT et de séries chronologiques avec TimescaleDB pour Azure Database pour PostgreSQL

Publié le 18 mars, 2019

Principal Program Manager, Azure SQL Engineering

Nous sommes ravis d’annoncer un partenariat avec Timescale qui introduit la prise en charge de TimescaleDB sur Azure Database pour PostgreSQL pour les clients qui créent des charges de travail IoT et de séries chronologiques. TimescaleDB a fait ses preuves en production dans divers secteurs, notamment le pétrole et le gaz, les services financiers et la fabrication. Ce partenariat renforce notre engagement à soutenir la communauté open source afin de fournir à nos utilisateurs les technologies les plus innovantes que PostgreSQL peut offrir.

La solution TimescaleDB vous permet d’effectuer une mise à l’échelle pour une ingestion rapide et des requêtes complexes, tout en prenant en charge de manière native SQL dans son ensemble. Elle exploite PostgreSQL en tant que composant principal essentiel, ce qui signifie que les utilisateurs bénéficient de la familiarité et de la fiabilité de PostgreSQL, ainsi que de la scalabilité et des performances de TimescaleDB. L’activation de TimescaleDB sur votre serveur Azure Database pour PostgreSQL, nouveau ou existant, vous évite d’avoir à exécuter deux bases de données pour collecter des données relationnelles et de séries chronologiques.

Par où commencer

Si vous ne possédez pas déjà de serveur Azure Database pour PostgreSQL, vous pouvez en créer un avec la commande Azure CLI z postgres up. Ensuite, exécutez la commande suivante pour ajouter TimescaleDB à vos bibliothèques Postgres :

az postgres server configuration set --resource-group mygroup ––server-name myserver --name shared_preload_libraries --value timescaledb

Redémarrez le serveur pour charger la nouvelle bibliothèque :

az postgres server restart --resource-group mygroup --name myserver​

Connectez ensuite votre base de données Postgres, puis exécutez la commande suivante :

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

Vous pouvez maintenant créer un hypertable TimescaleDB à partir de zéro ou migrer vos données de série chronologiques existantes. Pour plus d’informations sur TimescaleDB et sur les autres extensions dans Azure Database pour PostgreSQL, consultez la documentation « Extensions PostgreSQL dans une base de données Azure pour PostgreSQL ». 

Postgres avec TimescaleDB en tant que base pour les applications IoT

PostgreSQL active de nombreux scénarios IoT. Pour en savoir plus, consultez le billet de blog Créations d’applications IoT avec Azure Database pour PostgreSQL. Avec TimescaleDB, cette expérience est encore meilleure. Les organisations IoT peuvent maintenant également exploiter les insights cachés dans les données générées par des machines pour créer des fonctionnalités, automatiser des processus et gagner en efficacité.

Stimulation Solution
Les appareils IoT génèrent beaucoup de données qui doivent être stockées efficacement. TimescaleDB partitionne automatiquement les données en blocs à mettre à l’échelle pour ces types de charges de travail.
Les données IoT sont complexes, dans le sens où elles associent des métadonnées d’appareil, des données géospatiales et des données de séries chronologiques. TimescaleDB associe des fonctionnalités relationnelles à des fonctionnalités propres aux séries chronologiques et est compatible avec d’autres extensions PostgreSQL, notamment PostGIS.
Plusieurs utilisateurs doivent avoir accès aux données IoT (par exemple, des utilisateurs internes pour les analyses ou des utilisateurs externes pour exposer les données en temps réel). TimescaleDB comprend SQL dans son intégralité, car il s’agit d’un langage de requête familier pour l’ensemble des organisations.
Les données IoT nécessitent des pipelines d’acquisition divers et personnalisables nécessitant une base de données avec un vaste écosystème. TimescaleDB hérite de l’ensemble de l’écosystème d’outils et d’extensions de PostgreSQL.
Les applications IoT sont constituées de données en leur centre et doivent être stockées dans une base de données fiable. TimescaleDB hérite des plus de 20 ans de fiabilité et de stabilité de PostgreSQL.

TimescaleDB offre des caractéristiques de performances intéressantes en plus de PostgreSQL. Pour les cas d’usage IoT qui exploitent fortement les données de séries chronologiques, TimescaleDB implémente le partitionnement automatique de blocs afin de prendre en charge des vitesses d’insertion élevées. Vous trouverez ci-dessous une comparaison d’Azure PostgreSQL avec et sans TimescaleDB et de la dégradation de performances observée lors des insertions au fil du temps. Vous pouvez imaginer qu’avec des cas d’usage IoT comportant de grandes quantités de données de séries chronologiques, l’utilisation de TimescaleDB peut s’avérer très utile pour les applications IoT nécessitant à la fois des fonctionnalités relationnelles et de la scalabilité.

Comparaison d’Azure PostgreSQL avec et sans TimescaleDB et de la dégradation de performances observée dans les insertions au fil du temps.

Remarque : Génération de calcul 5 à usage général avec 8 vCores, 45 Go de RAM avec Stockage Premium

Bien que l’IoT soit un cas d’usage évident pour une base de données de séries chronologique, les données de séries chronologiques existent en réalité partout. Les données de séries chronologiques sont essentiellement collectées dans le temps avec un timestamp associé. Avec TimescaleDB, les développeurs peuvent continuer à utiliser PostgreSQL, tout en utilisant TimescaleDB pour s’adapter aux charges de travail de séries chronologiques.

Étapes suivantes

Comme toujours, nous vous encourageons à laisser des commentaires ci-dessous. Vous pouvez également vous familiariser avec Azure Database pour PostgreSQL via notre page de commentaires et nos forums si vous avez des questions ou des suggestions de fonctionnalités.