When we started developing Dasher in late 2009 – back then it had a desktop client – one of the main drivers was around providing an interface to explore IoT data (at the time measuring building performance) responsively in a 3D context. To do this we knew that we needed some way to summarize the raw sensor data at different levels of detail: there was no way we could wait around for the client to query years of sensor data in order to visualize a high-level summary, for instance.
In our time-series back-end the team developed a mechanism we refer to as “roll-ups”, which effectively provides various levels of detail on the data. We have roll-ups that provide a single data point for each of these time periods:
- 1 day
- 6 hours
- 1 hour
- 15 minutes
- 1 minute
- 1 second
- Raw
It may be, of course, that the “raw” resolution has a lower frequency than 1 minute or 1 second – for building sensors it may very well be 5 minutes, for instance – so not all of these roll-ups exist for every…