Expand description
Пока эти модули не нужны, в будущем скорее всего можно удалить Представление всех сообщений в унифицированную модель.
Иногда с сообщениями необходимо работать унифицированным способом. Например:
- итерироваться по массиву сообщений
- сохранять поток сообщений в базу данных
- и т.д.
За основу взята модель EAV. К
стандартным полям entity
, attribute
, value
добавлена метка времени (ts
) и поля для
поддержки аггрегации (agg
, aggts
, aggnext
).
Поток сообщений представляет из себя временной ряд (timeseries). Сообщения могут поступать часто, хранить долговременно не всегда имеет смысл. Поэтому значения можно прореживать (аггрегировать). У разных значений могут быть разные требования к аггрегации. Например:
- текущее показание температуры - можно сохранять среднее, минимум, максимум
- счетчик с нарастающим итогом - можно сохранять приращение (инкремент) за промежуток аггрегирования
- события - авария, команда - сохранять все значения, или сохранять кол-во событий за промежуток времени
Для поддержки этого механизма и предусмотрены поля agg
, aggts
, aggnext
.
Structs§
- Представление значения сообщения в виде модели EAV
Enums§
- Тип аггрегации
- Тип сохраняемого значения