백업 검토 및 복원
이 가이드는 ClickHouse Cloud에서 백업이 동작하는 방식, 서비스에 대한 백업 구성 옵션, 그리고 백업에서 복원하는 방법을 설명합니다.
사전 준비 사항
- "ClickHouse Cloud에서 백업이 작동하는 방식" (기능 개요 페이지)를 읽었습니다.
백업 상태 목록
서비스는 기본 일일 스케줄이든 사용자가 선택한 사용자 정의 스케줄이든 설정된 일정에 따라 백업됩니다. 사용 가능한 모든 백업은 서비스의 Backups 탭에서 확인할 수 있습니다. 여기에서 백업 상태, 백업 수행 시간, 백업 크기를 확인할 수 있습니다. 또한 Actions 컬럼을 사용하여 특정 백업을 복원할 수 있습니다.

백업 비용 이해하기
기본 정책에 따라 ClickHouse Cloud는 하루에 한 번 백업을 수행하며, 보존 기간은 24시간입니다. 더 많은 데이터를 보존해야 하는 일정이나 더 자주 백업을 수행하는 일정을 선택하면 백업 저장소에 대한 추가 비용이 발생할 수 있습니다.
백업 비용을 파악하려면 사용량 화면에서 서비스별 백업 비용을 확인할 수 있습니다(아래 그림 참조). 사용자 지정 일정을 적용한 상태로 며칠간 백업을 실행한 후에는, 그 비용 수준을 파악하고 이를 바탕으로 월간 백업 비용을 추정할 수 있습니다.

백업 총비용을 추정하려면 먼저 백업 일정을 설정해야 합니다. 또한 일정 설정 전에 월간 비용을 미리 추정할 수 있도록 pricing calculator를 업데이트하고 있습니다. 비용을 추정하려면 다음과 같은 입력값이 필요합니다:
- 전체 백업과 증분 백업의 크기
- 원하는 수행 주기
- 원하는 보존 기간
- Cloud 제공자 및 리전
서비스 내 데이터 크기가 시간이 지남에 따라 증가함에 따라, 백업에 대한 예상 비용 역시 변동된다는 점을 유의해야 합니다.
백업 복원
백업은 이를 생성한 기존 서비스가 아니라, 새로운 ClickHouse Cloud 서비스로 복원됩니다.
Restore 백업 아이콘을 클릭하면 새로 생성될 서비스의 이름을 지정한 후, 해당 백업을 복원할 수 있습니다:

새 서비스는 준비가 완료될 때까지 서비스 목록에 Provisioning 상태로 표시됩니다:

