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

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

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

📘Notes

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

📘Notes

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

事前準備​

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

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

  • サービングクラスターのエンドポイントを取得していること(例: https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530)。

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

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

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

データベースの作成​

Zilliz Cloud RESTful API または SDK を使用して、プログラムからデータベースを作成できます。

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
}
)

データベースの参照​

Zilliz Cloud RESTful API または SDK を使用して、既存のすべてのデータベースを一覧表示し、その詳細を確認できます。

python
# List all existing databases
client.list_databases()

# Output
# ['default', 'my_database_1', 'my_database_2']

# Check database details
client.describe_database(
db_name="default"
)

# Output
# {"name": "default"}

データベースプロパティの管理​

Each データベース has its own properties, you can set the properties of a データベース when you create the データベース as described in Create データベース or you can alter and drop the properties of any existing 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"
]
)

データベースの使用​

Zilliz Cloud から切断せずに、あるデータベースから別のデータベースに切り替えることができます。

📘Notes

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

python
client.use_database(
db_name="my_database_2"
)

データベースの削除​

データベースが不要になったら、そのデータベースを削除できます。次の点に注意してください。

  • デフォルトのデータベースは削除できません。

  • データベースを削除する前に、まずデータベース内のすべてのコレクションを削除する必要があります。

Zilliz Cloud RESTful API または SDK を使用して、プログラムからデータベースを削除できます。

python
client.drop_database(
db_name="my_database_2"
)

よくある質問​

データベースの権限を管理するにはどうすればよいですか?​

Zilliz Cloud では、権限を管理するためにロールベースアクセス制御(RBAC)を使用しています。特定の権限を持つロールを作成してユーザーに割り当てることで、異なるデータベースへのユーザーのアクセスを制御できます。詳細については、RBAC ドキュメント を参照してください。

データベースにクォータ制限はありますか?​

はい、Zilliz Cloud では、コレクションの最大数など、データベースのクォータ制限を設定できます。制限の包括的な一覧については、Zilliz Cloud の制限に関するドキュメント を参照してください。

次のステップ​