대체 백업 또는 복원 방법(Alternative Backup or Restore Methods)

대체 백업 또는 복원 방법(Alternative Backup or Restore Methods)

ClickHouse는 데이터를 디스크에 저장하므로 디스크를 백업하는 방법이 다양합니다. 이 문서에서는 과거에 사용되었고 여러분의 사용 사례에 맞을 수 있는 몇 가지 대안들을 소개할게요.

출처: 문서

본문

ClickHouse는 데이터를 디스크에 저장하며, 디스크를 백업하는 방법은 매우 많습니다. 다음은 과거에 사용되었고 여러분의 사용 사례에 맞을 수 있는 몇 가지 대안입니다.

원본 데이터를 다른 곳에 복제하기

ClickHouse로 수집되는 데이터는 종종 Apache Kafka 같은 일부 지속성 있는 큐를 통해 전달됩니다. 이 경우 ClickHouse에 쓰이는 동안 같은 데이터 스트림을 읽고 HDFS 같은 분산 파일 시스템이나 어딘가의 콜드 스토리지에 저장하는 추가 서브스크라이버 집합을 구성할 수 있습니다. 대부분의 회사는 이미 오브젝트 스토어나 분산 파일 시스템 같은 권장 기본 콜드 스토리지를 가지고 있습니다.

파일시스템 스냅샷

일부 로컬 파일시스템은 스냅샷 기능을 제공하지만(예: ZFS), 라이브 쿼리를 제공하는 데는 최선의 선택이 아닐 수 있습니다. 가능한 해결책은 이런 종류의 파일시스템으로 추가 복제본을 만들고 SELECT 쿼리에 사용되는 Distributed 테이블에서 제외하는 것입니다. 그러한 복제본의 스냅샷은 데이터를 수정하는 어떤 쿼리로도 도달할 수 없게 됩니다. 보너스로, 이 복제본들은 서버당 더 많은 디스크가 부착된 특수 하드웨어 구성을 가질 수 있어 비용 효율적일 수 있습니다. 더 작은 데이터 볼륨의 경우 원격 테이블로의 간단한 INSERT INTO ... SELECT ...도 효과가 있을 수 있습니다.

파츠 조작

ClickHouse는 ALTER TABLE ... FREEZE PARTITION ... 쿼리를 사용해 테이블 파티션의 로컬 복사본을 만들 수 있게 합니다. 이것은 /var/lib/clickhouse/shadow/ 폴더에 대한 하드링크를 사용해 구현되므로, 보통 오래된 데이터에 대해 추가 디스크 공간을 소비하지 않습니다. 생성된 파일 복사본은 ClickHouse 서버가 처리하지 않으므로 그냥 두어도 됩니다. 외부 시스템이 필요 없는 간단한 백업을 가지게 되지만, 여전히 하드웨어 문제에 취약합니다. 이런 이유로 원격으로 다른 위치에 복사한 다음 로컬 복사본을 제거하는 것이 좋습니다. 분산 파일시스템과 오브젝트 스토어가 좋은 선택이지만, 충분한 용량의 일반 연결 파일 서버도 괜찮을 수 있습니다(이 경우 전송은 네트워크 파일시스템이나 rsync를 통해 이루어집니다). 데이터는 ALTER TABLE ... ATTACH PARTITION ...으로 백업에서 복원할 수 있습니다. 파티션 조작과 관련된 쿼리에 대한 자세한 내용은 ALTER 문서를 참고하세요. 이 접근 방식을 자동화하는 서드파티 도구도 있습니다: clickhouse-backup.

더 알아보기 (Learn more)