Назад | Перейти на главную страницу

Лучший способ резервного копирования данных ClickHouse

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

ИЗМЕНИТЬ ТАБЛИЦУ ... ЗАМОРОЗИТЬ РАЗДЕЛ

В ALTER TABLE ... FREEZE PARTITION команда просто создает локальный снимок раздела. Мне пришлось бы написать сценарий, который обнаруживает все разделы в каждой таблице, а затем выдавать соответствующую команду.

Чтобы получить резервные копии из системы, я считаю, что мне придется создать резервную копию shadow каталог на каждом сервере и сохраните эту резервную копию в другом месте (например, S3 или что-то в этом роде).

Как мне сохранить shadow каталог чистый? Можно ли удалить зависания?

Вывод данных

Другой способ, который я видел для резервного копирования данных, - это просто выгружать их в файлы, как предлагает эта страница.

https://github.com/resure/scpnet/wiki/ClickHouse-backup

Мне пришлось бы написать сценарий, который обнаруживает все таблицы в каждой базе данных, а они сбрасывают все данные в файл. Это во многом напоминает мне использование mysqldump для резервного копирования баз данных в MySQL, но без возможности просто выгрузить все одной командой.

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