Какая база данных временных рядов поддерживает эти конкретные требования? - PullRequest
3 голосов
/ 23 октября 2019

У нас есть база данных с более чем миллиардами ежедневных статистических записей. Каждая запись имеет несколько метрик (от m1 до m10) и несколько неизменяемых тегов.

Запись также может быть связана с нулем или несколькими группами. Идея состояла в том, чтобы использовать несколько тегов (например, g1, g2), чтобы указать принадлежность конкретной записи к определенной группе.

Наши данные хранятся на ежедневном уровне, и большинство баз данных временных рядов действительно оптимизированы для более детального анализа. данные. Это представляет проблему, когда мы хотим создавать месячные или квартальные графики (например, InfluxDB имеет максимальный период агрегации 7d). Нам нужна база данных, которая действительно оптимизирована для точек данных на уровне дня и может производить быстрое агрегирование на уровне месяца / квартала / года.

Кроме того, связь между записями и группами изменчива. Нам нужна база данных для поддержки пакетного обновления записей (псевдо: ADD TAG group1 TO records WHERE record_id: 101) или, по крайней мере, быстрого удаления / повторной вставки обновленных данных. Эта операция должна быть относительно быстрой.

Нам нужно что-то, что может давать результаты, близкие к реальному времени, при агрегировании данных по десяткам миллионов (отфильтрованных) записей.

Наше оригинальное решение основано наasticsearchи это работает довольно хорошо, но хотел исследовать альтернативы в нише баз данных временных рядов. Кто-нибудь может порекомендовать базу данных временных рядов, которая поддерживает эти функции?

1 Ответ

0 голосов
/ 29 октября 2019

Попробуйте ClickHouse . Он оптимизирован для обработки в реальном времени и запроса больших объемов данных. Мы успешно использовали его для хранения сотен миллиардов записей в день в кластере из 15 узлов. ClickHouse может сканировать миллиарды записей в секунду на каждое ядро ​​ЦП, и его производительность запросов линейно зависит от количества доступных ядер ЦП.

ClickHouse также поддерживает редкие обновления данных, поэтому вы можете обновлять группы для определенных строк.

Если вы хотите больше традиционных TSDB, взгляните на VictoriaMetrics . Он построен на архитектурных идеях ClickHouse, поэтому он быстр и обеспечивает хорошее сжатие данных на диске.

...