Отношения в InfluxDB - PullRequest
0 голосов
/ 30 мая 2019

У меня объектно-ориентированный дизайн, мне нужно «преобразовать» измерения в InfluxDB. Существуют объекты (A, B, C, D) со связями, и эти объекты изменяются во времени (таким образом, база данных временных рядов).

A -> B -> C
      \-> D

Каков общий способ связывания данных в InfluxDB? Конечно, есть обязательная временная метка. Но я хотел бы сказать, что конкретное событие C произошло для конкретного события B.

Моя идея - теги, содержащие уникальные идентификаторы:

INSERT A,mytag=foo,id=<unique_hash> value="aaa"
INSERT B,A_id=<unique_hash_of_A>,id=<unique_hash>,mytag=foo2 value="bbb"
INSERT C,B_id=<unique_hash_of_B>,mytag=foo3 value="ccc"

или измерение, содержащее уникальные идентификаторы:

INSERT A_<unique_id>,mytag=foo value="aaa"
INSERT B_<unique_id>,mytag=foo2 value="bbb"
INSERT C_<unique_id>,mytag=foo3 value="ccc"

Оба решения могут работать, но мне кажется, что это неправильно. Может быть, InfluxDB не является правильным решением для этого (TimescaleDB предоставляет отношения), и единственный способ, как это сделать в InfluxDB, - это такие хаки?

...