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

データベース

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

データベースとは

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

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

KkS9wtS5IhcP9obYvc1cK10snfg

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

前提条件

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

データベースの作成

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

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

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

コンソールでデータベースを作成する方法は、以下の図のとおりです。

create-database

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

プログラムによるデータベース作成

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

from pymilvus import MilvusClient

client = MilvusClient(
uri="https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530",
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

ブール値

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

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

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