购买实例之前,请了解向量数据库所支持的实例类型、节点类型与节点规格,本文从实际经验给出选择实例规格的建议或评估方法,帮助您选择与业务场景高度匹配的数据库实例。
选择实例类型
选择节点类型
腾讯云向量数据库依据存储节点 CPU 与内存资源分配比例不同,分为存储型和计算型两类。
节点类型 | CPU与内存分配比例 | 主要特点 | 适用场景 | 典型业务 |
计算型 | 1:2 | 主要用于快速查找和检索向量数据,计算性能非常高 价格相对较高 | 特别适用于高并发查询请求、流量大、延迟敏感的场景 | 实时推荐、广告投放等 |
标准型 | 1:4 | 具有均衡的计算和存储资源 价格适中 | 适用于绝大多数日常业务 | RAG应用 |
存储型 | 1:8 | 主要用于存储和管理大规模的向量数据,计算性能较弱 价格相对较低 | 特别适用于数据量大、数据增长快、查询 QPS 相对较低的场景 | 数据清洗、审核流等 |
选择节点规格
腾讯云向量数据库基于 CPU 计算能力、内存大小及其存储能力,将节点规格划分为不同层级。具体信息,请参见下表。
节点类型 | CPU | 内存(GB) | 建议向量数据规模 (基于1536维32位 Float 存储下估算的向量规模,不包含标量数据) | 建议向量数据规模
(基于768维32位 Float 存储下估算的向量规模,不包含标量数据) |
计算型 | 1 | 2 | 250,000 | 500,000 |
| 2 | 4 | 500,000 | 1,000,000 |
| 4 | 8 | 1,000,000 | 2,000,000 |
| 8 | 16 | 2,000,000 | 4,000,000 |
| 16 | 32 | 4,000,000 | 8,000,000 |
| 24 | 48 | 6,000,000 | 12,000,000 |
| 32 | 64 | 8,000,000 | 16,000,000 |
标准型 | 1 | 4 | 500,000 | 1,000,000 |
| 2 | 8 | 1,000,000 | 2,000,000 |
| 4 | 16 | 2,000,000 | 4,000,000 |
| 8 | 32 | 4,000,000 | 8,000,000 |
| 12 | 48 | 6,000,000 | 12,000,000 |
| 16 | 64 | 8,000,000 | 16,000,000 |
存储型 | 1 | 8 | 1,000,000 | 2,000,000 |
| 2 | 16 | 2,000,000 | 4,000,000 |
| 4 | 32 | 4,000,000 | 8,000,000 |
| 6 | 48 | 6,000,000 | 12,000,000 |
| 8 | 64 | 8,000,000 | 16,000,000 |
选择业务匹配的节点规格,需要依据实际业务数据量所需的内存来评估。
单节点所需内存 = 向量索引内存 + 标量索引内存
其中,向量索引内存是用来存储向量数据的索引信息,标量索引内存是用来存储非向量数据的索引信息。可根据如下公式进行内存用量预估(非精确计算):
单节点所需内存 = 1.2 × 向量数据量 × 向量维度 × 4 ÷ (1024^3)
1.2:是一个经验系数,用来考虑索引的压缩率和其他因素。
向量数据量:指向量数据的总量。
向量维度:指向量数据的维度。
4:是一个常数,表示一个浮点数在内存中占用的字节数。
1024^3:表示1GB的字节数。
例如,业务有100万数据,向量数据为1536维,QPS 要求不高,则:向量索引所需内存 = 1.2 × 1000000 × (1536 × 4 + 16 × 10) ÷ (1024 ^ 3) ≈ 7.04GB,对照 节点规格 列表可选择存储型
1核8GB
规格。按照此计算方式选择的规格已预留一定内存,若业务需要存储更多标量字段,或者可能存在扩展,可选择更大规格实例。选择节点数量
腾讯云向量数据库采用分布式架构,支持多节点通信与协调,目前支持1~30个节点。默认选择3个节点来保证高可用。如果单个节点的规格小于业务所需内存,那么就需要使用多个节点来组成一个集群,以满足业务需求。可以按照以下公式将单个节点所需的内存大小转化为节点数,计算需要的节点数量。
节点数 = 单节点所需内存 × (1+副本数) ÷ 单节点规格
单节点所需内存:指一个节点需要的内存大小,包括向量索引内存和标量索引内存。
单节点规格:指每个节点的内存规格,即每个节点可以提供的内存大小。
副本数:指每个节点的副本数量。
说明:
当前支持的副本数量最大不超过实例的节点数量,两可用区最少为1个(不包含主节点),三可用区最少为2个,单机版不支持设置数据副本。
搜索请求量越高的索引,建议设置越多的副本数,避免负载不均衡。并且,副本默认为可读,可以分担主节点的读压力,提升系统性能。