파티션 생성
이 항목에서는 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())
}