Перейти к основному содержимому
Перейти к основному содержимому

Могу ли я использовать ClickHouse в качестве базы данных временных рядов?

Примечание: Пожалуйста, ознакомьтесь с блоги Работа с временными рядами в ClickHouse для дополнительных примеров использования ClickHouse для анализа временных рядов.

ClickHouse является универсальным решением для хранения данных для OLAP нагрузок, хотя существует множество специализированных систем управления базами данных временных рядов. Тем не менее, фокус ClickHouse на скорости выполнения запросов позволяет ему превосходить специализированные системы во многих случаях. Существует множество независимых бенчмарков на эту тему, поэтому мы не будем проводить их здесь. Вместо этого давайте сосредоточимся на функциях ClickHouse, которые важны для использования, если это ваш случай использования.

Прежде всего, существуют специализированные кодеки, которые делают временные ряды типичными. Это либо общие алгоритмы, такие как DoubleDelta и Gorilla, либо специфичные для ClickHouse, такие как T64.

Во-вторых, запросы к временным рядам часто касаются только недавних данных, например, данных одного дня или одной недели. Имеет смысл использовать серверы, которые имеют как быстрые NVMe/SSD диски, так и диски HDD большой емкости. Функция TTL ClickHouse позволяет настраивать хранение свежих горячих данных на быстрых дисках и постепенно перемещать их на более медленные диски по мере старения. Также возможен свод данных или удаление еще более старых данных, если ваши требования этого требуют.

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