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

データベース

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

データベースとは何ですか

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

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

Ucc1wbR4Eh3vLbbGE5PcutU8nzf

データベースの概念は専用クラスタにのみ利用可能であることに注意することができます。サーバーレスおよびフリークラスタにはデータベースがありません。

前提条件

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

データベースの作成

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

コンソールで手動またはプログラムで、専用クラスタに最大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"
]
)

データベースを削除

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

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

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

コンソールにデータベースをドロップする

次の図の手順に従って、コンソールにデータベースをドロップできます。

drop-database

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

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

client.drop_database(
db_name="my_database_2"
)