A
system for storing aggregated sensor data in a
relational database, comprising: a storage facility; one or more
processing units coupled to the memory; and one or more computer-readable storage media that store instructions which, when loaded into memory, cause one or more
processing units to perform operations that include: by means of a data collection service (120, 312) periodically reading sensor data from a plurality of devices from a streaming service (114), wherein each device of the plurality of devices comprises one or more hardware sensors; Determining a set of attributes or
metadata elements to be applied to the sensor data and annotating the sensor data by a tagging component to produce tagged data, wherein the
annotation of the sensor data includes adding
metadata to the sensor data or editing
metadata of the sensor data, wherein the one or more hardware sensors are grouped into one or more indicator groups, and wherein the tagged data is stored as
time series data in a
data store; by an aggregation engine (356), aggregating data for a group by generating one or more aggregated values from the tagged data stored in the
data store; through an aggregation engine (356), writing the aggregated values as aggregates in a semi-structured format back into data storage; and by a
database writer (374), instantiating a
relational database table, wherein the
relational database table comprises for each respective hardware sensor in an indicator group a respective column in which aggregate values for the respective hardware sensor are stored; and Calling a data read method to retrieve data for the aggregates and writing the aggregates to the relational
database table.