Могу ли я использовать ClickHouse как базу данных временных рядов?
Примечание: Пожалуйста, смотрите блог Работа с данными временных рядов в ClickHouse для получения дополнительных примеров использования ClickHouse для анализа временных рядов.
ClickHouse является универсальным решением для хранения данных для OLAP нагрузок, в то время как существует множество специализированных систем управления базами данных временных рядов. Тем не менее, фокус ClickHouse на скорости выполнения запросов позволяет ему превосходить специализированные системы во многих случаях. Существует много независимых бенчмарков по этой теме, поэтому мы не будем проводить их здесь. Вместо этого давайте сосредоточимся на функциях ClickHouse, которые важны для использования, если это ваш случай.
Прежде всего, существуют специализированные кодеки, которые делают типичные временные ряды. Это либо общие алгоритмы, такие как DoubleDelta
и Gorilla
, либо специфические для ClickHouse, такие как T64
.
Во-вторых, запросы к временным рядам часто затрагивают только недавние данные, например, данные одного дня или одной недели. Имеет смысл использовать серверы, которые имеют как быстрые NVMe/SSD диски, так и высокоемкие HDD диски. Функция TTL в ClickHouse позволяет настраивать хранение свежих горячих данных на быстрых дисках и постепенно перемещать их на более медленные диски по мере старения. Также возможно сведение или удаление еще более старых данных, если ваши требования это требуют.
Хотя это противоречит философии ClickHouse по хранению и обработке необработанных данных, вы можете использовать материализованные представления для соответствия еще более строгим требованиям по задержке или затратам.