Skip to content
SON BLOG
Go back

OpenSearch 3.0 GPU 기반 원격 벡터 인덱스 구축 가이드

Edit page

OpenSearch(v3.0.0)는 GPU 가속 원격 인덱스 빌드 서비스를 통해 벡터 인덱스를 더 빠르고 효율적으로 구축할 수 있다.

이 기능은 Faiss 엔진 + HNSW 알고리즘 + FP32(32-bit float) 벡터에 대해 지원된다.

주요 이점

사전 준비 사항

  1. Faiss 엔진 + HNSW 메서드를 사용하는 인덱스만 지원

  2. 벡터 타입: FP32 (32-bit float)

  3. AWS S3 저장소 필수 (중간 저장소 역할)

1단계: 원격 인덱스 빌드 기능 활성화

클러스터 설정 (Dynamic)

PUT /_cluster/settings
{
  "persistent": {
    "knn.remote_index_build.enabled": true
  }
}

인덱스 설정 (Dynamic)

PUT /my-index/_settings
{
  "index": {
    "knn.remote_index_build.enabled": true
  }
}

두 설정이 모두 true여야 인덱스에 대해 원격 빌드가 활성화됨

2단계: 원격 벡터 저장소(S3) 등록

OpenSearch 클러스터는 벡터와 문서 ID를 S3 저장소에 업로드하며, 원격 GPU 빌더는 이를 가져와 외부에서 인덱스를 생성한 뒤 결과를 다시 저장소에 업로드한다.

저장소 등록 예시

PUT _snapshot/remote-knn-repo
{
  "type": "s3",
  "settings": {
    "bucket": "my-knn-bucket",
    "region": "us-west-2"
  }
}

클러스터에 저장소 지정

PUT /_cluster/settings
{
  "persistent": {
    "knn.remote_index_build.repository": "remote-knn-repo"
  }
}

3단계: 원격 인덱스 빌드 서비스(endpoint) 설정

PUT /_cluster/settings
{
  "persistent": {
    "knn.remote_index_build.service.endpoint": "https://my-knn-builder.example.com"
  }
}

GPU 빌더 서비스 구성에 대한 자세한 내용은 공식 User Guide 참조

동작 방식

모니터링 방법

k-NN Stats API를 사용해 원격 인덱스 빌드 작업 상태를 확인 가능:

GET /_plugins/_knn/stats

정확히 뭐가 좋나?

1. 인덱싱 속도 대폭 향상

2. OpenSearch 노드의 CPU 자원 절약

3. 대규모 색인 작업에 최적화

4. 자동 연동 및 병렬 처리 구조

5. 인프라 확장성 확보

요약

항목설명
지원 엔진Faiss (HNSW + FP32)
저장소Amazon S3 (중간 저장소 역할)
성능 향상GPU 사용으로 인덱스 속도 대폭 향상
활용 조건특정 세그먼트 크기 범위 + 지원 구성 사용
APIWarm-up, Stats API 활용 가능

Edit page
Share this post:

Previous Post
OpenSearch Exact k-NN Search — Scoring Script 기반 정확 벡터 검색
Next Post
OpenSearch Hybrid Search — 키워드와 시맨틱 검색 결합 가이드