Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
Hi, ThingWorx users!
We’re excited to share that we have partnered with InfluxData to make time series analysis in ThingWorx even easier. InfluxDB is a database by InfluxData that is “built specifically for metrics and events that empower developers to build next-generation IIoT, analytics and monitoring applications.”
Why InfluxData?
Today, application developers expect robust querying capabilities, fast response time, easy ways of aggregating and pivoting on data and leveraging results for reporting and visualization. IT and devops administrators also expect cost-effective storage and easy ways of aging data through archiving and the ability to keep large amounts of historical data to satisfy analysis requirements.
That’s why we’ve partnered with InfluxData to make it easier for developers to store, analyze and act on IIoT data in real-time. With InfluxData, developers can build connected IIoT applications more quickly while still incorporating the following capabilities:
We considered a few technologies for the purpose of improving ThingWorx time series analysis. Here are a few reasons we chose InfluxData:
* Query and write times will vary based on an individual ThingWorx application’s implementation with Influx. For example, as the number of concurrent reads increases, the query speed decreases. With the upcoming 8.4 release, the ThingWorx Sizing Guide will be updated to reflect representative performance for ThingWorx developers.
In addition to improved query capability, ThingWorx time series with Influx can now use less memory and CPU, giving your platform servers a bit of a break.
To start strategizing on how InfluxData can help you in your ThingWorx journey, here is a sneak preview of what it will look like:
New Features
The new ThingWorx Influx Persistence Provider will make query services like ValueStream Thing QueryPropertyHistory, Stream Thing QueryStreamData and QueryStreamEntries even better. Simply create a new instance of the persistence provider, configure it to use your InfluxDB instance, create a new value stream (or stream) from the new persistence provider, and you’ll be writing, reading and analyzing your time series data like never before.
We’re also introducing a new enhancement to improve InfoTable support with time series data, including providing the ability to use a driver property. The driver property can be specified with the QueryPropertyHistoryWithDriverProperty service for time alignment and filling backward/forward in your stream queries.
Let’s walk through a driver property example where you have the properties of temperature, speed and battery level.
Timestamp |
Temperature |
Speed |
Battery Level |
1480589076592000000 |
80.003 |
5012 |
79 |
1480589077537000000 |
80.010 |
5011 |
79 |
1480589077550000000 |
80.010 |
5009 |
79 |
1480589077562000000 |
80.030 |
5011 |
78 |
Let’s say temperature is the key driver for your analysis. In other words, you are not concerned if speed or battery level changes—you only care about when temperature changes. We can specify temperature to be the driver property for that particular time and only return stream values for temperature, speed and battery level when temperature changes. If speed or battery level changes (but temperature does not change), the rows associated with those changes would not be included in the results set because neither speed nor battery level is a driver property. See chart below.
Timestamp |
Temperature (driver) |
Speed |
Battery Level |
1480589076592000000 |
80.003 |
5012 |
79 |
1480589077537000000 |
80.010 |
5011 |
79 |
1480589077562000000 |
80.030 |
5011 |
78 |
Note that only three of the four rows are returned above because one entry in the original table did not have a change in temperature.
Stay Tuned
Look out for these time series improvements and InfluxData integration in our upcoming 8.4 release. I’ll be sure to keep you updated on additional new features coming in our next release (like Orchestration and Mashup Builder 2.0), so check back shortly or subscribe to this Community so we can stay in touch. As always, if you have any questions, just ask Kaya!
Stay connected,
Kaya
Is this connector a build in functionality of thingworx core or do I need to install an extension. if last, where do I get this extension. And is there an official video/powerpoint for a "getting started with influxdb @ thingworx" ?
Hi Stefan,
This functionality is currently only available within PTC. I will reach out to you directly.
To External Users: This functionality will become available in the ThingWorx 8.4 release, coming in late January 2019.
Stay connected,
Kaya
The setup and configuration will be quite straight forward.
Check out Using InfluxDB as ThingWorx 8.4 Persistence Provider for configuring ThingWorx 8.4