A success story:Senseforce

Senseforce is on a mission to change the narrative around machine manufacturing by empowering small and medium-size enterprises with a fully-featured industrial Internet of Things technology platform that allows them to deploy production-ready apps, and create better products and services. They rely on TimescaleDB as a centralized datastore for all their IIoT data and machine metrics. As a core element of their product, they count on TimescaleDB to be reliable, stable, and scalable in order to keep up with their growing business.

UserAndreas Nigg
TitleChief Technology Officer
CompanySenseforce
IndustryManufacturing / Industrial IoT
Use casesIoT Applications / Industrial Telemetry

“TimescaleDB excels in operation stability, scalability, and feature density. These are core competencies for a successful time-series database.”

- Andreas Nigg, CTO, Senseforce
Sensefore interface
A snapshot of Senseforce's dashboard, which they call "Data-Apps". It includes live graphs of motor torques and gantry speed at the top, and statistical distribution of motor load (or motor utilization) at the bottom. Their customers' engineering teams use these graphs to watch their machines in the field and try to find potential optimizations.

Why Senseforce Chose TimescaleDB

Senseforce provides an Industrial IoT (IIoT) solution for thousands of small and medium-sized enterprises (SMEs) that make up the backbone of the European machine manufacturing industry. Their offering is different from other solutions because they want to empower machine experts to work with data and create value for the organization (no advanced IT know-how required).

As a result, they’ve built a product that makes data easily accessible, usable, and flexible — so everyone can act as a data scientist. This low code and highly streamlined approach drastically reduces integration efforts and setup costs compared to the similar solutions. They’ve won several awards for their innovative IIoT offering such as the Austrian State Price for Deep Tech and the Innovation Award of the Austrian Maintenance and Plant Management Association (ÖVIA).

Senseforce plans to scale their business as the need for a high-performance and flexible IIoT solution continues to grow. Subsequently, the Senseforce team realized early on that they needed a time-series database that was able to scale with them in the future. After evaluating all the options, Senseforce chose TimescaleDB.

Sensefore metrics interface
Sample Senseforce Data-App Productivity Customer Portal. The gauges show productivity (how my machine is performing vs. other stable machines) and the table illustrates anomaly detection (which pulls in 10 million rows of data stored in TimescaleDB).

Seeking scalability and stability

Initially, Senseforce was using CrateDB to store their time-series data. As the amount of data began to grow, Senseforce required a more robust and complete database to handle the increasing demands in operational efforts.

Senseforce began to look for other solutions and came across a Timescale blog post on using a relational database (specifically Postgres + TimescaleDB) for IoT workloads. The blog directly addressed several issues for Senseforce's development and operations team. After learning about how TimescaleDB is built on the highly trusted PostgreSQL core technology, and has enticing built-in time-series features like

time_bucket
and
time_bucket_gapfill
, the team was ready to get started.

As a result, Senseforce initiated a benchmarking and testing project which resulted in a high degree of satisfaction for TimescaleDB. Here’s an overview of the results.

The initial tests clearly showed TimescaleDB’s potential to power huge datasets with a single node. Senseforce benchmarked eight 8-core, 32GB RAM D8s_v2 Azure CrateDB instances (previous production-like setup) with one 16-core, 64GB RAM D16s_v2 TimescaleDB instance.

Senseforce query execution time interface

TimescaleDB met and even exceeded all of Senseforce's query speed requirements. Senseforce reported that the main advantage of TimescaleDB was observed when watching the CPU utilization. A single query on CrateDB would max out all 64 cores of the benchmarking setup, whereas single TimescaleDB queries only require 1-6 cores.

The latter finding clearly demonstrated to Senseforce that they could scale with TimescaleDB. Each Senseforce customer onboards about 20-150 users so the low CPU demand for single queries was a main requirement for their scaling needs.

“TimescaleDB excels in supporting and building its community.

TimescaleDB excels in supporting and building its community. When we first set up our architecture, we asked several questions via the public Slack channel and got very quick, technical responses. I've not seen this type of activity from any other database solutions out there. Timescale’s active community of developers is yet another reason for why you'd want to use this solution.”

- Andreas Nigg, CTO, Senseforce

Leveraging advanced time-series analytical features

In addition to providing the performance and stability they needed, it was important to Senseforce that TimescaleDB had analytic capabilities for working with time-series data. Senseforce was impressed with Timescale’s product roadmap and the frequency with which Timescale ships new functionality. They set out to immediately take advantage of these features.

Senseforce makes heavy use of several TimescaleDB features that are particularly useful for an IIoT use case. For example, they use data reordering, continuous aggregations, and data tiering to reduce operational complexity and total cost of ownership (TCO).

Senceforce’s solution allows its customers to compare and analyze a variety of different data points (i.e., operational statistics compared to axis speeds). Since they offer this capability, data is often not sampled at the exact same timestamp. They use time_bucket and time_bucket_gapfill to allow for a new analytical feature set with their low-code offering.

For example, the image below shows a Senseforce user’s dataset which was created using the Senseforce “point and click” query editor. In order to obtain this view, a SQL statement was generated in the background and sent to TimescaleDB. When the column “Speed Axis 1” changes on the machine, an update is immediately sent to the cloud. However, “Speed Axis 2” does not change at the same time, so an update is not sent the exact same timestamp, resulting in “no data”.

Making sense out of this irregular data was very cumbersome for many use cases and Senseforce customers need to manually write scripts instead of using the “point and click” low-code editor. With

time_bucket_gapfill
functionality however, Senseforce can simply fill the “no data” gaps and make analytics much easier for their users.

Senseforce also plans to continue to take advantage of TimescaleDB continuous aggregates. Their customers like to analyze raw machine data over the course of a month, but only want to see the aggregate values. They believe that continuous aggregates will help dramatically reduce costs internally and speed up their customers’ query performance.

Senseforce data import

Building a high-performance infrastructure monitoring stack

Since TimescaleDB is built on top of Postgres, Senseforce felt confident in the database’s infrastructure when it came to reliability and stability. And since anything that works with PostgreSQL works with TimescaleDB, Senseforce is able to use pgAdmin as their management tool of choice.

In order to make their machine data actionable, Senseforce connects TimescaleDB to two places: their core microservice platform and their award winning analytics/action framework frontend. Senseforce’s devices connect to a  HiveMQ  broker which they connect with a decoupling plugin to TimescaleDB.

Overview of how Senseforce deploys TimescaleDB

Senseforce arcitecture
Senseforce arcitecture interface
Senseforce low-code solution UI, optimized to enable machine experts to work with data.

“Query speed is always important, but for us, the biggest advantage to using TimescaleDB is its operational stability and query scalability.”

- Andreas Nigg, CTO, Senseforce

Sensing a winning solution

Senseforce remarked that replacing existing technologies with new ones isn’t always an easy task. However, the Timescale Community made it easier for them by offering support every step of the way. By powering their IIoT technology stack with TimescaleDB, Senseforce feels confident that their database will be able to scale with their growing business.

Identify with Senseforce's use case?
Contact our team to learn more

I'd like to know more