Question: What should I know about using ThingWorx with InfluxDB to store my time series data?
Hi, ThingWorx users!
It’s here! Thanks for waiting patiently since my previous post announcing ThingWorx’ new support of InfluxDB as a time series persistence provider.
As of our 8.4 release, you can now use InfluxDB to store your ThingWorx time series data with incredible power and ease.
Want to learn more? Check out the following FAQs:
1. What is InfluxDB? Who is InfluxData?
InfluxDB is a time series database designed to handle high write and query loads. It is meant to be used as a backing store for any use case involving large amounts of timestamped data, like monitoring, application metrics, IoT sensor data, and real-time analytics that you’d find in ThingWorx.
InfluxDB is created by InfluxData, an awesome company that we are proud to call a PTC partner.
2. When would I want to use InfluxDB for IIoT?
While the ThingWorx IIoT platform supports multiple databases to persist IIoT data and is agnostic when it comes to the storage layer, InfluxDB is the ideal choice for time series. When the number of connected devices increases, along with the amount of streaming data, the need to have a high-scale telemetry database choice is obvious.
For very high scale data ingestion, InfluxDB should be used as a persistent provider with the ThingWorx platform for multiple reasons. Its flexibility and ease of use provides native support for standard time series functions, including: sampling, interpolation, time bucketing, aggregation, selector, transformation, predictor, etc. It does all of this while supporting a high compression of data (~45x) with the ability to handle thousands of writes per second and read thousands of rows in milliseconds.
Check out this article by our Enterprise Deployment Center (EDC) explaining why InfluxDB is great for small ThingWorx applications.
3. What are the three different flavors of InfluxDB?
InfluxDB Open Source (TICK Stack), InfluxDB Enterprise & InfluxDB Cloud. Here’s more info on each:
InfluxDB Open Source (TICK Stack): This is the open-source version of the product available to download via the InfluxData website. Also included here are the other projects that comprise the TICK Stack, including:
[T] Telegraf; open source collection agent
[I] InfluxDB; open source time series database
[C] Chronograf; open source visualization application
[K] Kapacitor; open source streaming processing engine; side car to InfluxDB
InfluxDB Enterprise: This is the commercial software version of InfluxDB for high availability clustering and the recommended time series database to be used for production with ThingWorx 8.4 and later.
InfluxDB Enterprise works with the rest of the TICK stack interchangeably (Telegraf, Chronograf, Kapacitor).
InfluxDB Cloud: This is the commercial service version of InfluxDB, hosted on AWS, managed by InfluxData, and delivered as a service to customers.
InfluxDB Cloud works with the rest of the TICK stack interchangeably (Telegraf, Chronograf, Kapacitor).
To learn more about the different modules of InfluxDB (Telegraf, Chronograf, Kapcitor), check out InfluxData Introduction for documentation or InfluxData Products for product info.
4. What is the difference between InfluxDB opensource and enterprise?
InfluxDB Open Source is available in a single (1 only) data node configuration only, albeit with “n” number of vCPU or “cores” provisioned on that single node.
InfluxDB Enterprise is available in multiple (2 or more) data node configuration, also with “n” number of vCPU or “cores” provisioned to each node. The Enterprise edition is generally preferred for production deployments that require high availability, replication, and redundancy. Provisioned along with the data nodes are three (3) meta nodes and a load balancer to distribute data workload across the multiple nodes. Typical configurations are in even increments of data nodes (i.e. 2, 4, 6, 8, etc.).
5. Where can I find the pricing overview for buying enterprise licenses for InfluxDB?
The PTC product and go-to-market team have defined commercial pricing for InfluxDB Enterprise. For help with pricing, reach out to Chris Wensley (cwensley@ptc.com) and Anders Hinrichsen (anders@influxdata.com).
6. How do I configure InfluxDB with ThingWorx?
We’ve outlined the steps for you in the ThingWorx Help Center and created a quick video to instruct you on how to install InfluxDB with ThingWorx.
(view in My Videos)
To see the current version of InfluxDB that we support, read our ThingWorx 9.0 System Requirements guide.
7. How do I configure InfluxDB and ThingWorx in a high availability scenario?
With the ability to leverage multiple data stores, we work to provide the flexibility to best meet the needs of your IT preferences and investments. InfluxDB helps us do that. To configure ThingWorx for High Availability, please refer to this section of the ThingWorx Platform 9 Help Center. To configure InfluxDB for High Availability at the database level, please refer to InfluxData’s documentation on how to Install and deploy InfluxDB Enterprise clusters.
8. Where can I learn more about how to monitor and manage InfluxDB?
Monitoring info for InfluxDB can be found here: Monitoring Tools for TICK Stack.
9. How can I tune and optimize InfluxDB with ThingWorx?
The best approach for running InfluxDB with PTC ThingWorx 8.4 (or later) is to treat the workload and configuration just as you would in a stand-alone deployment. We suggest to stick to the recommendations in the InfluxDB and TICK stack documentation.
10. How do I perform backup and recovery of ThingWorx with InfluxDB?
Please see the ThingWorx Platform Backup and Recovery Planning Technical Brief to plan for back and recovery. You can also find more more details on taking backups and restoring data from InfluxDB in the Backing up and restoring in InfluxDB Enterprise overview.
11. Where can I learn more about sampling, interpolation, time bucketing, aggregation, pivot and other key features of InfluxDB?
Features of InfluxDB can be found here: InfluxData Time Series Platform.
Implementation of InfluxDB features can be found here: Getting Started with InfluxDB.
12. What are all the different persistence providers supported with ThingWorx? When should I use InfluxDB?
ThingWorx supports the following model and data provider storage options:
H2, PostgreSQL, MS SQL Server and AzureSQL
ThingWorx supports the following data provider only storage options:
InfluxDB
Please refer to the model and data best practices section of the ThingWorx 9 Help Center for further information on options how to store your model and data with ThingWorx.
We have also updated the ThingWorx Platform 9.0 Sizing Guide to provide relevant information to estimate the amount of processing and memory that ThingWorx may need to meet your requirements. It also provides guidance on when to use InfluxDB for your scale needs.
13. When should I use InfluxDB over DataStax Enterprise (DSE)?
Here is a good blog post that benchmarks time series data performance of InfluxDB vs. Cassandra, which is the core of DataStax Enterprise (DSE). In specific use cases, InfluxData Enterprise may be more cost effective when compared to similar telemetry use cases with DSE.
14. How can I migrate my data from PostgreSQL to InfluxDB?
Migration from PostgreSQL or MSSQL is supported by the ThingWorx in-built data tools, which can export entities and data from PostgreSQL or MSSQL and then import them into InfluxDB.
Details on how to upgrade to ThingWorx 9.0 can be found in the Upgrading ThingWorx section of the ThingWorx 9 Help Center.
15. Should I use InfluxDB as a time series store rather than OSI PI, IP21, or others?
For ThingWorx 8.4 and later, InfluxDB is the recommended time series store. This can be implemented at the edge with ThingWorx (i.e. “front end”) using the open source edition and can also be implemented at the hub (i.e. “back end”) using either of the commercial editions designed for HA production workloads.
As always, ThingWorx can connect to most industrial software, including OSI PI, IP21, etc. with our integration toolset.
That’s a wrap—almost! We’ve added two extra questions for you.
16. What’s on the roadmap for ThingWorx with InfluxDB?
Key development work to fully leverage built-in InfluxDB querying capabilities and support InfluxDB 2.0 in future ThingWorx releases
Leveraging query operations capabilities from InfluxDB to further improve query performance
Supporting additional native InfluxDB features (e.g. continuous queries)
17. What should I do if I need technical support with InfluxDB?
If you select InfluxDB as your persistence provider, then all support requests related to configuring InfluxDB can be logged through PTC Technical Support at https://support.ptc.com or by calling 1-800-477-6435.
You may also want to use the PTC Community to learn and collaborate with the growing PTC developer community.
For all other requests related to database management, troubleshooting, monitoring, and administration, we encourage you to reach out to InfluxData directly based on your enterprise purchase contract made with InfluxData. PTC customers using InfluxDB can also email ptc-support@influxdata.com for support requests related to InfluxData.
If you’re as excited as I am about the ability to store your time series data with InfluxDB, let me know in the comments below!
Until next time, if you have any questions, just ask Kaya!
View full tip