cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

15 FAQs on ThingWorx with InfluxDB

100% helpful (1/1)

image 

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.

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!

Comments

Great FAQ - thank you!

 

I really like the compression, interpolation, retention policies, and down-sampling features.  These are really great ways to be able to capture and use time series data with less concern on having data bloat over the years and struggling to work with and backup such large volumes of data.

 

So how does a ThingWorx developer manage and configure these sorts of functionality; as I'm sure that it won't be from within ThingWorx?

 

I am also wondering how ThingWorx works with the InfluxDB for cases where InfluxDB is already in place and being used by a number of applications?

How is difference between influxdata and MSSQL or postgres ?

Hi @ssriuaipornchai ,

 

I just spoke with Ayush, our database expert. Here's what he had to say:

 

"ThingWorx includes several persistence provider implementations that enable you to choose a database option that best fits your use case. ThingWorx has the ability to leverage multiple data stores, which provides immense flexibility that best meets your IT preferences and investments. Here is our ThingWorx Model and Data Best Practices Guide to help you decide which persistence provider to choose: Microsoft SQL, AzureSQL, PostgreSQL or InfluxDB for your production IoT data storage needs."

 

Stay connected,

Kaya

Influx is built and optimised for high-speed, high-scale, long-term time-series data storage, retrieval, and management.  This is not the case with any RDBMS.

Hi. This is great news. But is it not in all versions of ThingWorx? Doesn't seem to be in Foundation.

 

What version of ThingWorx is required to see the Influxdb persistency provider? It doesn't seem to be in the foundation version from https://developer.thingworx.com/en/resources/downloads

 

Also, the "ThingWorx Free Trial for Manufacturing" download seems broken.

InfluxDB is included with all Commercial Versions of ThingWorx. It could be that the Trial version has not this connector.

InfluxDB has two versions. One community free edition and a commercial edition. ThingWorx run with both editions. I have my ThingWorx setup on docker with a docker image of the community Edition of InfluxDB. The connector is included since Version 8.4. There are step-by-step instructions on the PTC support page on how to get InfluxDB connected. If your ThingWorx version support InfluxDB you can see under the PersistanceProviders. There should be an entry for InfluxDB.


@StefanBode wrote: MyPrepaidCenter

InfluxDB has two versions. One community free edition and a commercial edition. ThingWorx run with both editions. I have my ThingWorx setup on docker with a docker image of the community Edition of InfluxDB. The connector is included since Version 8.4. There are step-by-step instructions on the PTC support page on how to get InfluxDB connected. If your ThingWorx version support InfluxDB you can see under the PersistanceProviders. There should be an entry for InfluxDB.


ThingWorx includes several persistence provider implementations that enable you to choose a database option that best fits your use case. ThingWorx has the ability to leverage multiple data stores, which provides immense flexibility that best meets your IT preferences and investments.

I'm also looking for clarity on how Thingworx manages Influx downsampling techniques and property history retrieval for longer term retention policies.

Hi @Kaya ,

If I Choose the Influx DB from Azure Marketplace, and set it up, will the Time series data be stored in Azure Cloud or in he influx Cloud ?

Thanks,
Shashi.

ThingWorx connects to InfluxDB via the standard interface (line protocol over HTTP/S) so it can be either of the options you mentioned.  In the case that it is the Azure Marketplace InfluxDB Enterprise, this is a self-hosted deployment so the customer would host/manage the environment.  Note that this would run InfluxDB 1.X.  In the InfluxDB Cloud hosted offering it is InfluxData who hosts and manages it, and it is InfluxDB 2.X.

Hi @geva ,

Thanks for the info, but the end Client requirement is "To Store data only in Azure" not again in any third party instances. So If I Use Influx from Marketplace of azure and setup InfluxDB, will the data store in the Azure or will it be with Influx ?

I know that, Influx only uses the Azure AKS and VM's to setup the Instance, but will the data be stored in Azure ?

Thanks,
Shashi.

If you manage your own instance and you have our own InfluxDB it is hosted where you installed your DB. This is 100% your decision.

 

If you are operating ThingWorx with PTC, then PTC uses InfluxDB 2.0 SaaS services. We do not host any system, but using the shared Instance of InfluxDB. As with all SaaS services there is no guarantee or information what cloud systems are used. Sometimes it is also a mixture of different systems because as a SaaS company you do not care about Azure/AWS and so on, but you care about the SaaS Services you get. Sometimes AWS is great and on another Service Azure. Even if InfluxDB now is telling you they operate on AWS this can change tomorrow.

 

Hi @StefanBode ,

Thanks for the reply, but More confused now, if we setup INFLUX with Azure Marketplace will data resides with Influx Cloud or with Azure ?

Thanks,
Shashi.

The Azure Marketplace is for Microsoft partners who provide applications or solutions which run on Azure; so yes the data would reside in Azure in either of the cases.  You can read the details and follow the links on the InfluxDB Cloud for Azure page on the marketplace.

Hi @geva ,

Thanks a lot for the confirmation.

Thanks,
Shashi.

You are quite welcome!

upload_-aW1hZ2UwMDEucG5n-5508724771225015692..png

Greg EVA (he/him)
Enterprise Architecture Community Lead, Solutions Consulting

E-mail: geva@ptc.com
Office: +33 4 72 52 59 50
Mobile: +33 6 67 50 35 77

ptc.com

upload_-aW1hZ2UwMDMucG5n-2435577437571587155..pngupload_-aW1hZ2UwMDMucG5n-2435577437571587155..pngupload_-aW1hZ2UwMDMucG5n-2435577437571587155..png

Version history
Last update:
‎Feb 28, 2019 06:00 PM
Updated by:
Labels (1)