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

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

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

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

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

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

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