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:
monitoring
real-time alerting
predictive maintenance
streaming data
anomaly and event detection
visual and report-based analysis
We considered a few technologies for the purpose of improving ThingWorx time series analysis. Here are a few reasons we chose InfluxData:
high compression of data ~45x
ability to handle millions of writes per second*
ability to read around thousands of rows in milliseconds*
supports the standard time series functions of sampling, interpolation, time bucketing, aggregation, selector, transformation, predictor, etc.
* 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
View full tip