Я читаю какой-то унаследованный код и обнаружил, что все вставки в InfluxDB выполняются следующим образом (упрощенный код здесь):
influxDB.write(Point.measurement(myeasurement)
.time( System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.addField("myfield", 123)
.tag("rnd",String.valueOf(Math.random() * 100000)))
.build())
Как вы можете догадаться, значение тега тега "rnd""отличается для каждого значения, что означает, что мы можем иметь 100 000 различных значений тега. На самом деле, на данный момент у нас меньше значений, чем это, поэтому мы должны в конечном итоге иметь одно другое значение тега на значение ...
Я не эксперт в effxdb, но я понимаю, что теги используются effxdbсгруппировать связанные значения вместе, как раздел или шарды в других инструментах. Значения 100k тегов, кажется, много ...
Это так ужасно, как я думаю? Или есть вероятность, что этот тип вставки может быть полезен для чего-то?
РЕДАКТИРОВАТЬ: я только что понял, что Math.random () * является двойной, поэтому * 100000 просто бесполезно. Как String.valueOf (). На самом деле, есть одна серия в базе данных на значение, я не могу себе представить, как это может быть хорошо: (