文档中心>向量数据库

Collection

最近更新时间:2023-12-08 16:15:42

我的收藏
Collection 是一组具有相似属性的文档集合,相当于关系型数据库中的表。在向量数据库中,数据存储为 Document,一组文档构成一个 Collection,一个 Database 中可以包含多个 Collection。

管理集合

腾讯云向量数据库(Tencent Cloud VectorDB)提供了一组 API 接口,用于创建、删除和查看数据库中的集合,方便管理数据库的集合。如下表所示。
API 接口
功能
SDK
详细信息
创建集合
创建集合,需指定分片数、副本数、主键索引、向量索引(包括索引类型、相似度计算方法)、Filter 索引等。
应用 Embedding 功能, 创建 Collection 时,需指定 Embedding 模型,并配置相关参数。
删除集合
Python:drop_collection()
删除操作将清除集合下的所有数据。
展示指定 Database 下的所有集合列表
Python:list_collections()
展示数据库下所有的集合。
返回指定集合的详细信息
展示指定集合的分片/副本配置、状态、文档数量、创建时间等详细信息。
清空集合
清空集合中所有数据与索引。

副本和分片

创建 Collection 时可以根据预估数据规模和业务需求,指定集合的副本数和分片数。
分片数量:可根据数据规模判断,单分片数据量建议控制在300万以内,例如,若某个 Collection 有500万向量,可设置2个分片。如果数据量小于300万,建议使用1分片。系统对1分片有特定优化,可显著提升性能。当前支持的分片数量最小为1分片,最大为100分片。
副本数量:可以根据业务容灾以及吞吐量来判断,当前支持的副本数量两可用区最少为1个(不包含主节点),三可用区最少为2个,最大不超过实例的节点数量。搜索请求量越高的索引,建议设置越多的副本数,避免负载不均衡。并且,副本默认为可读,可以分担主节点的读压力,提升系统性能。

动态 Schema

腾讯云向量数据库(Tencent Cloud VectorDB)支持在创建 Collection 时灵活扩展标量字段,同时支持在更新数据时新增字段。这意味着用户无需预先定义所有的字段,可以根据需要在插入数据时自动识别并调整模式。这种设计使得 VectorDB 更加灵活和易于使用,同时也避免了预定义所有字段带来的限制。具体规则如下:
使用 /collection/create 接口创建 Collection 时,仅需根据不同 Index 类型指定索引字段即可。
使用 /document/upsert 接口写入数据时,可灵活增加或删除标量字段,数据库会自动识别并调整模式。
使用 /document/update 接口更新数据时,支持更新已有字段的数据,支持新增字段。

Index

腾讯云向量数据库具备 Schemaless 特性。即不需要预先定义模式,便可以将任意数量和类型的字段添加到 Document 中。使用时,仅需关注需要构建索引的字段。索引的具体信息,请参见 Index