Database 概述
Database 是项目内 Collection 的逻辑容器。
Zilliz Cloud 支持两种类型的 Database,具体取决于其托管和访问方式。
Serving 集群中的 Database
这一类 Database 是指在特定的 Serving 集群中创建的 Database。当创建 Serving 集群时,系统会随之自动创建一个默认的 Default database。您也可以根据需要,在同一个 Serving 集群中创建额外的 database。
这一类 Database 可通过 Serving 集群 Endpoint 完成所有操作,包括 DDL、DML(Insert、Upsert、Delete)和 DQL(Search、Query)。
Serving 集群中的 Database 的生命周期与其所属的 Serving 集群绑定:
-
如果 Serving 集群被挂起,其中所有 Database 及其 Collection 都将不可用,直到该集群恢复。
-
如果 Serving 集群被删除,其中所有 Database 和 Collection 也会一并删除。
此类 Database 适用于需要始终在线、低延迟访问数据的生产工作负载。
下图展示了项目、Serving 集群、Database 和 Collection 之间的组织关系。
项目
└── Serving 集群
├── Database (default)
│ ├── Collection_01
│ └── Collection_02
│
└── Database
├── Collection_03
└── Collection_04
按需计算中的 Database
除了 Serving 集群中的 Database 之外,还有另一种项目级别的 Database,它不绑定到任何特定集群。此类 Database 由平台管理,您无需为其预配置或维护集群。您可以指定按需计算资源,对这类 Database 中的数据执行 Query 和 Search。
这种类型的 Database 支持以下操作:
操作 | 是否支持 |
|---|---|
创建/删除 Database | 是 |
创建/删除 Collection | 是 |
加载/释放 Collection | 无需操作 |
Search, Query | 是 |
Import | 是 (Import 仅适用于按需计算 Database 中的 Managed Collection。详情请参见 External Collection 限制。) |
Insert, Upsert, Delete | 否 |
这种类型的 Database 适用于查询频率较低的大规模数据集。
项目
├── Serving 集群
│ └── Database (default)
│ ├── Collection_01
│ └── Collection_02
│
└── 按需计算 Database
├── External_Collection_01
└── External_Collection_02
对比
下表对这两种 Database 类型进行了比较。
Serving 集群中的 Database | 按需计算中的 Database | |
|---|---|---|
使用场景 | 需要始终在线、低延迟访问数据的生产工作负载 | 具有爆发式 Search 和 Query 需求的大规模数据集 |
托管位置 | 用户创建的 Serving 集群 | 平台托管 |
计算资源 | 由所属 Serving 集群提供 | 由指定的按需计算集群提供 |
Insert/Upsert/Delete | 支持 | 不支持 |
Import/Truncate | 支持 | 支持 |
Search 和 Query | 支持 | 支持 |
生命周期 | 与 Serving 集群绑定 | 独立于任何集群 |
请使用不同的 Endpoint 连接两种不同类型的 Database。详情请参见访问端点。