Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
ai ai/vector-db/decision-tree.md medium

ai-vector-db-decision

向量库选哪一款的决策树 — 原型/已有PG/零运维/自托管亿级/十亿级各走哪款 + 不要一上来上 Milvus 等规约条款。Use when 决定用哪个向量库 / 评审向量库选型是否过度 / 定迁移阈值时。

向量库决策树选型规约向量库迁移阈值chromaqdrantpgvectordecision tree
paths
  • *.java
  • *.py
  • *.md

向量库 · 选型决策树

本条只管「按场景选哪一款 + 选型规约」。六款各维度细节见 comparison.md;选定后索引怎么建见 index-and-filter.md

决策树

按从上到下第一个命中的条件选库(命中即停):

你的场景 理由
原型 / 本地 demo Chroma 内嵌零部署,十万级足够
已有 PostgreSQL 且 <5M、要与业务数据强一致/join pgvector 复用 PG,原生 SQL 过滤+事务
零运维 / Serverless Pinecone 全托管,无需自己运维
自托管 + 亿级 + 复杂标量过滤是核心 Qdrant 单二进制、payload 索引,性价比高
自托管 + 想 DB 直接 embed / 原生 BM25 hybrid Weaviate 内置向量化与 BM25 混合
生产十亿级 / GPU 索引 / 企业多租户 Milvus 量级最高,但运维最重

规约条款

条款 要求
不过度选型 原型用 Chroma/pgvector,不要一上来就上 Milvus(etcd/MinIO/MQ 运维重)
pgvector 上限 数据冲到数千万级,评估 pgvectorscale 或迁专用库(Qdrant/Milvus)
迁移阈值 5000 万 行 或 云账单超 ~$500/月,触发迁专用库评估
按需选不按名气 选型依据是「贴合量级+运维能力+过滤需求」,不是「谁更强/谁更火」

反例

  • ❌ 百万级原型直接上 Milvus → 三个中间件(etcd/MinIO/消息队列)拖垮迭代速度,违反「不过度选型」。
  • ❌ 已有 PG、量级才几十万,却新引专用库 → 数据双写、一致性成本远高于 pgvector。
  • ❌ 选 Pinecone 但没算账 → 量级一大账单失控,应先比对「迁移阈值」条款。

自检

  • [ ] 是否按决策树「第一个命中即停」选定了唯一一款?
  • [ ] 原型阶段是否避免了直接上 Milvus?
  • [ ] 是否定义了迁移触发阈值(5000 万行 / ~$500 月)?
  • [ ] 选型理由是「贴合场景」而非「名气/性能榜」?

相关