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

Дублирование исходных данных в другом месте

Часто данные, поступающие в ClickHouse, передаются через ту или иную постоянную очередь, такую как Apache Kafka. В этом случае можно настроить дополнительный набор подписчиков, которые будут читать тот же поток данных, пока он записывается в ClickHouse, и сохранять его где-нибудь в холодном хранилище. У большинства компаний уже есть рекомендуемое по умолчанию холодное хранилище — это может быть объектное хранилище или распределённая файловая система, такая как HDFS.

Снимки файловой системы

Некоторые локальные файловые системы поддерживают создание снимков (например, ZFS), но они могут быть не лучшим выбором для обработки запросов в рабочей системе. Одно из возможных решений — создать дополнительные реплики с таким типом файловой системы и исключить их из таблиц Distributed, которые используются для запросов SELECT. Снимки на таких репликах будут недоступны для любых запросов, изменяющих данные. Дополнительным преимуществом может быть то, что эти реплики могут иметь специальные аппаратные конфигурации, где к каждому серверу подключено больше дисков, что будет экономически выгодно. Для небольших объёмов данных также может подойти простой INSERT INTO ... SELECT ... в удалённые таблицы.

Операции с частями

ClickHouse позволяет использовать запрос ALTER TABLE ... FREEZE PARTITION ... для создания локальных копий партиций таблицы. Это реализовано с помощью жестких ссылок в каталог /var/lib/clickhouse/shadow/, поэтому обычно не занимает дополнительного места на диске для уже существующих данных. Созданные копии файлов не управляются ClickHouse server, поэтому их можно просто оставить там: это будет простая резервная копия, не требующая какой-либо внешней системы, но при этом она всё равно останется уязвимой к аппаратным сбоям. По этой причине лучше скопировать их по сети в другое место, а затем удалить локальные копии. Распределённые файловые системы и объектные хранилища по-прежнему хорошо подходят для этой задачи, но могут подойти и обычные файловые серверы с достаточной ёмкостью (в этом случае передача будет выполняться через сетевую файловую систему или, возможно, с помощью rsync). Данные можно восстановить из резервной копии с помощью ALTER TABLE ... ATTACH PARTITION ... Для получения дополнительной информации о запросах, связанных с операциями над партициями, см. документацию по ALTER. Для автоматизации этого подхода доступен сторонний инструмент: clickhouse-backup.
Последнее изменение 10 июня 2026 г.