跳转到主要内容

规模化部署 Qdrant 与 Milvus:自托管向量搜索何时从资本支出跨越到比 Pinecone 按查询计费更便宜

发布日期 阅读需 3 分钟Mike ThriftMike Thrift
规模化部署 Qdrant 与 Milvus:自托管向量搜索何时从资本支出跨越到比 Pinecone 按查询计费更便宜
本页总览

上个季度你的 Pinecone 账单是 52 美元。这个季度是 1300 美元,而你什么都没改,只是成功了。更多用户、更多文档、更多查询——这正是你想要的增长——而它的每一个单位都按每百万读取单元 16 到 18 美元计费,还得另加存储费。就在那一刻,自托管不再是一项工程爱好,而变成了一个财务问题:从什么时候起,一台跑着 Qdrant 或 Milvus 的固定机器比按查询计费的表更便宜?你又怎么在迁移之前证明这一点?

本文将带你梳理 Pinecone serverless 到底如何计费、自托管 Qdrant 或 Milvus 部署在算上工程时间之后真实成本是多少、帮你定位交叉点的盈亏平衡计算,以及两种方案各自如何记入你的账簿——因为你拥有一台服务器和支付一张账单,不是同一种钱。

Pinecone Serverless 到底怎么计费​

Pinecone 的 serverless 定价有四个旋钮,其中只有一个表现得像订阅制。Standard 套餐有每月 50 美元的最低消费——即使在一个清淡的月份你也得付这笔钱——在此之上,你按使用量在三个维度外加出口流量上付费。

存储是最小的那个旋钮:每 GB 每月 0.33 美元。一个包含 1000 万个 1536 维嵌入的索引大约占 60 GB,所以每月约 20 美元。没人会为了存储而迁移。

读取单元才是推动账单的旋钮。Standard 套餐每百万读取单元收费 16 到 18 美元,费率随云区域而异,而每次查询消耗的读取单元大致与它扫描的索引比例成正比。写入单元更便宜,每百万 4 到 4.50 美元,这在批量摄入和重新嵌入时很重要,但对于读密集型的 RAG 工作负载来说会渐渐退居幕后。自 2026 年 9 月起,超出每月包含的 100 GB 之外的出口流量按每 GB 0.10 美元计费——这条线目一年前几乎不存在,现在值得在你的表格里单独占一行。

免费的 Starter 层(每月 2 GB 存储、100 万读取单元和 200 万写入单元)非常完美地覆盖了原型阶段,而这恰恰是账单会以惊喜形式到来的原因:免费层恰好在使用量开始复利增长时结束。第三方成本对比把 1000 万向量的生产工作负载在 Pinecone serverless 上的成本定为每月 1300 美元或更多,而 5000 万个 768 维向量则根据查询量在 300 到 800 美元之间。在 1 亿向量规模下,基于 pod 的 Pinecone 部署被估计为每月 5000 到 15000 美元。在编预算之前先核实当前的定价表——每个厂商每年至少重新定价一次计量——但曲线的形状是稳定的:Pinecone 的成本随你的成功线性且永远地增长。

自托管 Qdrant 和 Milvus 的真实成本​

自托管用一条平线取代了一个计量表:固定基础设施加上工程时间。两个领先的开源引擎都采用 Apache 2.0 许可,但它们画的平线高度不同。

Qdrant 上手更轻。它是一个单独的 Rust 二进制文件,内存需求适中,负载过滤能力强,量化激进——它的 4 位 TurboQuant 能把密集向量的内存占用削减大约八倍,而普通的 int8 量化大约减半。一个在全精度下需要 60 GB 的 1000 万向量集合,量化后能装进 10 GB 以内,这就是一台 150 美元的机器和一台 600 美元机器的区别。一个著名的迁移案例研究把在 Kubernetes 上自托管 Qdrant 的基础设施成本定在每月约 850 美元,而同样的工作负载在 Pinecone 上每月要花 8400 美元。更小的部署花费远低于此:一台 64 GB 内存的单独专用服务器租金大约每月 100 到 300 美元,可以轻松容纳数千万个量化向量。

Milvus 上手更重,但上限更高。它是一个分布式的云原生系统——协调、数据节点、查询节点和存储各有独立组件——这意味着它能扩展到十亿级向量以上,但也意味着你运营的是一个集群,而不是一个二进制文件。第三方估计把自托管 Milvus 的 5000 万向量工作负载基础设施成本定在每月 600 到 1200 美元,1 亿向量则为 2000 到 5000 美元。在那个规模上它仍然比托管方案便宜一半或更多,但 Qdrant 的简单与 Milvus 的复杂之间的差距是实打实的工程人力。

