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

データベース

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

データベースとは

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

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

Oe7EwkvLDhT9p6b1o3tcFYMlnI9

前提条件

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

データベースの作成

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

Dedicated クラスター内では、コンソール上で手動で、またはプログラムによって最大 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 を使用して、既存のすべてのデータベースを一覧表示し、その詳細を確認できます。

# 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

integer

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

database.max.collections

integer

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

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