O ClickHouse Cloud oferece suporte a fazer backups na sua própria conta do provedor de serviços de nuvem (CSP) (AWS S3, Google Cloud Storage ou Azure Blob Storage).
Para saber mais sobre como funcionam os backups do ClickHouse Cloud, incluindo backups “completos” e “incrementais”, consulte a documentação de backups.
Neste guia, mostramos exemplos de como fazer backups completos e backups incrementais na AWS, no GCP e no armazenamento de objetos do Azure, assim como restaurar a partir desses backups.
Qualquer uso em que backups sejam exportados para uma região diferente dentro do mesmo provedor de nuvem estará sujeito a cobranças de transferência de dados.Backups entre clouds diferentes são compatíveis apenas por meio dos comandos de backup e restauração descritos nesta página, e não pela UI.
Você precisará dos seguintes detalhes para exportar/restaurar backups no bucket de armazenamento do seu próprio CSP.
- endpoint do S3 da AWS, no formato:
s3://<bucket_name>.s3.amazonaws.com/<directory>
Por exemplo:
s3://testchbackups.s3.amazonaws.com/backups/
Onde:
testchbackups é o nome do bucket do S3 para onde os backups serão exportados.
backups é um subdiretório opcional.
- Chave de acesso e chave secreta da AWS. A autenticação baseada em AWS Role também é compatível e pode ser usada no lugar da chave de acesso e da chave secreta da AWS.
Para usar a autenticação baseada em AWS Role, siga a configuração de acesso seguro ao S3. Além disso, você precisará adicionar as permissões s3:PutObject e s3:DeleteObject à política do IAM descrita aqui.
- String de conexão da conta de armazenamento do Azure.
- Nome do contêiner do Azure na conta de armazenamento.
- Blob do Azure dentro do contêiner.
Google Cloud Storage (GCS)
-
endpoint do GCS, no formato:
https://storage.googleapis.com/<bucket_name>/
-
Chave de acesso HMAC e chave secreta HMAC.
Backup / Restauração em bucket do S3 da AWS
Fazer backup do banco de dados
Backup completo
BACKUP DATABASE test_backups
TO S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>')
Em que uuid é um identificador exclusivo, usado para diferenciar um conjunto de backups.
Você precisará usar um UUID diferente para cada novo backup neste subdiretório; caso contrário, receberá o erro BACKUP_ALREADY_EXISTS.
Por exemplo, se estiver fazendo backups diários, precisará usar um novo UUID a cada dia.
Backup incremental
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>')
Restaurar a partir de um backup
RESTORE DATABASE test_backups
AS test_backups_restored
FROM S3('https://testchbackups.s3.amazonaws.com/backups/<uuid>', '<key id>', '<key secret>')
Veja: Como configurar o BACKUP/RESTORE para usar um endpoint do S3 para mais detalhes.
Backup / Restauração no Azure Blob Storage
Fazer backup do banco de dados
Backup completo
BACKUP DATABASE test_backups
TO AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>');
Onde uuid é um identificador exclusivo, usado para distinguir um conjunto de backups.
Backup incremental
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>')
Restaurar a partir de um backup
RESTORE DATABASE test_backups
AS test_backups_restored_azure
FROM AzureBlobStorage('<AzureBlobStorage endpoint connection string>', '<container>', '<blob>/<uuid>')
Consulte: Configurando o BACKUP/RESTORE para usar um endpoint do AzureBlobStorage para mais detalhes.
Backup / restauração no Google Cloud Storage (GCS)
Fazer backup do banco de dados
Backup completo
BACKUP DATABASE test_backups
TO S3('https://storage.googleapis.com/<bucket>/<uuid>', <hmac-key>', <hmac-secret>)
Em que uuid é um identificador único usado para diferenciar um conjunto de backups.
Backup incremental
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')
Restaurar a partir de um backup
RESTORE DATABASE test_backups
AS test_backups_restored_gcs
FROM S3('https://storage.googleapis.com/test_gcs_backups/<uuid>', 'key', 'secret')