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

Резервные копии

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

Как работают резервные копии в ClickHouse Cloud

Резервные копии ClickHouse Cloud представляют собой комбинацию "полных" и "инкрементных" резервных копий, которые составляют цепочку резервных копий. Цепочка начинается с полной резервной копии, затем в течение следующих нескольких запланированных периодов времени создаются инкрементные резервные копии для формирования последовательности резервных копий. Как только длина цепочки резервных копий достигает определенной величины, начинается новая цепочка. Эта полная цепочка резервных копий может быть использована для восстановления данных в новый сервис при необходимости. Как только все резервные копии, входящие в конкретную цепочку, превышают установленный для сервиса период хранения (подробнее о хранении ниже), цепочкаDiscarded.

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

В День 1 создается полная резервная копия, чтобы начать цепочку резервных копий. В День 2 создается инкрементная резервная копия, и теперь у нас есть полная и инкрементная резервная копия, из которой можно восстановиться. К Дню 7 у нас есть одна полная резервная копия и шесть инкрементных резервных копий в цепочке, причем две последние инкрементные резервные копии видны пользователю. В День 8 мы создаем новую полную резервную копию, а в День 9, когда у нас есть две резервные копии в новой цепочке, предыдущая цепочкаDiscarded.

Пример цепочки резервных копий в ClickHouse Cloud

Пример сценария резервного копирования в ClickHouse Cloud

Политика резервного копирования по умолчанию

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

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

Ваш сервис будет резервироваться на основе установленного расписания, будь то стандартное ежедневное расписание или пользовательское расписание, выбранное вами. Все доступные резервные копии можно просмотреть на вкладке Резервные копии вашего сервиса. Здесь вы можете увидеть статус резервной копии, продолжительность, а также размер резервной копии. Вы также можете восстановить конкретную резервную копию, используя колонку Действия.

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

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

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

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

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

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

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

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

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

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

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

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

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

ПроцессProvisioning сервис�а

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

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

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

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

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

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

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

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

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

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

Новый сервис должен быть восстановлен из резервной копии с тем же списком разрешенных IP, что и оригинальный сервис. Это необходимо, так как подключения к другим сервисам ClickHouse Cloud не будут разрешены, если вы не разрешили доступ из Любого места. Временно измените список разрешенных IP и разрешите доступ из Любого места. Для получения подробной информации смотрите документацию по списку разрешенных IP.

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

примечание

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

Добавьте пользователя с правами только для чтения, который сможет читать исходную таблицу (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')

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

Восстановление или отмена удаления таблиц

Not supported in ClickHouse Cloud

Команда UNDROP не поддерживается в ClickHouse Cloud. Если вы случайно DROP таблицу, лучшим выходом будет восстановить последнюю резервную копию и воссоздать таблицу из резервной копии.

Чтобы предотвратить случайное удаление таблиц пользователями, вы можете использовать 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
примечание

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

Конфигурируемые резервные копии

Если вы хотите настроить график резервного копирования, отличающийся от стандартного графика, ознакомьтесь с разделом Конфигурируемые резервные копии.

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

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