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

サービングクラスター内のデータベース

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

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

Note

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

始める前に​

以下を確認してください。

  • Dedicated サービングクラスターを作成済みであること。

  • サービングクラスターエンドポイントを取得していること。たとえば 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)

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

以下のデータベースプロパティは、サービングクラスター内のデータベースに対して設定できます。

プロパティ説明
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",
)

次のステップ​