본문 바로가기
WIKI 기술 지식 베이스

Shallow snapshots

원문 보기 위키 갱신

출처: 문서

본문

얕은 스냅샷

얕은 복사 스냅샷을 사용하면 세그먼트의 모든 데이터를 스냅샷 리포지토리에 저장하는 대신, 원격 기반 리포지토리 전체의 데이터를 참조할 수 있어요. 세그먼트 데이터가 스냅샷 리포지토리에 저장되지 않기 때문에, 일반 스냅샷을 사용할 때보다 세그먼트 데이터에 더 빠르게 접근할 수 있어요.

얕은 스냅샷 활성화하기

다음 예제와 같이 Snapshot API를 사용하고 remote_store_index_shallow_copy 리포지토리 설정을 true로 설정하면 얕은 스냅샷 복사를 활성화할 수 있어요:

PUT /_snapshot/snap_repo
{
        "type": "s3",
        "settings": {
            "bucket": "test-bucket",
            "base_path": "daily-snaps",
            "remote_store_index_shallow_copy": true
        }
    }

{% include copy-curl.html %}

한 번 활성화하고 나면 Snapshot API를 사용하는 모든 요청은 모든 스냅샷에 대해 동일하게 유지돼요. 따라서 얕은 스냅샷 설정을 활성화한 후에는 비활성화하지 마세요. 설정을 비활성화하면 데이터 내구성에 영향을 미칠 수 있어요.

고려 사항

얕은 복사 스냅샷을 사용하기 전에 다음 사항을 고려하세요:

  • 얕은 복사 스냅샷은 원격 기반 인덱스에서만 동작해요.
  • 얕은 복사 스냅샷의 이점을 활용하려면 클러스터의 모든 노드가 OpenSearch 2.10 이상을 사용해야 해요.
  • 얕은 복사 스냅샷을 사용하면 현재 스냅샷과 마지막 스냅샷 사이의 incremental 파일 개수와 크기는 0이에요.
  • 얕은 복사 스냅샷 내부에서는 검색 가능한 스냅샷이 지원되지 않아요.

얕은 스냅샷 v2

OpenSearch 2.17부터 얕은 스냅샷 기능은 shallow snapshot v2라는 개선된 버전을 제공해요. 얕은 스냅샷 v2는 다음과 같은 개선 사항을 도입해 스냅샷 작업을 더 효율적이고 확장 가능하게 만드는 것을 목표로 해요:

  • 결정론적인 스냅샷 작업: 얕은 스냅샷 v2는 스냅샷 작업을 더 결정론적으로 만들어 일관되고 예측 가능한 동작을 보장해요.
  • 최소화된 클러스터 상태 업데이트: 얕은 스냅샷 v2는 스냅샷 작업 중 필요한 클러스터 상태 업데이트 횟수를 최소화해 오버헤드를 줄이고 성능을 향상시켜요.
  • 확장성: 얕은 스냅샷 v2는 스냅샷 작업이 클러스터의 샤드 수와 독립적으로 확장될 수 있게 해서 대규모 데이터셋에서 더 나은 성능과 효율성을 제공해요.

얕은 스냅샷 v2는 얕은 복사와는 별도로 활성화해야 해요.

얕은 스냅샷 v2 활성화하기

얕은 스냅샷 v2를 활성화하려면 다음 리포지토리 설정을 활성화하세요:

  • remote_store_index_shallow_copy: true
  • shallow_snapshot_v2: true

다음 예제 요청은 얕은 스냅샷 v2 리포지토리를 생성해요:

PUT /_snapshot/snap_repo
{
"type": "s3",
"settings": {
"bucket": "test-bucket",
"base_path": "daily-snaps",
"remote_store_index_shallow_copy": true,
"shallow_snapshot_v2": true
}
}

{% include copy-curl.html %}

제한 사항

얕은 스냅샷 v2에는 다음과 같은 제한 사항이 있어요:

  • 얕은 스냅샷 v2는 원격 기반 인덱스에서만 지원돼요.
  • 얕은 스냅샷 v2의 이점을 활용하려면 클러스터의 모든 노드가 OpenSearch 2.17 이상을 사용해야 해요.

더 알아보기 (Learn more)