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

データベース

Zilliz Cloudは、クラスターとコレクションの間にデータベース層を導入し、マルチテナンシーをサポートしながらデータをより効率的に管理および整理する方法を提供します。

データベースとは

Zilliz Cloudでは、データベースはデータを整理および管理するための論理単位として機能します。データセキュリティを強化しマルチテナンシーを実現するために、複数のデータベースを作成して、異なるアプリケーションまたはテナントのデータを論理的に分離できます。たとえば、ユーザーAのデータを保存するデータベースを作成し、ユーザーB用に別のデータベースを作成できます。

リソースはZilliz Cloudで以下の階層的順序で構成されています。

KkS9wtS5IhcP9obYvc1cK10snfg

データベースの概念は専用クラスターでのみ利用可能であることに注意してください。サーバーレスおよび無料クラスターにはデータベースがありません。

前提条件

データベースを管理するには、組織オーナーまたはプロジェクト管理者としてのアクセス権が必要です。

データベースを作成

データベースは専用クラスターでのみ作成できます。クラスターを作成すると、デフォルトデータベースが作成されます。

コンソールで手動またはプログラムで、専用クラスターに最大1,024個のデータベースを作成できます。

コンソールでデータベースを作成

以下の図に示すように、コンソールでデータベースを作成できます。

create-database

作成したコレクションをあるデータベースから別のデータベースに移動することもできます。詳細については、コレクションを管理(コンソール)を参照してください。

プログラムでデータベースを作成

Milvus RESTful APIまたはSDKを使用して、プログラムでデータを作成できます。

from pymilvus import MilvusClient

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

client.create_database(
db_name="my_database_1"
)

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

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

データベースを表示

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

# すべての既存データベースを一覧表示
client.list_databases()

# 出力
# ['default', 'my_database_1', 'my_database_2']

# データベースの詳細を確認
client.describe_database(
db_name="default"
)

# 出力
# {"name": "default"}

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

各データベースには独自のプロパティがあり、プログラムでデータベースを作成で説明したようにデータベースを作成するときにプロパティを設定するか、既存の任意のデータベースのプロパティを変更または削除できます。

以下の表は、考えられるデータベースプロパティをリストしています。

プロパティ名

タイプ

プロパティの説明

database.replica.number

整数

指定されたデータベースのレプリカ数。

database.max.collections

整数

指定されたデータベースで許可されるコレクションの最大数。

database.force.deny.writing

ブール値

指定されたデータベースに書き込み操作を強制的に拒否するかどうか。

database.force.deny.reading

ブール値

指定されたデータベースに読み取り操作を強制的に拒否するかどうか。

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

既存のデータベースのプロパティを以下のように変更できます。以下の例では、データベースで作成できるコレクション数を制限します。

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

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

以下のようにプロパティを削除することにより、データベースプロパティをリセットすることもできます。以下の例では、データベースで作成できるコレクション数の制限を解除します。

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

データベースを使用

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

📘注意

RESTful APIはこの操作をサポートしていません。

client.use_database(
db_name="my_database_2"
)

データベースを削除

データベースが不要になったら、データベースを削除できます。注意点:

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

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

コンソールでデータベースを削除

以下の図の手順に従い、コンソールでデータベースを削除できます。

drop-database

プログラムでデータベースを削除

Milvus RESTful APIまたはSDKを使用して、プログラムでデータを削除できます。

client.drop_database(
db_name="my_database_2"
)