Разработка схемы для базы данных временных рядов

#database-design #time-series

Вопрос:

Я разрабатываю решение для хранения данных, собранных с устройств, и в настоящее время обдумываю разработку схемы. В частности, моя проблема заключается в хранении экземпляров одной и той же метрики. Например, при сборе текущей загрузки процессора 8-ядерного чипа метрика «cpu_load» будет поступать в базу данных 8 раз за одну и ту же дату и время. Я хотел бы иметь следующую структуру таблицы временных рядов (пока не уверен, что временная шкала или база данных influx), но не уверен, как обрабатывать экземпляры одной и той же метрики:

  1. время,
  2. идентификатор устройства,
  3. metric_id,
  4. ценность

Я уверен, что это распространенный сценарий, но я не могу найти элегантного решения.

Ответ №1:

Я не уверен насчет элегантности, но здесь все просто.

 Value
-----
Value ID
Device ID
Metric ID
Timestamp
Value
 

Где Идентификатор значения-это автоматически обновляемый целочисленный первичный ключ, и у вас есть уникальный индекс (Идентификатор устройства, идентификатор метрики, Временная метка по убыванию).