Qdrant Cloud 클러스터 백업하기

Qdrant Cloud 클러스터 백업하기 (cloud-backups)

Qdrant는 클라우드 인스턴스를 클러스터로 구성해요. 그런데 애플리케이션이나 시스템에 장애가 생기면, 클러스터를 복원(restore)해야 할 때가 있어요.

혹시 이미 정규 데이터베이스에 데이터의 근원(source of truth)을 갖고 있을 수도 있어요. 문제가 생기면 데이터를 다시 Qdrant 벡터 검색 클러스터에 **재인덱싱(reindex)**할 수 있겠죠. 다만 이 과정은 시간이 걸릴 수 있어요. **고가용성(high availability)**이 중요한 프로젝트라면 **복제(replication)**를 권장해요. 복제를 쓰면 최소 하나의 레플리카가 실행되는 한 클러스터가 정상 동작함을 보장할 수 있어요.

재해 복구(disaster recovery) 같은 다른 용도라면, 자동 백업이나 셀프서비스 백업을 설정할 수 있어요.

출처: Qdrant 공식 문서

사전 준비 (Prerequisites)

Qdrant 클러스터는 Qdrant Cloud 대시보드에서 백업할 수 있어요. https://cloud.qdrant.io를 이용하면 돼요. 이 섹션은 이미 다음 문서에서 설명한 대로 클러스터를 설정해 두었다고 가정해요.

자동 백업 (Automatic Backups)

Cloud UI로 클러스터의 자동 백업을 설정할 수 있어요. 이 페이지에 나온 절차대로 매일(daily)/매주(weekly)/매월(monthly) 단위로 스냅샷을 만들 수 있고, 필요한 만큼 많은 스냅샷을 보관할 수 있어요. 원하는 스냅샷을 골라 클러스터를 복원할 수도 있어요.

주의: 스냅샷을 복원할 때 다음 사항을 고려하세요.

  • 스냅샷이 복원되는 동안 해당 클러스터는 사용할 수 없어요.
  • 복사본이 만들어진 후 클러스터 설정을 바꿨다면, 클러스터는 이전 구성으로 되돌아가요.
  • 이전 구성에는 다음이 포함돼요.
    • CPU
    • 메모리(Memory)
    • 노드 수(Node count)
    • Qdrant 버전

백업 구성하기 (Configure a Backup)

사전 준비 단계를 마쳤다면, Qdrant Cloud 대시보드에서 백업을 구성할 수 있어요. 다음 단계를 따라가 보세요.

  1. **클러스터 상세 페이지(Cluster Detail Page)**에서 Backups 탭을 선택하세요.
  2. 이제 백업 일정을 설정할 수 있어요. **Days of Retention(보관 일수)**은 백업 스냅샷이 삭제되기까지의 일수예요.
  3. 또는 Backup now를 선택해 즉시 스냅샷을 만들 수도 있어요.

클러스터 백업 구성

백업 복원하기 (Restore a Backup)

백업은 Available Backups(사용 가능한 백업) 목록에서 관리할 수 있어요. 원하는 백업을 골라 복원하거나 삭제할 수 있어요.

백업은 같은 클러스터로 복원될 수 있어요. 이 경우 클러스터 버전을 포함한 구성이 백업을 만든 시점의 상태로 되돌아가요.

또는 백업을 새 클러스터로 복원할 수도 있어요.

클러스터 백업 복원 또는 삭제

스냅샷으로 백업하기 (Backups With a Snapshot)

Qdrant는 특정 컬렉션이나 전체 클러스터의 스냅샷을 만들 수 있는 스냅샷 API도 제공해요. 자세한 내용은 스냅샷 문서를 참고하세요.

스냅샷을 만들고 컬렉션을 복구하는 방법은 다음과 같아요.

  1. 스냅샷 만들기:
    • 단일 노드 클러스터라면, 노출된 URL에 스냅샷 엔드포인트를 호출하세요.
    • 멀티 노드 클러스터라면 컬렉션의 각 노드에서 스냅샷을 호출하세요. 구체적으로는 클러스터 URL 앞에 node-{num}-를 붙인 뒤, 각 호스트에서 스냅샷 엔드포인트를 호출하면 돼요. node 0부터 시작하세요.
    • 응답에서 스냅샷의 이름을 확인할 수 있어요.
  2. 컬렉션을 삭제하고 다시 만드세요.
  3. 스냅샷 복구하기:
    • 각 호스트에서 복구 엔드포인트를 호출하세요. 스냅샷 파일을 가리키는 위치(file:///qdrant/snapshots/{collection_name}/{snapshot_file_name})를 설정하면 돼요.

백업 고려사항 (Backup Considerations)

AWS와 GCP 클러스터의 백업은 증분(incremental) 방식이에요. 예를 들어 백업이 두 개 있다면, 2번 백업에는 1번 백업 이후 변경된 데이터만 들어 있어요. 이 덕분에 백업의 전체 비용이 줄어들어요.

Azure 클러스터의 백업은 **전체 디스크 사용량(total disk usage)**을 기준으로 해요. 백업을 만들 때의 디스크 사용량의 절반으로 비용이 계산돼요.

여러 개의 백업 일정을 만들 수도 있어요.

스냅샷을 복원하면, 스냅샷 날짜 이후에 발생한 모든 변경 사항은 손실돼요.

더 알아보기 (Learn more)