搜索本产品文档关键词
实例资源规划
所有文档
menu
没有找到结果,请重新输入

向量数据库 VectorDB

实例资源规划

实例资源规划

1. CPU资源

根据性能白皮书,以Cohere百万768维数据为例,在Recall 99%的情况下,QPS为3784。此数据基于拥有3台4c8g 数据节点的向量数据库实例进行的测试。

单核QPS预估

单核提供QPS能力 = 3784 / 12 ≈ 300

CPU资源预估

预估CPU核数 = 预估QPS / 300

注意:上述是经验公式,实际应用中建议通过压力测试来确定最佳CPU核数

2. 内存资源

向量数据库内存构成

向量数据和向量索引均存储于数据节点,数据节点的内存构成包括预留缓存和向量索引存储空间。

缓存内存公式

缓存内存 = Min(5GB, 0.15 * 内存规格)

向量索引内存管理:为处理索引重构,剩余内存应至少为当前索引所需内存的两倍。

HNSW向量索引内存预估

公式:

(1.1 * (4 * dims + 8 * M) * num of vectors) bytes
  • 其中,M是每个元素的双向链接数。建议取min(向量维度 * 1.5, 32)。

内存需求示例

  • 128维:M=16 -> 671.39MB,M=32 -> 805.67MB
  • 768维:M=16 -> 3.279GB,M=32 -> 3.41GB
  • 960维:M=16 -> 4.066GB,M=32 -> 4.197GB

PUCK向量索引内存预估

公式:

(1.2 * (4 * dims) * num of vectors) bytes

内存需求示例

  • 128维:586M
  • 960维:4.3G

3. 快速评估内存

单节点容纳能力预算:根据节点规格,估算单节点最大支持的向量数据量级。

示例:基于768维HNSW算法索引,M=32,单节点支持的最大向量数据量级:

数据节点内存规格 缓存 向量索引占用的最大内存 支持的最大向量数据量
4GB 600MB 3.4GB 450,000
8GB 1.2GB 6.8GB 900,000
16GB 2.4GB 13.6GB 1,800,000
32GB 4.8GB 27.2GB 3,600,000
64GB 5GB 59GB 8,000,000
128GB 5GB 123GB 16,500,000
256GB 5GB 251GB 33,000,000

4. 节点规模试算

以1亿条768维向量,M=32,副本数为3,节点规格16核64G为例:

  • 向量占用内存总量 = 341 GB
  • 考虑副本,总内存需求: 341*3 = 1023 GB
  • 64G节点(扣除缓存后可用于存储向量索引的内存为29.5GB),需要节点数 ≈ 35 台

5. 存储资源

存储容量计算方式

存储容量 = 源数据大小 * (1 + 数据膨胀 + 内部其他开销) * (1 + 预留空间)
  • 源数据大小 = 标量数据量 + 向量数据量
  • 向量数据量 ≈ (4 dims) num of vectors * 4
  • 通常数据膨胀率为120%-200%,系统需要额外的空间存储内置字段、标量索引、向量索引等,在这些额外的存储需求中,占比最大的通常是向量索引。
  • 内部其他开销预留210%,用于系统合并segment,重建向量索引。
  • 预留空间至少20%
  • 最终需求容量 ≈ 源数据大小的6倍
上一篇
产品规格
下一篇
数据类型