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

Просмотр и восстановление резервных копий

В этом руководстве рассматривается, как работают резервные копии в ClickHouse Cloud, какие параметры резервного копирования вы можете настроить для своего сервиса и как выполнить восстановление из резервной копии.

Предварительные требования

Список статусов резервных копий

Для вашего сервиса будут создаваться резервные копии в соответствии с заданным расписанием — будь то расписание по умолчанию (ежедневное) или настроенное расписание, выбранное вами. Все доступные резервные копии можно просмотреть на вкладке сервиса Backups. Здесь вы можете увидеть статус резервной копии, продолжительность её создания, а также размер. Вы также можете восстановить конкретную резервную копию, используя столбец Actions.

Список статусов резервных копий в ClickHouse Cloud

Понимание стоимости резервного копирования

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

Чтобы понять стоимость резервного копирования, вы можете просмотреть стоимость резервного копирования для каждого сервиса на странице использования (как показано ниже). Как только резервное копирование с настраиваемым расписанием проработает несколько дней, вы сможете оценить стоимость и спроецировать ее на ежемесячную стоимость резервного копирования.

График использования резервного копирования в ClickHouse Cloud

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

  • Размер полных и инкрементных резервных копий
  • Желаемая частота
  • Желаемый срок хранения
  • Облачный провайдер и регион
Примечание

Имейте в виду, что оценочная стоимость резервного копирования будет меняться по мере роста объема данных в сервисе.

Восстановление резервной копии

Резервные копии восстанавливаются в новый сервис ClickHouse Cloud, а не в существующий сервис, с которого была создана резервная копия.

После нажатия на значок Restore для резервной копии вы можете указать имя нового сервиса, который будет создан, и затем восстановить эту резервную копию:

Восстановление резервной копии в ClickHouse Cloud

Новый сервис будет отображаться в списке сервисов со статусом Provisioning, пока он не будет готов:

Подготовка сервиса (Provisioning)

Работа с восстановленным сервисом

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

После завершения восстановления из резервной копии выполните одно из следующих действий:

  • Используйте новый восстановленный сервис и удалите исходный сервис.
  • Перенесите данные из нового восстановленного сервиса обратно в исходный сервис и удалите новый восстановленный сервис.

Используйте новый восстановленный сервис

Чтобы использовать новый сервис, выполните следующие шаги:

  1. Убедитесь, что в новом сервисе есть записи в списке IP-доступа (IP Access List), необходимые для вашего варианта использования.
  2. Убедитесь, что новый сервис содержит необходимые вам данные.
  3. Удалите исходный сервис.

Перенос данных с вновь восстановленного сервиса обратно на исходный сервис

Предположим, вы не можете работать с вновь восстановленным сервисом по какой‑то причине, например, если у вас всё ещё есть пользователи или приложения, которые подключаются к существующему сервису. В этом случае вы можете решить перенести вновь восстановленные данные в исходный сервис. Миграцию можно выполнить по следующим шагам:

Разрешите удалённый доступ к вновь восстановленному сервису

Новый сервис должен быть восстановлен из резервной копии с тем же списком разрешённых IP‑адресов (IP Allow List), что и у исходного сервиса. Это необходимо, так как подключения не будут разрешены к другим сервисам ClickHouse Cloud, если только вы заранее не разрешили доступ отовсюду (Anywhere). Измените allow list и временно разрешите доступ из Anywhere. Подробности см. в документации по IP Access List.

На вновь восстановленном сервисе ClickHouse (система, на которой размещены восстановленные данные)

Примечание

Вам потребуется сбросить пароль для нового сервиса, чтобы получить к нему доступ. Это можно сделать на вкладке Settings в списке сервисов.

Добавьте пользователя с правами только на чтение, который сможет читать исходную таблицу (в этом примере — db.table):

  CREATE USER exporter
  IDENTIFIED WITH SHA256_PASSWORD BY 'password-here'
  SETTINGS readonly = 1;
  GRANT SELECT ON db.table TO exporter;

Скопируйте определение таблицы:

  SELECT create_table_query
  FROM system.tables
  WHERE database = 'db' AND table = 'table'

На целевой системе ClickHouse Cloud (той, где находилась повреждённая таблица):

Создайте целевую базу данных:

  CREATE DATABASE db

Используя оператор CREATE TABLE из источника, создайте целевую таблицу:

Совет

Измените ENGINE на ReplicatedMergeTree без каких-либо параметров при выполнении оператора CREATE. ClickHouse Cloud всегда реплицирует таблицы и подставляет корректные параметры.

  CREATE TABLE db.table ...
  ENGINE = ReplicatedMergeTree
  ORDER BY ...

Используйте функцию remoteSecure, чтобы получить данные из недавно восстановленного сервиса ClickHouse Cloud в исходный сервис:

  INSERT INTO db.table
  SELECT *
  FROM remoteSecure('source-hostname', db, table, 'exporter', 'password-here')

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

Восстановление удалённых таблиц (UNDROP)

Команда UNDROP поддерживается в ClickHouse Cloud через Shared Catalog.

Чтобы предотвратить случайное удаление таблиц пользователями, вы можете использовать команды GRANT, чтобы отозвать права на команду DROP TABLE для конкретного пользователя или роли.

Примечание

Чтобы предотвратить случайное удаление данных, обратите внимание, что по умолчанию в ClickHouse Cloud невозможно удалить таблицы размером >1TB. Если вам нужно удалять таблицы, превышающие этот порог, используйте настройку max_table_size_to_drop:

DROP TABLE IF EXISTS table_to_drop
SYNC SETTINGS max_table_size_to_drop=2000000000000 -- increases the limit to 2TB
Примечание

Устаревшие тарифные планы (Legacy): для клиентов на таких тарифах ежедневные резервные копии, создаваемые по умолчанию и хранящиеся в течение 24 часов, включены в стоимость хранения данных.

Длительность резервного копирования

Длительность операций резервного копирования и восстановления зависит от нескольких факторов, таких как размер базы данных, а также схема и количество таблиц в базе данных. Инкрементные резервные копии, как правило, создаются значительно быстрее, чем полные, поскольку требуется сохранить меньший объём данных. Восстановление из инкрементной резервной копии будет немного медленнее, чем восстановление из полной резервной копии, так как при восстановлении, как объяснялось выше, учитываются все инкрементные резервные копии и последняя полная резервная копия в цепочке.

В наших тестах мы наблюдали, что создание небольших резервных копий объёмом около 1 ТБ может занимать порядка 10–15 минут или дольше. Резервное копирование объёмов менее 20 ТБ должно завершаться в пределах часа, а резервное копирование 50 ТБ данных — занимать примерно 2–3 часа. При больших объёмах резервное копирование получает эффект экономии на масштабе, и мы видели, что резервные копии объёмом до 1 ПБ для некоторых внутренних сервисов выполнялись примерно за 10 часов.

Примечание

Резервные копии во внешние бакеты могут создаваться медленнее, чем резервные копии в бакеты ClickHouse

Длительность восстановления примерно соответствует длительности резервного копирования.

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

Настраиваемые резервные копии

Если вы хотите настроить расписание резервного копирования, отличающееся от стандартного, ознакомьтесь с разделом «Настраиваемые резервные копии».

Экспорт резервных копий в собственный облачный аккаунт

Инструкции по экспорту резервных копий в собственный облачный аккаунт см. здесь.