We deployed an Azure TSI Preview ingesting messages coming from an IoT Hub. We are wandering what would be the best practice that applies when there are events that are generated by different type of devices with no intersection of properties.
Consider, as example, messages coming from a device of type A:
{
"timestamp" : "2019-02-25T01:08:00Z",
"devicetype" : "a",
"windspeed" : 10,
"airpressure" : 101300
}
and messages coming from a device of type B
{
"timestamp" : "2019-02-25T01:09:00Z",
"devicetype" : "b",
"temperature" : 26.5,
"humidity" : 22.5
}
where timestamp
is the column used as the source timestamp and devicetype
the column used as the Time Series ID.
Following the doc, and checking out the resulting events in the explorer, the resulting output would looks like
timestamp | devicetype | windspeed | airpressure | tempearature | humidity
2019-02-25T01:08:00Z | a | 10 | 101300 | |
2019-02-25T01:09:00Z | b | | | 26.5 | 22.5
In practice, we have devices of different types that will never share any properties. Therefore,
- Are we going to get the same degree of performance for speed and memory allocation (blob)?
- Are we wasting space?
- Is there a better way to organize the events?
- What if we change the properties and introduce a common field?
Thanks :)