这份人力是所有人都低估的那一行。那个把自托管 Qdrant 基础设施定价为每月 850 美元的案例研究,为运营额外加上了四分之一个工程师——全成本核算约每月 5000 美元。版本升级、索引调优、备份恢复、凌晨三点的告警:你不再付给 Pinecone 的计量表,有一部分转化成了薪水。公平的比较总会加上这一行。如果你已经在跑 Kubernetes 且已经有人值班,边际成本可能接近于零;如果你要为了照看一个集群而招聘第一位平台工程师,那自托管刚刚贵了每年 15 万美元。

还有一条值得定价的中间路线:托管开源。Qdrant Cloud 按实际集群资源计费,没有固定最低消费,付费集群起价约每月 25 美元,小工作负载还有一个真正免费的 1 GB 集群。Zilliz Cloud 是其原团队打造的托管版 Milvus,serverless 使用量按每百万 vCU 约 4 美元收费,免费层为每月 5 GB 和 250 万 vCU。两者在价格上通常落在 Pinecone 和自托管之间,同时把运营负担保持在接近零——当你的查询量已经超出 Pinecone 的免费层,但还没超出你对值班告警的容忍度时,这就是正确答案。

交叉点计算:找到你的盈亏平衡点​

盈亏平衡公式一张索引卡就能写下。自托管在以下这个月胜出:

固定基础设施 + 工程时间 优于 存储 + (读取单元 × 查询数) + 写入 + 出口流量

用你自己过去三个月的发票来算,而不是用厂商的计算器,因为你的每查询读取单元比率是任何对比文章都给不了你的那个数字。把发票行拉出来,用读取单元除以服务的查询数,你就得到了你的单位成本。然后给固定那一边定价:一台按你量化索引大小配置的专用机器或云 VM,加上一个诚实的工程师比例。

一个演算例子能让这个形状具象化。拿一个 RAG 产品来说,有 1000 万个 1536 维向量,每月 500 万次查询,每月增长 20%。在 Pinecone serverless 上,第三方估计把今天这个工作负载定在每月约 1300 美元——而在每月 20% 的查询增长下,它大约每四个月翻一番。自托管 Qdrant 量化为 int8 后,索引能装进大约 30 GB 内存:一台 64 GB 的专用服务器,比如每月 200 美元,加上全成本每月 5000 美元的四分之一工程师,总计约 5200 美元。这看起来像是亏本——直到你延长这两条线。Pinecone 那条线每四个月翻一番(1300,然后 2600,然后 5200),而自托管那条线保持平坦。交叉点大约落在第八个月,此后每个月差距都朝有利于你的方向扩大。增长越快,交叉点越近;用量平缓可能永远到不了。

从已发布的对比中能推出三个粗略区间。在约 100 万向量以下且查询量适中时,serverless 完胜——Pinecone 的免费层或 50 美元最低消费比任何工程师的时间都划算。在约 1000 万到 5000 万向量之间、查询量稳定时,就处在交叉区间,答案取决于你的增长率以及你是否已有平台工程能力。超过 1 亿向量且查询负载可观时,自托管 Qdrant 或 Milvus 几乎总是在基础设施成本上胜出,往往便宜 50% 到 75%。

一个警告:建模你的增长,而不是你的现状。那些根据今天的账单做决策、忽略每月 20% 增长曲线的团队,六个月后会在截止期限的压力下把整个分析重跑一遍,那是最昂贵的迁移方式。

资本支出还是运营支出?两边如何记入你的账簿​

这正是两种选项不再可互换的地方,因为你拥有的服务器和你支付的账单是不同种类的钱,税务时点也不同。

Pinecone、Qdrant Cloud 和 Zilliz Cloud 的发票属于运营支出,在支付当年可抵扣。唯一的判断是归类:如果向量数据库直接为付费产品服务查询,它的成本就归入销货成本,和其他托管基础设施放在一起,诚实地降低毛利率。如果它支撑的是内部工具——比如给你自己团队用的支持文档搜索——它就和你的其他 SaaS 栈一起放在一般运营支出里。当一个索引同时服务两者时,按用途拆分发票;你未来的收购方的尽调团队反正会按标准 SaaS COGS 定义重新映射你的账簿,所以现在就正确分类。

租用的自托管基础设施——云 VM、来自托管商的专用服务器——同样是运营支出:每月托管费,没有资产,没有折旧表。这会让那些以为“自托管”自动等于资本支出的团队感到意外。租一台机器就是租,不管金属多裸。

自有硬件才是真正的资本支出情形。直接买下服务器,你把它作为固定资产资本化,然后折旧——计算机设备通常属于 5 年 MACRS 财产,而 Section 179 费用化或奖金折旧可能让你在第一年抵扣更多,须符合你注册会计师应确认的当前限额。税务时点能让一台 6000 美元的服务器在现值意义上比每月 150 美元的租金更便宜,即便不算托管节省。但自有硬件也意味着你承担资产风险:凌晨两点一块坏掉的硬盘是你的硬盘,而一个长得超出机器容量的工作负载会把资本困住。

