Как сохранить версионные данные в измерении InfluxDB? - PullRequest
0 голосов
/ 28 декабря 2018

Я хотел бы использовать InfluxDB для хранения данных прогноза.Каждый прогноз имеет дату выпуска, целевую дату и значение.Я получаю несколько прогнозов с разными датами выбросов для одной и той же целевой даты.

Я хотел бы иметь возможность получить

  1. самый последний прогноз (тот, что с самой последней датой выбросов) длякаждая целевая дата,
  2. все прогнозы с определенной датой выброса.

1 Ответ

0 голосов
/ 03 января 2019

По сути, вы будете ожидать, что ваш прогноз emission_dates будет сохранен как часть поля time, затем target_dates как тег и, наконец, сохраните ваш value в поле значения.

Пример:

name: forecast
time                target_dates        value
----                ------------        -----
1546516616386036270 1546000000000000000 500
1546516616390715128 1547000000000000000 600
1546516616734277026 1548000000000000000 700

Причина, по которой я выбрал target_dates в качестве тега, заключается в том, что теги проиндексированы.Если вы не знаете об индексации, вы можете узнать больше здесь .

См. В разделе «Почему индексация имеет значение: тематическое исследование схемы»

Эта схема соответствует вашему требованию, поскольку;

  1. Чтобы получить последний прогноз на основена дату эмиссии вы можете сделать SELECT * from forecast order by DESC limit 1

  2. , чтобы получить весь прогноз на определенную дату эмиссии.Просто сделайте SELECT * FROM "forecast" WHERE "target_dates" = '1547000000000000000'

Здесь стоит отметить, что target_dates выше имеет формат epoch time, вы должны иметь возможность сохранять любой формат строки даты и времени, который вы хотите.

...