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

データベース

Zilliz Cloud では、クラスターとコレクションの間に データベース(データベース)レイヤーを導入しており、データの管理と整理をより効率的に行えるとともに、マルチテナントをサポートしています。

What is a database

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

Zilliz Cloud では、リソースは以下のような階層構造になっています。

KkS9wtS5IhcP9obYvc1cK10snfg

なお、データベースという概念は Dedicated クラスターでのみ利用可能です。Serverless クラスターや Free クラスターにはデータベースが存在しません。

Prerequisites

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

Create database

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

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

Create a database on the console

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

create-database

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

Create a database programmatically

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 を使用して、既存のすべてのデータベースを一覧表示し、その詳細を確認できます。

# 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"}

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

各データベースには独自のプロパティがあります。データベース作成時にプロパティを設定できます(詳細は プログラムによるデータベースの作成 を参照)し、既存のデータベースのプロパティを変更または削除することも可能です。

以下の表に、設定可能なデータベースプロパティを示します。

プロパティ名

プロパティの説明

database.replica.number

整数

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

database.max.collections

整数

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

database.force.deny.writing

boolean

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

database.force.deny.reading

boolean

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

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

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

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

📘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"
)