迁移成本——重新嵌入你的语料库、两个系统双跑、工程周数——在几乎所有小企业情形下都按发生即费用化。把它们作为一次性支出计入回收期预算,而不是作为资产。如果迁移每月省 4000 美元,工程时间和重新嵌入计算花了 15000 美元,回收期不到四个月;按这个时钟来做财务决策。

在纯文本账本里,两种制度看起来是这样——按量计费的账单作为每月费用计入收入成本,租用的机器作为托管费,自有服务器每月折旧一点点(记账机制见 Beancount 文档):

2026-01-01 open Assets:Checking USD
2026-01-01 open Expenses:COGS:VectorDB USD
2026-01-01 open Expenses:Infra:Hosting USD
2026-01-01 open Assets:Servers:VectorDB USD
2026-01-01 open Assets:Servers:Accumulated-Depreciation USD
2026-01-01 open Expenses:Depreciation:Servers USD
 
2026-11-01 * "Pinecone" "十月账单,410 万读取单元和 62 GB 存储"
  Expenses:COGS:VectorDB  312.44 USD
  Assets:Checking
 
2026-11-01 * "托管商" "十一月租金,64 GB 专用服务器用于 Qdrant"
  Expenses:Infra:Hosting  199.00 USD
  Assets:Checking
 
2026-11-30 * "月末" "折旧,自有向量搜索服务器,第 3 个月/共 60 个月"
  Expenses:Depreciation:Servers  100.00 USD
  Assets:Servers:Accumulated-Depreciation  -100.00 USD

即便在双跑迁移期间,也要把按量计费的行和固定成本的行放在不同账户。当两个系统同时服务生产一两个月时,混在一起的账户恰恰掩盖了迁移本该证明的那个对比。

所有人都忘记的成本​

有四类成本经常逃出表格,事后伏击迁移。

第一,出口流量和重新摄入。搬运 1 亿向量在两边都不免费:Pinecone 一侧超出包含额度的出口流量,加上如果你同时更换嵌入模型或分块方式时重新嵌入的计算。已发布的估计把一次完整的重新嵌入定在 50 到 5000 美元计算成本,取决于语料库大小,加上迁移本身 4 到 12 周的工程。给迁移定价,而不只是给目的地定价。

第二,检索质量回退。不同的 ANN 索引配上不同的量化会返回不同的近邻,而“不同”有时对你的特定查询来说意味着更差。只按成本迁移、跳过并排相关性评估的团队,会从用户投诉中发现回退。留出一批查询样本,给两个系统打分,在切换前要求持平——评估那一周是迁移预算的一部分。

第三,你付了钱却用不上的延迟。一项对比测得 Pinecone 的 P95 约为 22 毫秒,而一个基于 Postgres 的替代方案为 150 毫秒——在 95% 的 B2B RAG 场景里没人会注意到这个差距,因为语言模型本身就要花好几秒。如果你 chatbot 的瓶颈是 token 生成,那买单位数毫秒的检索就是买用户永远感觉不到的速度。在把厂商匹配到 SLO 之前,先把延迟 SLO 匹配到产品。

第四,退出成本的不对称。从 Pinecone 迁到 Qdrant 意味着导出向量并重建索引——烦人但有边界。在自托管引擎之间迁移,或者以后再迁回托管,会再次带来同样的重新嵌入和重新调优账单。选择有标准导出路径和开放数据格式的引擎,这样下一次迁移,无论朝哪个方向,都从一次导出开始,而不是一个取证项目。

用六个问题做决定​

借用最好的对比文章所趋同的决策框架,用你自己的数字来回答:

  1. 今天语料库多大,十二个月后在哪里?100 万向量以下,打住,继续用 serverless。
  2. 你当前账单上每百万查询的全成本是多少?用三个月的发票除以服务的查询数。
  3. 你已经在运营有状态基础设施吗?一个已有的 Kubernetes 集群配上值班轮换能让自托管的边际成本几乎为零;没有的话它就变成一份招聘计划。
  4. 产品实际需要什么延迟?如果答案是“比 LLM 快”,那几乎每个选项都合格。
  5. 你需要混合搜索——一次查询里同时做关键词加向量?Qdrant、Milvus 和 Weaviate 原生自带;Pinecone 和基于 Postgres 的方案需要手工拼装,那也是账本计费一侧的工程时间。
  6. 增长曲线对交叉点日期做了什么?一个永远不交叉的平缓工作负载,是一个刻意做出的留在原地的决定,而不是惯性使然。

这周就把你过去三张 Pinecone 发票拉出来,算出每百万查询的成本,再给一台按你量化索引大小配置的专用机器定价。如果两条线在一年内交叉,现在就启动相关性评估——迁移要花几周,算术只要一个下午,而最昂贵的结果是从今天算起六个月后在截止期限压力下把两者都重跑一遍。

来源:https://beancount.io/zh/blog/2026/11/11/qdrant-milvus-self-hosted-vs-pinecone-crossover-breakeven-guide

发布日期: 2026年11月11日