파티션 생성

이 항목에서는 Milvus에서 파티션을 만드는 방법에 대해 설명합니다.

Milvus는 대부분의 벡터 데이터를 소수의 파티션으로 나눌 수 있습니다. 이를 통해 검색 및 기타 작업을 하나의 파티션 내로 제한하여 성능을 개선할 수 있습니다.

컬렉션은 하나 이상의 파티션으로 구성됩니다. 새 컬렉션을 만들 때 Milvus는 _default라는 기본 파티션을 생성합니다. 자세한 내용은 용어집 - 파티션을 참조하십시오.

다음 예에서는 book 컬렉션에 novel이라는 파티션을 생성합니다.

err := milvusClient.CreatePartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel"                 // partitionName
)
if err != nil {
  log.Fatal("파티션 생성에 실패했습니다: ", err.Error())
}
매개변수 설명
ctx API 호출 프로세스를 제어하는 컨텍스트.
CollectionName 파티션을 생성할 컬렉션의 이름.
partitionName 생성될 파티션의 이름.

제한 사항

기능 최대 제한
단일 컬렉션 내 파티션 수 4,096

파티션의 존재 여부 확인

지정된 컬렉션 내에 특정 파티션이 존재하는지 확인합니다.

hasPar, err := milvusClient.HasPartition(
   context.Background(),   // ctx
   "book",                 // CollectionName
   "novel",                // partitionName
)
if err != nil {
   log.Fatal("파티션 확인에 실패했습니다: ", err.Error())
}
log.Println(hasPar)

모든 파티션 나열

listPar, err := milvusClient.ShowPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
)
if err != nil {
  log.Fatal("파티션 나열에 실패했습니다: ", err.Error())
}
log.Println(listPar)

파티션 삭제

err := milvusClient.DropPartition(
  context.Background(),   // ctx
  "book",                 // CollectionName
  "novel",                // partitionName
)
if err != nil {
  log.Fatal("파티션 삭제에 실패했습니다: ", err.Error())
}

파티션 로드

Milvus는 사용자가 파티션을 추가 쿼리 노드의 CPU 및 메모리 리소스를 활용하기 위해 여러 복제본으로로드할 수 있습니다. 이를 통해 전반적인 QPS 및 처리량을 향상시킬 수 있습니다.

err := milvusClient.LoadPartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"},      // partitionNames
  false                   // async
)
if err != nil {
  log.Fatal("파티션 로드에 실패했습니다: ", err.Error())
}

파티션 해제

err := milvusClient.ReleasePartitions(
  context.Background(),   // ctx
  "book",                 // CollectionName
  []string{"novel"}       // partitionNames
)
if err != nil {
  log.Fatal("파티션 해제에 실패했습니다: ", err.Error())
}