メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

パーティションの管理

パーティションはコレクションのサブセットです。各パーティションは親コレクションと同じデータ構造を共有しますが、コレクション内のデータのサブセットのみを含みます。このページでは、パーティションの管理方法を理解するのに役立ちます。

概要について

コレクションを作成する場合、Zilliz Cloudはコレクション内に_defaultという名前のパーティションを作成します。他のパーティションを追加しない場合、コレクションに挿入されたすべてのエンティティはデフォルトパーティションに入り、すべての検索とクエリもデフォルトパーティション内で実行されます。

パーティションを追加し、特定の条件に基づいてエンティティを挿入することができます。その後、特定のパーティション内で検索とクエリを制限し、検索パフォーマンスを向上させることができます。

1つのコレクションには最大1,024個のパーティションを含めることができます。

📘ノート

パーティションキー」機能は、パーティションに基づく検索最適化であり、Zilliz Cloudが特定のスカラーフィールドの値に基づいてエンティティを異なるパーティションに分散することを可能にします。この機能により、パーティション指向のマルチテナントを実装し、検索パフォーマンスを向上させることができます。

この機能については、このページでは説明しません。詳細については、パーティションキーを使うするを参照してください。

リストパーティション

コレクションを作成する場合、Zilliz Cloudはコレクション内に_defaultという名前のパーティションを作成します。コレクション内のパーティションは以下のようにリストできます。

from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

res = client.list_partitions(
collection_name="quick_setup"
)

print(res)

# Output
#
# ["_default"]

パーティションを作成

コレクションにさらにパーティションを追加し、特定の条件に基づいてこれらのパーティションにエンティティを挿入できます。

client.create_partition(
collection_name="quick_setup",
partition_name="partitionA"
)

res = client.list_partitions(
collection_name="quick_setup"
)

print(res)

# Output
#
# ["_default", "partitionA"]

特定のパーティションを確認する

次のコードスニペットは、特定のコレクションにパーティションが存在するかどうかを確認する方法を示しています。

res = client.has_partition(
collection_name="quick_setup",
partition_name="partitionA"
)

print(res)

# Output
#
# True

パーティションのロードとリリース

1つまたは特定のパーティションを個別にロードまたは解放できます。

パーティションをロードする

コレクション内の特定のパーティションを別々にロードすることができます。コレクション内にアンロードされたパーティションがある場合、コレクションのロード状態はアンロードされたままになることに注意してください。

client.load_partitions(
collection_name="quick_setup",
partition_names=["partitionA"]
)

res = client.get_load_state(
collection_name="quick_setup",
partition_name="partitionA"
)

print(res)
# Output
#
# {
# "state": "<LoadState: Loaded>"
# }

リリースパーティション

特定のパーティションを解放することもできます。

client.release_partitions(
collection_name="quick_setup",
partition_names=["partitionA"]
)

res = client.get_load_state(
collection_name="quick_setup",
partition_name="partitionA"
)

print(res)

# Output
#
# {
# "state": "<LoadState: NotLoaded>"
# }

パーティション内のデータ操作

図形の挿入と削除

特定の操作で挿入、挿入、削除を行うことができます。詳細については、以下を参照してください。

検索とクエリ

特定のパーティション内で検索やクエリを実行できます。詳細については、参照してください。

ドロップパーティション

不要になったパーティションを削除することができます。パーティションを削除する前に、パーティションが解放されていることを確認してください。

client.release_partitions(
collection_name="quick_setup",
partition_names=["partitionA"]
)

client.drop_partition(
collection_name="quick_setup",
partition_name="partitionA"
)

res = client.list_partitions(
collection_name="quick_setup"
)

print(res)

# ["_default"]