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

データベース

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

データベースとは

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

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

Oe7EwkvLDhT9p6b1o3tcFYMlnI9

事前準備

データベースを管理するには、Organization OwnerまたはProject Admin権限が必要です。

データベースの作成

データベースはDedicatedクラスターでのみ作成できます。クラスター作成時にデフォルトデータベースが作成されます。

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

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

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

create-database

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

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

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から切断することなく、1つのデータベースから別のデータベースに切り替えることができます。

📘Notes

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

client.use_database(
db_name="my_database_2"
)

データベースの削除

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

  • デフォルトデータベースは削除できません。
  • データベースを削除する前に、まずデータベース内のすべてのコレクションを削除する必要があります。

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

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

drop-database

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

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

client.drop_database(
db_name="my_database_2"
)