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

Serving クラスターのデータベース

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

Serving クラスターのデータベースは、Dedicated Serving クラスターでホストされるコレクションの論理コンテナです。このページでは、Serving クラスターのエンドポイントを通じて、データベースの作成、表示、設定、使用、削除を行います。

Note

このページは、Serving クラスターのデータベースを対象としています。オンデマンドコンピューティングでクエリされるプロジェクトレベルのデータベースについては、オンデマンド検索用のデータベース を参照してください。データベースモデルの比較については、データベースの解説 を参照してください。

事前準備​

以下を満たしていることを確認してください。

  • Dedicated Serving クラスターを作成済みであること。

  • Serving クラスターのエンドポイント(例: https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530)があること。

  • 認証トークンがあること。これは、ターゲットクラスターへのアクセス権を持つ API キー、または username:password 形式のクラスター認証情報です。

  • データベースを管理するための Organization Owner または Project Admin アクセス権があること。

Dedicated クラスターが作成されると、デフォルトのデータベースが自動的に作成されます。Dedicated クラスター内には最大 1,024 個のデータベースを作成できます。

データベースを作成する​

データベースは、Zilliz Cloud コンソールから、またはプログラムで作成できます。

python
from pymilvus import MilvusClient

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

client.create_database(
db_name="my_database_1",
)

データベースの作成時にプロパティを設定することもできます。次の例では、レプリカ数を設定します。

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

データベースを表示する​

データベースを一覧表示するか、特定のデータベースの詳細を取得します。

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

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

データベースプロパティを管理する​

Serving クラスターのデータベースでは、以下のデータベースプロパティを設定できます。

プロパティ説明
database.replica.numberデータベースのレプリカ数です。
database.max.collectionsデータベースで許可されるコレクションの最大数です。
database.force.deny.writingデータベースの書き込み操作を拒否するかどうかです。
database.force.deny.readingデータベースの読み取り操作を拒否するかどうかです。

データベースプロパティを変更する​

次の例では、データベース内に作成できるコレクション数を制限します。

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

データベースプロパティを削除する​

次の例では、データベースからコレクションの制限を削除します。

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

データベースを使用する​

SDK を使用する場合は、再接続せずにデータベースを切り替えられます。

Note

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

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

データベースを削除する​

デフォルトデータベースは削除できません。データベースを削除する前に、まずデータベース内のすべてのコレクションを削除してください。

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

次のステップ​