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