Database Explained
A database is a logical container for collections within a project.
Zilliz Cloud supports two types of databases, depending on how they are hosted and accessed.
Database in serving cluster
A cluster database is created in a specific serving cluster. When a serving cluster is created, a default cluster database is automatically created with it. You can create additional cluster databases in the same serving cluster as needed.
A cluster database has full access to all operations — DDL, DML (insert, upsert, delete), and DQL (search, query) — through the serving cluster endpoint.
The lifecycle of a cluster database is tied to its serving cluster:
-
If the serving cluster is suspended, all cluster databases and collections in it become unavailable until the cluster is resumed.
-
If the serving cluster is dropped, all cluster databases and collections in it are deleted as well.
Cluster databases are suited for production workloads that require always-on, low-latency access to data.
The following diagram shows how projects, serving clusters, databases, and collections are organized.
Project
└── Serving Cluster
├── Database (default)
│ ├── Collection_01
│ └── Collection_02
│
└── Database
├── Collection_03
└── Collection_04
Database in on-demand compute
In addition to the cluster database, there is another type of project-level database that is not tied to any cluster. It is managed by the platform and does not require you to provision or maintain a cluster for it. You specify on-demand compute to perform query search on data in this type of database.
This type of databases support the following operations:
Operations | Supported |
|---|---|
Create/drop database | Yes |
Create/drop collection | Yes |
Load/release collection | No need |
Search, query | Yes |
Import | Yes (Import is only supported for managed collections in on-demand compute databases. For details, see External Collection Limits.) |
Insert, upsert, delete | No |
This type of database is suited for large-scale datasets with infrequent queries.
Project
├── Serving Cluster
│ └── Database (default)
│ ├── Collection_01
│ └── Collection_02
│
└── Databases in on-demand compute
├── External_Collection_01
└── External_Collection_02
Comparison
The following table compares the 2 types of databases.
Database in Serving Cluster | Database in On-Demand Compute | |
|---|---|---|
Best for | Production workloads that require always-on, low-latency access to data. | Large-scale datasets with bursty searches and queries. |
Hosted on | User-created serving cluster | Platform-managed |
Compute resource | Served by the hosting serving cluster | Served by a specified on-demand cluster |
Insert/upsert/delete | Yes | No |
Import/Truncate | Yes | Yes |
Search and query | Yes | Yes |
Lifecycle | Tied to serving cluster | Independent of any cluster |
Use different connection endpoints for the two types of databases. For details, see Connection Endpoints.