복원된 서비스 사용
백업을 복원하면, 복원이 필요했던 원본 서비스와 원본 서비스의 백업에서 복원된 새로운 복원된 서비스라는 서로 유사한 두 개의 서비스가 존재하게 됩니다.
백업 복원이 완료되면 다음 중 하나를 선택해야 합니다.
- 새로 복원된 서비스를 사용하고 원본 서비스를 제거합니다.
- 새로 복원된 서비스에서 원본 서비스로 데이터를 마이그레이션한 후 새로 복원된 서비스를 제거합니다.
새로 복원된 서비스 사용하기
새 서비스를 사용하려면 다음 단계를 따르십시오.
- 새 서비스에 사용 사례에 필요한 IP Access List 항목이 있는지 확인합니다.
- 새 서비스에 필요한 데이터가 포함되어 있는지 확인합니다.
- 기존 서비스를 제거합니다.
새로 복원된 서비스에서 원래 서비스로 데이터 마이그레이션
어떤 이유로든 새로 복원된 서비스에서 작업할 수 없는 상황일 수 있습니다. 예를 들어 여전히 기존 서비스에 연결하는 사용자나 애플리케이션이 있는 경우입니다. 이 경우 새로 복원된 데이터를 원래 서비스로 마이그레이션하기로 결정할 수 있습니다. 다음 단계에 따라 마이그레이션을 수행합니다:
새로 복원된 서비스에 대한 원격 액세스 허용
새 서비스는 원래 서비스와 동일한 IP 허용 목록으로 백업에서 복원되어야 합니다. 이는 Anywhere에서의 액세스를 허용해 두지 않았다면 다른 ClickHouse Cloud 서비스로의 연결이 허용되지 않기 때문에 필요합니다. 허용 목록을 수정하여 일시적으로 Anywhere에서의 액세스를 허용하십시오. 자세한 내용은 IP Access List 문서를 참고하십시오.
새로 복원된 ClickHouse 서비스(복원된 데이터를 호스팅하는 시스템)에서
새 서비스에 액세스하려면 해당 서비스의 비밀번호를 재설정해야 합니다. 서비스 목록의 Settings 탭에서 비밀번호를 재설정할 수 있습니다.
소스 테이블(이 예제에서는 db.table)을 읽을 수 있는 읽기 전용 사용자를 추가합니다:
테이블 정의를 복사하십시오:
대상 ClickHouse Cloud 시스템(테이블이 손상되었던 시스템)에서:
대상 데이터베이스를 생성합니다:
원본의 CREATE TABLE 문을 사용하여 대상 테이블을 생성합니다:
CREATE 문을 실행할 때 ENGINE을 추가 매개변수 없이 ReplicatedMergeTree로 변경하십시오. ClickHouse Cloud에서는 테이블이 항상 복제되며 적절한 매개변수가 자동으로 설정됩니다.
새로 복원된 ClickHouse Cloud 서비스에서 원래 서비스로 데이터를 가져오려면 remoteSecure 함수를 사용하십시오.
원본 서비스에 데이터를 성공적으로 삽입한 후에는 해당 서비스에서 데이터가 올바르게 반영되었는지 반드시 확인해야 합니다. 데이터가 정상적으로 확인되면 새 서비스를 삭제해야 합니다.
테이블 삭제 또는 드롭 취소하기
UNDROP 명령은 ClickHouse Cloud에서 Shared Catalog를 통해 지원합니다.
사용자가 실수로 테이블을 드롭하지 않도록, 특정 사용자나 역할에 대해 DROP TABLE 명령에 대한 권한을 회수하도록 GRANT SQL 문을 사용할 수 있습니다.
데이터가 실수로 삭제되는 것을 방지하기 위해, 기본적으로 ClickHouse Cloud에서는 크기가 1TB를 초과하는 테이블은 드롭할 수 없습니다.
이 임계값을 초과하는 테이블을 드롭하려면 max_table_size_to_drop SETTING을 사용할 수 있습니다:
레거시 요금제: 레거시 요금제를 사용하는 고객은 기본 일일 백업이 24시간 동안 보관되며, 해당 비용은 스토리지 요금에 포함됩니다.
백업 소요 시간
백업 및 복구에 소요되는 시간은 데이터베이스의 크기, 스키마, 데이터베이스 내 테이블 개수 등 여러 요소에 따라 달라집니다. 증분 백업은 전체 백업보다 백업되는 데이터 양이 적기 때문에 일반적으로 훨씬 더 빠르게 완료됩니다. 증분 백업에서 복구하는 경우, 위에서 설명한 것처럼 체인에 포함된 모든 증분 백업과 마지막 전체 백업이 순차적으로 포함되어야 하므로 전체 백업에서 복구하는 것보다 약간 더 느릴 수 있습니다.
테스트 결과, 약 1 TB 정도의 작은 백업은 백업에 1015분 정도 또는 그 이상이 소요될 수 있습니다.
20 TB 미만의 백업은 1시간 이내에 완료되는 편이며, 50 TB의 데이터를 백업하는 데는 약 23시간 정도 소요됩니다.
백업은 규모가 커질수록 규모의 경제가 적용되며, 일부 내부 서비스의 경우 최대 1 PB까지의 백업이 약 10시간 내에 완료된 사례가 있습니다.
외부 버킷으로의 백업은 ClickHouse 버킷으로의 백업보다 느릴 수 있습니다.
복구 소요 시간은 백업 소요 시간과 거의 비슷합니다.
실제 소요 시간은 위에서 설명한 여러 요소에 따라 달라지므로, 자체 데이터베이스 또는 샘플 데이터를 사용하여 테스트하여 보다 정확한 소요 시간 추정치를 얻기 위해 검증해 볼 것을 권장합니다.
구성 가능한 백업
기본 백업 일정과 다른 백업 주기를 구성하려는 경우 구성 가능한 백업 문서를 참조하십시오.
자체 Cloud 계정으로 백업 내보내기
자체 Cloud 계정으로 백업을 내보내려면 여기를 참조하십시오.