Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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

ClickHouse Cloud поддерживает создание резервных копий в вашей собственной учетной записи у поставщика облачных услуг (CSP) (AWS S3, Google Cloud Storage или Azure Blob Storage). Подробнее о том, как работают резервные копии в ClickHouse Cloud, включая различия между полными и инкрементальными резервными копиями, см. в документации backups. Обратите внимание, что резервные копии в вашей собственной облачной учетной записи отличаются от резервных копий Cloud на месте в одном важном аспекте: для них нельзя использовать native copy (см. примечание ниже).

В этом руководстве показано, как создавать полные и инкрементальные резервные копии в Объектное хранилище AWS, GCP и Azure, а также как восстанавливать данные из этих резервных копий.

Требования

Перед выполнением команды BACKUP убедитесь, что у пользователя ClickHouse есть привилегия BACKUP. default_role в ClickHouse Cloud не содержит этой привилегии. Перед экспортом резервных копий обратитесь в ClickHouse Support, чтобы запросить её.

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

AWS

  1. Конечная точка S3 в AWS, в формате:
  s3://<bucket_name>.s3.amazonaws.com/<directory>

Например:

  s3://testchbackups.s3.amazonaws.com/backups/

Где:

  • testchbackups — имя S3 бакета, в который экспортируются резервные копии.
    • backups — необязательный подкаталог.
  1. Ключ доступа AWS и секретный ключ. Также поддерживается аутентификация с использованием ролей AWS, которую можно использовать вместо ключа доступа AWS и секретного ключа.

Azure

  1. Строка подключения к хранилищу Azure.
  2. Имя контейнера в учетной записи хранения Azure.
  3. Объект Blob в контейнере.

Google Cloud Storage (GCS)

  1. Конечная точка GCS в следующем формате:

    https://storage.googleapis.com/<bucket_name>/
  2. Ключ доступа HMAC и секрет HMAC.


Резервное копирование / восстановление

Резервное копирование / восстановление в S3 бакет AWS

Создать резервную копию базы данных

Полная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>')

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

Инкрементная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>') 
SETTINGS base_backup = S3('https://testchbackups.s3.amazonaws.com/backups/<base-backup-uuid>', '<key id>', '<key secret>')

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

RESTORE DATABASE test_backups 
AS test_backups_restored 
FROM S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>')

См.: Настройка BACKUP/RESTORE для использования конечной точки S3 для получения дополнительных сведений.

Резервное копирование / восстановление в Azure Blob Storage

Создать резервную копию базы данных

Полная резервная копия

BACKUP DATABASE test_backups 
TO AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>');

Где uuid — это уникальный идентификатор, используемый для различения набора резервных копий.

Инкрементальная резервная копия

BACKUP DATABASE test_backups 
TO AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>/my_incremental') 
SETTINGS base_backup = AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>')

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

RESTORE DATABASE test_backups 
AS test_backups_restored_azure 
FROM AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>')

См.: Настройка BACKUP/RESTORE для использования конечной точки AzureBlobStorage для получения более подробной информации.

Резервное копирование / восстановление в Google Cloud Storage (GCS)

Создать резервную копию базы данных

Полная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://storage.googleapis.com/<bucket>/<uuid>', <hmac-key>', <hmac-secret>)

Где uuid — это уникальный идентификатор, используемый, чтобы отличать один набор резервных копий от другого.

Инкрементальная резервная копия

BACKUP DATABASE test_backups 
TO S3('https://storage.googleapis.com/test_gcs_backups/<uuid>/my_incremental', 'key', 'secret')
SETTINGS base_backup = S3('https://storage.googleapis.com/test_gcs_backups/<uuid>', 'key', 'secret')

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

RESTORE DATABASE test_backups 
AS test_backups_restored_gcs 
FROM S3('https://storage.googleapis.com/test_gcs_backups/<uuid>', 'key', 'secret')
Navigation