데이터베이스 백업은 예기치 않은 이유로 데이터가 손실되더라도 마지막으로 성공한 백업을 통해 서비스를 이전 상태로 복원할 수 있게 해 주는 안전망 역할을 합니다.
이를 통해 다운타임을 최소화하고 비즈니스에 중요한 데이터가 영구적으로 손실되는 것을 방지합니다.
ClickHouse Cloud에서 백업이 작동하는 방식
ClickHouse Cloud 백업은 “전체” 백업과 “증분” 백업을 조합해 하나의 백업 체인을 구성합니다. 체인은 전체 백업으로 시작되며, 이후 예약된 여러 시점에 걸쳐 증분 백업이 수행되어 연속된 백업 시퀀스가 만들어집니다. 백업 체인이 일정 길이에 도달하면 새 체인이 시작됩니다. 필요할 경우 이 백업 체인 전체를 사용해 데이터를 새 서비스로 복원할 수 있습니다. 특정 체인에 포함된 모든 백업이 서비스에 설정된 보존 기간(보존에 대한 자세한 내용은 아래 참고)을 지나면 해당 체인은 폐기됩니다.
아래 이미지에서 실선 사각형은 전체 백업을, 점선 사각형은 증분 백업을 나타냅니다. 사각형들을 둘러싼 실선 사각형은 보존 기간과 최종 사용자에게 표시되어 백업 복원에 사용할 수 있는 백업 범위를 나타냅니다. 아래 시나리오에서는 백업이 24시간마다 수행되며 2일 동안 보존됩니다.
1일 차에는 백업 체인을 시작하기 위해 전체 백업이 수행됩니다. 2일 차에는 증분 백업이 수행되며, 전체 백업과 증분 백업 모두에서 복원할 수 있습니다. 7일 차가 되면 체인에는 전체 백업 1개와 증분 백업 6개가 있으며, 이 중 가장 최근의 증분 백업 2개가 사용자에게 표시됩니다. 8일 차에는 새 전체 백업이 수행되고, 9일 차에는 새 체인에 백업 2개가 쌓이면 이전 체인이 폐기됩니다.
백업은 Basic, Scale, Enterprise 티어에서 스토리지와 별도로 사용량이 측정되며 청구됩니다.
모든 서비스는 기본적으로 하루에 한 번 백업되며, Scale 티어부터는 Cloud Console의 설정 탭에서 추가 백업을 구성할 수 있습니다.
각 백업은 최소 24시간 동안 보관됩니다.
자세한 내용은 “백업 검토 및 복원”을 참조하십시오.
ClickHouse Cloud에서는 Scale 및 Enterprise 티어 서비스의 백업 일정을 설정할 수 있습니다. 백업은 비즈니스 요구 사항에 따라 다음 항목을 기준으로 설정할 수 있습니다.
- 보존 기간: 각 백업을 보관할 기간(일)입니다. 보존 기간은 최소 1일부터 최대 30일까지 지정할 수 있으며, 그 사이에서 여러 값을 선택할 수 있습니다.
- 빈도: 빈도를 사용하면 연속된 백업 사이의 시간 간격을 지정할 수 있습니다. 예를 들어 “12시간마다”로 설정하면 백업은 12시간 간격으로 수행됩니다. 빈도는 “6시간마다”부터 “48시간마다”까지 지정할 수 있으며, 선택 가능한 시간별 간격은 다음과 같습니다:
6, 8, 12, 16, 20, 24, 36, 48.
- 시작 시간: 매일 백업을 예약할 시작 시간입니다. 시작 시간을 지정하면 백업 “빈도”는 기본적으로 24시간마다 1회로 설정됩니다. ClickHouse Cloud는 지정된 시작 시간으로부터 1시간 이내에 백업을 시작합니다.
사용자 지정 일정은 해당 서비스에 적용되는 ClickHouse Cloud의 기본 백업 정책보다 우선합니다.드문 경우 백업 스케줄러가 백업에 지정된 시작 시간을 따르지 않을 수 있습니다. 구체적으로는 현재 예약된 백업 시점으로부터 24시간 이내에 성공한 백업이 트리거된 경우 이런 현상이 발생합니다. 이는 백업에 적용되는 재시도 메커니즘 때문에 발생할 수 있습니다. 이런 경우 스케줄러는 해당 날짜의 백업을 건너뛰고, 다음 날 예약된 시간에 백업을 다시 시도합니다.
백업 설정 단계는 “백업 일정 설정”을 참조하십시오.
Bring Your Own Bucket (BYOB) 백업
ClickHouse Cloud에서는 자체 클라우드 서비스 제공업체(CSP) 계정의 스토리지(AWS S3, Google Cloud Storage 또는 Azure Blob Storage)로 백업을 내보낼 수 있습니다.
자체 버킷으로 백업하도록 구성해도 ClickHouse Cloud는 계속 자체 버킷에 매일 백업을 생성합니다.
이는 사용자 버킷의 백업이 손상되더라도 복원에 사용할 수 있는 데이터 사본을 최소 1개는 확보하기 위한 것입니다.
ClickHouse Cloud 백업의 동작 방식에 대한 자세한 내용은 백업 문서를 참조하십시오.
이 가이드에서는 AWS, GCP, Azure 객체 스토리지로 백업을 내보내는 방법과, 계정에 있는 해당 백업을 새로운 ClickHouse Cloud 서비스로 복원하는 방법을 안내합니다.
또한 백업을 사용자 버킷으로 내보내고 이를 복원할 수 있는 백업 / 복원 명령도 제공합니다.
AWS, GCP, Azure 객체 스토리지에 전체 백업 및 증분 백업을 수행하는 방법과 백업에서 복원하는 방법에 대한 예시는 “자체 Cloud 계정으로 백업 내보내기”를 참조하십시오.
자체 클라우드 계정으로 백업을 내보내는 방법은 두 가지입니다.
Cloud Console UI를 통해
외부 백업은 UI에서 구성할 수 있습니다.
기본적으로 백업은 기본 백업 정책에 지정된 대로 매일 수행됩니다.
또한 자체 클라우드 계정으로 내보내는 구성 가능한 백업도 지원하므로, 사용자 지정 일정을 설정할 수 있습니다.
버킷으로 내보내는 모든 백업은 이전 또는 이후의 다른 백업과 연결되지 않은 전체 백업이라는 점에 유의하십시오.SQL 명령 사용
SQL 명령을 사용하여 버킷으로 백업을 내보낼 수 있습니다.
ClickHouse Cloud는 고객 버킷에 저장된 백업의 수명 주기를 관리하지 않습니다.
고객은 컴플라이언스 기준 준수와 비용 관리를 위해 버킷의 백업을 적절히 관리할 책임이 있습니다.
백업이 손상되면 복원할 수 없습니다.