2016-05-16 2 views
0

В настоящее время я использую (злоупотребляю?) Postgres для хранения данных временных рядов и учитывая количество данных, которые сейчас потребляются. Мне нужно перейти на настоящую базу данных временных рядов, которая поддерживает непрерывные запросы и политики хранения. Я смотрю InfluxDB, и единственное, что меня удерживает, это способность определять пользовательские агрегаты. В настоящее время у меня есть настраиваемый агрегат, определенный в Postgres, который вычисляет средневзвешенное значение для данных в таблице на основе, при этом весы определяются значением в одном из столбцов. Например, у меня есть столбец score со значениями от 1 до 9. При вычислении средневзвешенного балла я умножаю счет на 10, если он находится между 4 и 6, и умножьте его на 1000, если он находится между 7 и 9 перед вычислением среднего ,Можно ли определить пользовательские агрегаты в InfluxDB?

Возможно ли сделать что-то подобное в InfluxDB?

ответ

1

В настоящий момент InfluxDB не разрешает определенные пользователем функции в InfluxQL.

Вы можете использовать как InfluxDB, так и Kapacitor вместе, чтобы достичь того, что вы пытаетесь сделать. В частности, вы должны использовать User Defined Function Node в Kapacitor для определения средневзвешенного UDF, а затем записать результаты UDF обратно в InfluxDB.

Смежные вопросы