У меня есть несколько устройств, которые выдают данные временных рядов:
[deviceID],[time],[value]
Я использую графит для отслеживания этих данных, но этот вопрос относится и к другим базам данных.
Я определил сохранение/точность данных как 5 секунд, поэтому каждое устройство будет иметь только одно значение за 5 секунд, что является средним значением всех наблюдений, сделанных им за этот период. Например, если это реальные измерения:
device1 1/1/2012 08:00:00 12
device1 1/1/2012 08:00:01 10
device2 1/1/2012 08:00:01 2
device1 1/1/2012 08:00:02 14
Тогда сохраненные данные будут:
device1 1/1/2012 08:00:00 12
device2 1/1/2012 08:00:00 2
Как я могу запросить среднее значение для обоих устройств за этот период времени? Я не могу просто взять их среднее значение по сохраненным данным (= 7), так как оно смещено вниз, поскольку не учитывается, что на устройстве 1 было больше измерений. Нужно ли отслеживать среднее значение для каждой пары/тройки устройств? Может быть, лучше вообще не делать агрегации и получить максимальную гибкость? Или принято не разрешать такие кросс-девайсные запросы, если это просто хорошая функция?