メインコンテンツまでスキップ

Serving Cluster の Database

この機能は Enterprise プラン以上でのみ利用できます。

serving cluster の database は、Dedicated serving cluster でホストされる collection の論理コンテナです。このページでは、serving cluster エンドポイントを通じて database を作成、表示、設定、使用、削除する方法を説明します。

📘Note

このページは serving cluster 内の database を対象としています。オンデマンドコンピュートでクエリするプロジェクトレベルの database については、オンデマンド検索向け Database を参照してください。database モデルの比較については、Database Explained を参照してください。

始める前に

次のことを確認してください。

  • Dedicated serving cluster を作成済みであること。

  • serving cluster のエンドポイントを取得していること。例: https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530

  • 認証トークンを取得していること。これは、対象 cluster へのアクセス権を持つ API key、または username:password 形式の cluster 認証情報です。

  • database を管理するための Organization Owner または Project Admin 権限を持っていること。

Dedicated cluster が作成されると、デフォルトの database が自動的に作成されます。Dedicated cluster には最大 1,024 個の database を作成できます。

Database を作成する

Zilliz Cloud コンソールまたはプログラムから database を作成できます。

python
from pymilvus import MilvusClient

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

client.create_database(
db_name="my_database_1",
)

database の作成時にプロパティを設定することもできます。次の例ではレプリカ数を設定しています。

python
client.create_database(
db_name="my_database_2",
properties={
"database.replica.number": 3,
},
)

Database を表示する

database の一覧表示、または特定の database の詳細表示ができます。

python
databases = client.list_databases()
print(databases)

database = client.describe_database(
db_name="default",
)
print(database)

Database プロパティを管理する

次の database プロパティは、serving cluster 内の database に対して設定できます。

PropertyDescription
database.replica.numberdatabase のレプリカ数。
database.max.collectionsdatabase で許可される collection の最大数。
database.force.deny.writingdatabase に対する書き込み操作を拒否するかどうか。
database.force.deny.readingdatabase に対する読み取り操作を拒否するかどうか。

Database プロパティを変更する

次の例では、database に作成できる collection の数を制限しています。

python
client.alter_database_properties(
db_name="my_database_1",
properties={
"database.max.collections": 10,
},
)

Database プロパティを削除する

次の例では、database から collection 数の制限を削除しています。

python
client.drop_database_properties(
db_name="my_database_1",
property_keys=[
"database.max.collections",
],
)

Database を使用する

SDK を使用する場合は、再接続せずに 1 つの database から別の database に切り替えることができます。

📘Note

RESTful API は永続接続上での database 切り替えをサポートしていません。RESTful API リクエストでは、操作が dbName をサポートしている場合、各リクエストボディで対象の database を指定してください。

python
client.use_database(
db_name="my_database_2",
)

Database を削除する

デフォルトの database は削除できません。database を削除する前に、まずその database 内のすべての collection を削除してください。

python
client.drop_database(
db_name="my_database_2",
)

次のステップ

Ctrl I