国内云向量数据库手册
国内云向量数据库手册
适用版本:腾讯云 VectorDB / 阿里云三条产品线 / 百度智能云 VectorDB 双引擎(托管服务无统一公开版本号,核实于 2026-11) 许可与形态:商业闭源国内云托管服务;全托管(百度自研引擎另支持私有化) 一句话定位:三家国内云向量数据库合集,买的是运维责任转移 + 境内数据合规;但产品线名字相似、SDK 互不通用,选型第一步是分清产品 约定:
$普通用户、#root 或 sudo、<xxx>为占位符;标 ⚠️ 的是高危操作。 更新时间:2026-11(版本与 API 变化快,执行前请以官方文档复核)
目录
1. 它是什么、什么时候选它
1.1 横向对照表(一):定位 / SDK / 是否兼容 Milvus
| 产品 | 定位 | SDK / 接入 | 是否兼容 Milvus |
|---|---|---|---|
| 腾讯云 VectorDB | 全托管自研企业级分布式向量库 | tcvectordb(自研,Python/Java/Go/HTTP) |
未核实,官方无声明,按自研 SDK 接入 |
| 阿里 向量检索服务 Milvus 版 | 全托管 Milvus,Serverless,含 Attu、知识库、AI 函数、BM25+混合检索 | pymilvus | 官方声明 100% 兼容开源 Milvus,可用 pymilvus |
| 阿里 AnalyticDB for MySQL 向量检索 | 数仓内核向量检索,SQL + 数组类型 + L2_DISTANCE |
SQL | 不兼容 Milvus SDK(SQL 接口) |
| 阿里 AnalyticDB for PostgreSQL 向量分析 / RAG Service | PG 版向量接口合集(knowledgebase 库、Namespace→Schema、Collection→向量集) | SQL | 不兼容 Milvus SDK |
| 百度 自研引擎 | 在线检索,HNSW / DiskANN / PUCK,支持私有化 | Python/Go/Node.js/Java/C++(Go SDK 名 Mochow) | 不兼容(自研接口) |
| 百度 Milvus 引擎 | 面向依赖 Milvus SDK/API/生态的存量业务上云,支持 2.6 版本 | Milvus SDK/API | 兼容(面向 Milvus 生态) |
避坑:阿里云三条产品线名字都带「向量 / AnalyticDB」,只有「向量检索服务 Milvus 版」能用 pymilvus;百度双引擎接口 / 索引 / 功能范围不同,私有化仅自研引擎支持;腾讯云用自研
tcvectordb,是否兼容 Milvus 未核实。这三条是本合集最容易踩的选型坑。
1.2 核心命题:托管服务买的是运维责任转移
| 你不再负责 | 你仍然负责 |
|---|---|
| 集群部署、分片、副本、多可用区 | 分清产品线、选对 SDK |
| 索引构建、持久化、恢复、扩容 | API key / 凭证管理与轮换 |
| 服务端版本升级、补丁 | 源数据留存与可导出性 |
| 服务化底座与 SLA 底座 | 计费(CU / 存储等)与配额监控 |
| 监控端点 | 境内合规、等保 / 信创适配、VPC 网络规划 |
与 03 分册的索引库不同,这里买的是「整库托管」;与 Pinecone.md / Zilliz-Cloud.md 不同,这里的数据落在境内 region,是数据出境约束下的主要替代路线。
1.3 分产品定位(子产品小节)
腾讯云 VectorDB:全托管自研企业级分布式向量库;单索引 10 亿级向量、百万级 QPS、毫秒级延迟(官方产品口径)。SDK tcvectordb(Python 3.8+),另有 Java / Go / HTTP;文档页面更新时间 2026-04-29;托管服务无公开版本号。
阿里云:三条产品线必须分开看 —— Milvus 版是全托管 Milvus(Serverless、计费 CU + 存储、可用性 99.9%、VPC 部署,文档更新 2026-09-23);ADB MySQL 向量检索是数仓内核 + SQL;ADB PostgreSQL 向量分析 / RAG Service 是 PG 版接口合集。
百度智能云 VectorDB:双引擎 —— 自研引擎(在线检索、HNSW/DiskANN/PUCK、标量过滤、中英文全文检索、RRF 或带权重融合、多向量、JSON/数组/动态字段、支持私有化)与 Milvus 引擎(2.6 版本、标准版实例 Streaming/Data/Proxy/元数据/Query Node、双可用区、自动备份)。文档 2026-07-20 有更新。
1.4 适合 / 不适合
适合:数据必须留境内 / 有出境合规约束;已在该云上有账号、VPC、预算与运维体系;阿里 Milvus 生态存量业务上云(Milvus 版 / 百度 Milvus 引擎);需要私有化部署(百度自研引擎);需要 SQL 侧向量检索(阿里 ADB 两条);不想自建集群。
不适合:需要跨云标准协议随时迁出(腾讯云自研 SDK 绑定深);强依赖 pymilvus 却选了 ADB 两条或百度自研引擎;需要明确服务端版本号做兼容验证(腾讯云无公开版本号、阿里 Milvus 版引擎版本未核实);需要自定义索引内核调优;预算固定且计费口径不透明。
1.5 规模与链路位置
腾讯云官方口径:单索引 10 亿级向量、百万级 QPS、毫秒级延迟;Free / QPS 承诺值其余产品官方资料未给出,以控制台与实测为准。示例用 3~4 维,实际常见 768 / 1024 / 1536。链路:embedding → SDK 写入 → 建索引 → 检索(含标量 / 混合过滤)→ 重排 / 拼 prompt。文档管理、权限、审计仍在调用方。
1.6 计费维度与额度限制
| 产品 | 计费维度 | 额度 / 限制 |
|---|---|---|
| 阿里 Milvus 版 | CU + 存储 | 可用性 99.9%、VPC 部署 |
| 阿里 ADB MySQL | 官方资料未提供 | 内核 ≥3.1.4.0,官方建议 3.1.5.16 / 3.1.6.8 / 3.1.8.6 及以上;否则需先关 CSTORE_PROJECT_PUSH_DOWN、CSTORE_PPD_TOP_N_ENABLE |
| 腾讯云 VectorDB | 官方资料未提供 | 单索引 10 亿级向量、百万级 QPS、毫秒级延迟;无公开版本号 |
| 百度 Milvus 引擎 | 官方资料未提供 | 2.6 版本、标准版实例、双可用区、自动备份 |
| 百度自研引擎 | 官方资料未提供 | 支持私有化部署 |
官方资料未提供各产品单价,以官方价格页为准,本篇不编造数字。
1.7 网络与合规(数据出境)
三家都是国内云,数据存境内 region,相较 Pinecone / Zilliz Cloud 无跨境出境问题,但仍需满足等保 / 信创等境内合规要求(经验性表述,以法务与官方合规文档为准)。
- 阿里 Milvus 版:VPC 部署;腾讯云官方示例用内网
http://10.0.X.X接入;百度 Milvus 引擎:双可用区 + 自动备份。 - 私有化部署仅百度自研引擎支持(官方资料明确),其余产品为公有云托管。
- 混合架构:若同时使用海外托管(
Pinecone.md/Zilliz-Cloud.md),要划清「哪些数据出境、哪些留境内」的边界。
1.8 SDK 绑定与迁移成本
| 产品 | 绑定点 | 迁出代价 |
|---|---|---|
| 腾讯云 VectorDB | 自研 tcvectordb(RPCVectorDBClient / Index / Document / SearchParams) |
高:是否兼容 Milvus 未核实,不能假设可平移;接入层全重写 |
| 阿里 Milvus 版 | pymilvus | 低:可回自建 Milvus / Zilliz / 百度 Milvus 引擎 |
| 阿里 ADB MySQL / PG 两条 | SQL + 数仓 / PG 生态 | 中:绑定 SQL 与内核版本 |
| 百度自研引擎 | 自研 SDK(含 Go 的 Mochow) | 高:接口 / 索引 / 功能范围与 Milvus 引擎不同 |
| 百度 Milvus 引擎 | Milvus SDK/API(2.6) | 低:面向 Milvus 生态 |
1.9 「没有可核对的服务端版本号」的运维含义
腾讯云 VectorDB 托管服务无公开版本号;阿里 Milvus 版具体 Milvus 引擎版本号未核实;仅百度 Milvus 引擎明确支持 2.6 版本。运维含义:
| 含义 | 影响 |
|---|---|
| 服务端版本多不可核对 | 无法按版本对照行为 / 复现 bug,工单要带产品形态与文档更新时间 |
能锁定的是 SDK(tcvectordb / pymilvus / SQL) |
升级 = 换 SDK,必须跑回归 |
| 能力按产品形态分档,不按版本分档 | 双引擎 / 三条产品线的差异是形态差异,不是版本差异 |
| 变更窗口由厂商决定 | 订阅各家文档更新(腾讯云 2026-04-29、阿里 2026-09-23、百度 2026-07-20) |
| 文档更新时间可作「能力快照」 | 引用结论时带上核查日期,别写成永久事实 |
2. 版本、许可与官方入口
2.1 版本状态表(分产品,版本线不可混用)
| 产品 | 版本 / 时间 | 状态 | 备注 |
|---|---|---|---|
| 腾讯云 VectorDB | 无公开版本号;文档更新 2026-04-29 | 当前 | 自研 SDK |
| 阿里 Milvus 版 | 具体 Milvus 引擎版本号未核实;文档更新 2026-09-23 | 当前 | 官方声明 100% 兼容开源 Milvus |
| 阿里 ADB MySQL | 内核 ≥3.1.4.0,建议 3.1.5.16 / 3.1.6.8 / 3.1.8.6+ | 当前 | SQL 接口 |
| 百度 Milvus 引擎 | 2.6 版本 | 当前 | 标准版实例、双可用区、自动备份 |
| 百度自研引擎 | 文档更新 2026-07-20 | 当前 | 支持私有化 |
| pymilvus 客户端 | 版本以各家 Quickstart 为准 | 不同线 | 与服务端版本不可混用 |
2.2 许可与商业边界
三家均为商业闭源托管服务。百度自研引擎的 Go SDK 名 Mochow(Apache-2.0) 是官方资料明确的开源组件,不代表服务端开源。企业特性与 SLA 条款以官方为准;阿里 Milvus 版可用性 99.9% 为官方资料明确口径。
2.3 官方入口表
| 产品 | 地址 |
|---|---|
| 腾讯云 VectorDB 文档 | https://cloud.tencent.com/document/product/1709 |
| 腾讯云 Python 最小示例 | https://cloud.tencent.com/document/product/1709/95102 |
| 腾讯云 SDK 源码 | https://github.com/Tencent/vectordatabase-sdk-python |
| 阿里 Milvus 版 | https://help.aliyun.com/zh/milvus/product-overview/product-introduction |
| 阿里 ADB MySQL 向量检索 | https://www.alibabacloud.com/help/zh/doc-detail/2937260.html |
| 阿里 ADB PostgreSQL | https://help.aliyun.com/zh/analyticdb/analyticdb-for-postgresql/ |
| 百度 VectorDB 文档 | https://cloud.baidu.com/doc/VDB/ |
| 百度双引擎说明 | https://cloud.baidu.com/doc/VDB/s/zmvonjul2 |
| 百度 Milvus 引擎 | https://cloud.baidu.com/doc/VDB/s/4mnod5bqn |
2.4 版本识别命令
无服务端版本命令,识别客户端与连通性:
$ python3 -m pip show tcvectordb
$ python -m pip show pymilvus
2.5 近两年重要变更与弃用提醒
官方资料未提供三家逐版本变更史与弃用清单。可执行的提醒是:阿里三条产品线长期并存、名字相似;百度双引擎接口不同;腾讯云无公开版本号。其余以各家文档更新为准,本篇不臆造。
3. 安装与启动
3.1 前置条件(分产品)
| 产品 | 前置条件 |
|---|---|
| 腾讯云 VectorDB | Python 3.8+;内网可达(示例 http://10.0.X.X);账号 root + API key |
| 阿里 Milvus 版 | Python + pymilvus;VPC 内端点与凭证从控制台获取 |
| 阿里 ADB 两条 | SQL 客户端;对应内核版本(MySQL ≥3.1.4.0) |
| 百度自研引擎 | 对应语言 SDK(Python/Go/Node.js/Java/C++,Go 为 Mochow) |
| 百度 Milvus 引擎 | Milvus SDK/API(2.6 版本) |
3.2 方式一:pip 安装客户端(分产品)
# 腾讯云 VectorDB
$ pip3 install tcvectordb
# 阿里 Milvus 版(标准 pymilvus)
$ python3 -m pip install pymilvus
避坑:阿里 ADB MySQL / PostgreSQL 两条、百度自研引擎不使用
pymilvus;百度自研引擎的逐字 pip 安装命令与官方 Python 最小接入代码官方资料未核实,以官方文档为准(见第 11 章)。
3.3 方式二:云控制台 + 客户端连通
三家均在控制台创建实例 / 集群(无本地命令)。腾讯云按官方示例连通:
$ python -c "import tcvectordb; from tcvectordb.model.enum import ReadConsistency; c = tcvectordb.RPCVectorDBClient(url='http://10.0.X.X', username='root', key='<API_KEY>', read_consistency=ReadConsistency.EVENTUAL_CONSISTENCY, timeout=30); print('client ok')"
阿里 Milvus 版用 pymilvus 的 MilvusClient(uri=..., token=...) 连通(端点 / token 从控制台获取,逐字接入以官方文档为准)。
3.4 方式三:Docker / Helm / 私有化
腾讯 / 阿里 / 百度 Milvus 引擎均为公有云托管,无自托管镜像;私有化部署仅百度自研引擎支持(官方资料明确),具体部署方式以官方文档为准。需要 Docker / Helm 自建的场景见 Milvus 分册。
3.5 目录与端口表 / 健康检查 / 生产最小配置
| 项 | 值 / 做法 |
|---|---|
| 本地监听端口 | 无(全托管) |
| 网络 | 腾讯云内网 URL;阿里 VPC;百度双可用区 |
| 本地数据目录 | 无;源数据由调用方自己留 |
| 健康检查 | 客户端连通 + 控制台实例状态;无 /health 端点可依赖 |
| 认证 | API key / 账号密码;分环境、走密钥管理 |
| 生产最小配置 | pin SDK 版本、VPC 白名单、配额 / 计费告警、源数据备份 |
| 日志 | 客户端日志 + 云控制台;无本地日志文件 |
4. 核心概念与数据模型
4.1 横向对照表(二):数据模型 / 许可 / SDK / 兼容 Milvus
| 产品 | 定位 | 数据模型 | SDK / 接入 | 是否兼容 Milvus |
|---|---|---|---|---|
| 腾讯云 VectorDB | 自研企业级分布式 | database → collection → document;Index 含 VectorIndex / FilterIndex | tcvectordb |
未核实 |
| 阿里 Milvus 版 | 全托管 Milvus | 标准 Milvus collection / schema / field | pymilvus | 100% 兼容 |
| 阿里 ADB MySQL | 数仓内核 | 表 + 数组类型 + L2_DISTANCE |
SQL | 不兼容 |
| 阿里 ADB PostgreSQL | PG 接口合集 | knowledgebase 库、Namespace→Schema、Collection→向量集 | SQL | 不兼容 |
| 百度自研引擎 | 在线检索 | JSON / 数组 / 动态字段、多向量 | 自研 SDK(Go 为 Mochow) | 不兼容 |
| 百度 Milvus 引擎 | 存量上云 | 标准 Milvus 模型(2.6) | Milvus SDK/API | 兼容 |
4.2 术语对照表(腾讯云侧,官方示例逐字)
| 术语 | 通用术语 | 关系型类比 | 说明 |
|---|---|---|---|
RPCVectorDBClient |
客户端 | 连接 | url / username / key / read_consistency / timeout |
create_database |
建库 | CREATE DATABASE | 示例 db-test |
create_collection |
建集合 | CREATE TABLE | shard=1, replicas=1, index=... |
VectorIndex |
向量索引 | 向量列索引 | 'vector', 3, IndexType.HNSW, MetricType.COSINE, HNSWParams(m=16, efconstruction=200) |
FilterIndex |
标量索引 | 普通列索引 | PRIMARY_KEY / FILTER |
Document |
文档 | 一行 | id / vector / bookName |
SearchParams |
检索参数 | 查询选项 | ef=200 |
4.3 术语对照表(阿里 / 百度侧)
| 术语 | 说明 |
|---|---|
阿里 ADB PostgreSQL Namespace→Schema、Collection→向量集 |
PG 版接口合集的映射关系 |
L2_DISTANCE |
阿里 ADB MySQL 向量检索函数 |
| 阿里 Milvus 版 Attu / 知识库 / AI 函数 / BM25+混合检索 | 托管侧附加能力 |
| 百度自研引擎 HNSW / DiskANN / PUCK | 三种索引 |
| 百度自研引擎 RRF 或带权重融合 | 混合检索融合方式 |
| 百度 Milvus 引擎 Streaming/Data/Proxy/元数据/Query Node | 标准版实例组件 |
4.4 距离度量与方向
腾讯云示例用 MetricType.COSINE;阿里 ADB MySQL 用 L2_DISTANCE;百度自研引擎索引 / 度量完整枚举官方资料未给出。经验上 COSINE 类相似度越大越相似、L2 类距离越小越相似,但取值与阈值以各家官方文档为准,不要跨产品套用。
4.5 写入 → 建索引 → 可检索的生命周期(腾讯云侧)
create_database → 构造 Index(FilterIndex, VectorIndex, FilterIndex) → create_collection(shard, replicas, index) → upsert(documents=[Document(...)]) → search(vectors=..., filter=..., params=SearchParams(ef=200), limit=3)。
| 特性 | 事实 |
|---|---|
| 动态 Schema | 官方资料明确:未建 Filter 索引的字段不可过滤 |
| 一致性 | 示例用 ReadConsistency.EVENTUAL_CONSISTENCY |
| 是否异步 / 是否需要 load | 官方资料未明确,以官方文档为准 |
避坑:动态 Schema 不等于「任意字段都能过滤」。想按某标量字段过滤,建集合时就要为它建
FilterIndex,否则filter条件不生效。
5. 快速上手:完整 CRUD 示例
说明:本章按子产品分小节。腾讯云给出官方最小示例(逐字方法名与参数);其余产品因官方资料未提供逐字接入代码,只说明接入路径并标注以官方为准,不臆造方法名。
5.1 腾讯云 VectorDB:完整可运行示例(Python 3.8+)
import tcvectordb
from tcvectordb.model.enum import FieldType, IndexType, MetricType, ReadConsistency
from tcvectordb.model.index import Index, VectorIndex, FilterIndex, HNSWParams
from tcvectordb.model.document import Document, SearchParams
# 连接
client = tcvectordb.RPCVectorDBClient(
url='http://10.0.X.X', username='root', key='<API_KEY>',
read_consistency=ReadConsistency.EVENTUAL_CONSISTENCY, timeout=30)
# C:建库 + 建集合(向量 3 维,示例值;实际常见 768 / 1024 / 1536)
db = client.create_database(database_name='db-test')
index = Index(
FilterIndex('id', FieldType.String, IndexType.PRIMARY_KEY),
VectorIndex('vector', 3, IndexType.HNSW, MetricType.COSINE,
HNSWParams(m=16, efconstruction=200)),
FilterIndex('bookName', FieldType.String, IndexType.FILTER))
db.create_collection(name='book-vector', shard=1, replicas=1, index=index)
# U/C:插入文档
client.upsert(database_name='db-test', collection_name='book-vector',
documents=[Document(id='0001', vector=[0.2123, 0.23, 0.213], bookName='三国演义')])
# R + 带标量过滤检索
res = client.search(database_name='db-test', collection_name='book-vector',
vectors=[[0.3123, 0.43, 0.213]],
filter='bookName in ("三国演义")',
params=SearchParams(ef=200), limit=3)
print("检索 =", res)
# U:更新(upsert 语义,同 id 再写一次即覆盖)
client.upsert(database_name='db-test', collection_name='book-vector',
documents=[Document(id='0001', vector=[0.2123, 0.23, 0.213], bookName='三国演义(修订)')])
# D / 清理:单文档删除与删除集合的方法名官方资料未逐字给出,以官方文档为准(见第 11 章)
避坑:旧教程容易把三家 SDK 混着抄。腾讯云用的是自研
tcvectordb(RPCVectorDBClient/Index/Document/SearchParams),不是 pymilvus;tcvectordb是否兼容 Milvus SDK 未核实,官方无声明,按自研 SDK 接入。
5.2 输出怎么读
search 返回命中文档;filter='bookName in ("三国演义")' 为标量过滤;params=SearchParams(ef=200) 控制 HNSW 检索;limit=3 为返回条数。分数语义与阈值以腾讯云官方文档为准;id 是业务主键。
5.3 阿里云三条产品线(分小节)
- 向量检索服务 Milvus 版:官方声明 100% 兼容开源 Milvus、可用 pymilvus,接入方式与
Zilliz-Cloud.md第 5 章同源(MilvusClient(uri=..., token=...)),端点 / token 从控制台获取;具体 Milvus 引擎版本号未核实,逐字接入代码官方资料未提供,以官方文档为准(见第 11 章)。 - AnalyticDB for MySQL 向量检索:SQL + 数组类型 +
L2_DISTANCE;内核需 ≥3.1.4.0(建议 3.1.5.16 / 3.1.6.8 / 3.1.8.6+),否则需先关CSTORE_PROJECT_PUSH_DOWN、CSTORE_PPD_TOP_N_ENABLE。不兼容 Milvus SDK。 - AnalyticDB for PostgreSQL 向量分析 / RAG Service:SQL 接口,knowledgebase 库、Namespace→Schema、Collection→向量集。不兼容 Milvus SDK。
5.4 百度智能云 VectorDB(分小节)
双引擎接入路径不同:自研引擎用自研 SDK(Python/Go/Node.js/Java/C++,Go SDK 名 Mochow),官方 Python 最小接入代码官方资料未核实;Milvus 引擎用 Milvus SDK/API(2.6 版本)。两种引擎接口 / 索引 / 功能范围不同,私有化仅自研引擎支持。逐字接入代码以官方文档为准(见第 11 章)。
6. 索引与检索进阶
6.1 横向对照表(三):索引 / 检索能力 / SDK / 兼容 Milvus
| 产品 | 定位 | 索引 / 检索能力 | SDK / 接入 | 是否兼容 Milvus |
|---|---|---|---|---|
| 腾讯云 VectorDB | 自研分布式 | HNSW + HNSWParams(m, efconstruction)、SearchParams(ef)、标量 filter、动态 Schema |
tcvectordb |
未核实 |
| 阿里 Milvus 版 | 全托管 Milvus | 标准 Milvus 索引 + BM25+混合检索、Attu、AI 函数 | pymilvus | 100% 兼容 |
| 阿里 ADB MySQL | 数仓内核 | SQL + 数组 + L2_DISTANCE |
SQL | 不兼容 |
| 阿里 ADB PostgreSQL | PG 接口合集 | SQL 向量接口合集 | SQL | 不兼容 |
| 百度自研引擎 | 在线检索 | HNSW / DiskANN / PUCK、标量过滤、中英文全文检索、RRF 或带权重融合、多向量 | 自研 SDK | 不兼容 |
| 百度 Milvus 引擎 | 存量上云 | 标准 Milvus 能力(2.6) | Milvus SDK/API | 兼容 |
6.2 参数调优表(腾讯云侧,官方示例值)
| 参数 | 示例值 | 影响 | 建议 |
|---|---|---|---|
VectorIndex 维度 |
3 | 与写入向量一致 | 与 embedding 模型一致 |
IndexType.HNSW / MetricType.COSINE |
示例 | 索引 / 度量 | 按模型选 |
HNSWParams(m=16, efconstruction=200) |
16 / 200 | 图密度、构建质量与耗时 | 以实测为准 |
SearchParams(ef=200) |
200 | 检索候选、召回与延迟 | 从小到大压测 |
shard=1, replicas=1 |
1 / 1 | 分片与副本 | 按容量与可用性规划 |
limit=3 |
3 | 返回条数 | 兼顾过滤后剩余量 |
filter |
bookName in ("三国演义") |
标量过滤 | 字段须建 FilterIndex |
除官方示例值外,默认值与推荐范围均为经验性表述,以各家官方文档与实测为准。
6.3 召回 / 延迟 / 过滤 / 混合检索
- 调大
SearchParams(ef=...)提升召回上限、抬升延迟;HNSWParams调大提升图质量、抬升构建时间与内存。没有统一最优值,用自己的 query 集压测。 - 腾讯云标量过滤依赖
FilterIndex(动态 Schema 下未建 Filter 索引的字段不可过滤);pre / post-filter 行为官方资料未给出,以官方文档为准。 - 混合检索:阿里 Milvus 版明确有 BM25+混合检索;百度自研引擎有中英文全文检索 + RRF 或带权重融合;其余产品以官方文档为准。
⚠️ 危险:过滤条件 Selective 时返回条数可能少于
limit。业务若依赖「必须凑够 k 条」,要放大limit再截断。
6.4 量化与压缩
官方资料未给出三家量化 / 压缩的逐字能力说明,以各家官方文档为准,本篇不臆造参数名。
6.5 容量估算:不估内存,估配额与账单
托管侧不规划磁盘 / 内存,规划的是配额与计费:阿里 Milvus 版按 CU + 存储(可用性 99.9%、VPC 部署)估算;腾讯云按官方口径的 10 亿级向量 / 百万级 QPS 能力档规划分片与副本;百度 Milvus 引擎按标准版实例组件与双可用区规划。原始向量仍可按 n × d × 4 字节粗算(1,000,000 × 768 × 4 ≈ 2.86 GiB,仅向量,索引另算)。单价官方资料未提供,以官方价格页为准;以上为经验估算,以实测为准。
7. 生产部署与运维
7.1 前提:不自己搭集群
本章不写「部署集群 / 配副本 / 调分片」—— 那些是云厂商的责任。你要运维的是:分清产品线与 SDK、凭证管理、计费与配额、境内合规与 VPC 网络、客户端 SDK 生命周期五件事。
7.2 备份与恢复
| 项 | 做法 |
|---|---|
| 底座持久化 | 由各云厂商托管,用户不做快照 / 恢复 |
| 百度 Milvus 引擎 | 官方资料明确 双可用区 + 自动备份 |
| 用户侧备份 | 保留源数据与可导出能力:定期导出,确保能在另一产品重建 |
| 删除风险 | 删除前确认已导出;各产品回收站 / 恢复能力官方资料未给出,以官方文档为准 |
| 恢复演练 | 定期用导出数据在空实例重建并跑召回校验 |
⚠️ 危险:切换引擎 / 产品线前先导出。百度双引擎接口不同、阿里三条产品线 SDK 不同,没有导出就没有回退路径。
7.3 多可用区 / 高可用
高可用与多可用区由各云厂商负责:阿里 Milvus 版官方资料明确可用性 99.9% + VPC 部署;百度 Milvus 引擎明确双可用区;腾讯云以官方文档为准。用户不配副本、不做跨区切换。健康检查用客户端连通 + 控制台实例状态。
7.4 密钥轮换(分产品)
| 步骤 | 做法 |
|---|---|
| 生成 / 存储 | 腾讯云 key='<API_KEY>'、阿里 / 百度控制台凭证,一律走环境变量 / 密钥管理,禁止入库入仓 |
| 轮换 | 生成新凭证 → 全量客户端灰度替换 → 观察无报错 → 吊销旧凭证 |
| 多环境 | 开发 / 预发 / 生产用不同凭证,便于计量与隔离 |
| 泄露处置 | 立即吊销、轮换、审计调用量突增 |
| 权限 | RBAC / VPC 安全组 / 项目级隔离以各家官方文档为准 |
⚠️ 危险:一次性全量替换凭证会造成线上瞬时鉴权失败,必须灰度并保留旧凭证直至新凭证全量生效。
7.5 成本监控
| 指标 | 告警阈值建议(经验值) | 为什么 |
|---|---|---|
| 阿里 Milvus 版 CU / 存储 | 超预算环比告警 | 该线计费口径明确为 CU + 存储 |
| 单索引向量数 / QPS | 接近官方能力档告警 | 腾讯云 10 亿级 / 百万级 QPS 为规划参照 |
| 集合 / 实例数 | 接近配额告警 | 各家配额官方资料未给,以控制台为准 |
| 内核版本(阿里 ADB MySQL) | < 3.1.4.0 告警 | 低版本需先关两个开关 |
| 凭证 / 删除操作审计 | 任何删除即告警 | 跨产品重建成本高 |
| 文档更新时间 | 引用结论时核查 | 三家文档更新不同步 |
7.6 升级与跨版本迁移 / 安全基线
服务端无可升级项(腾讯云无公开版本号、阿里 Milvus 版引擎版本未核实、百度 Milvus 引擎 2.6)。你要做的是:pin SDK 版本(tcvectordb / pymilvus / SQL 客户端)→ 订阅各家文档更新 → SDK 升级前跑回归 → 灰度发布。跨产品线迁移要重写接入层(见第 1.8 节)。
| 面 | 建议 |
|---|---|
| 认证 | API key / 账号密码,最小权限、分环境、定期轮换 |
| 网络 | VPC / 内网接入;出口与白名单按各家文档 |
| 数据合规 | 境内 region;等保 / 信创适配;私有化仅百度自研引擎支持 |
| 日志 | 客户端日志 + 云控制台;记录 SDK 版本、产品形态、文档更新时间 |
系统级服务管理(systemd / 防火墙基础)属通用运维,见根目录手册,本篇不重复。
8. 高频故障与排障
| 症状 | 可能原因 | 定位命令 / 方法 | 处置 |
|---|---|---|---|
| 连不上 / 认证失败 | url / key 错、不在 VPC 内、凭证轮换 | 第 3.3 节连通自检;查控制台状态 | 核对内网 URL / VPC / 新凭证 |
| 用 pymilvus 连腾讯云 / 阿里 ADB 两条报错 | 用错 SDK:腾讯云自研 tcvectordb,阿里仅 Milvus 版兼容 pymilvus |
pip show tcvectordb pymilvus;核对产品名 |
分别改用 tcvectordb / SQL,或换「向量检索服务 Milvus 版」 |
| 腾讯 / 阿里过滤不生效 | 动态 Schema 下字段未建 Filter 索引 | 检查 Index 里的 FilterIndex |
建集合时为过滤字段补 FilterIndex |
| 阿里 ADB MySQL 结果异常 | 内核 < 3.1.4.0 未关两个开关 | 查内核版本 | 升级到 3.1.5.16 / 3.1.6.8 / 3.1.8.6+,或先关 CSTORE_PROJECT_PUSH_DOWN、CSTORE_PPD_TOP_N_ENABLE |
| 百度换引擎后接口全错 | 双引擎接口 / 索引 / 功能范围不同 | 核对实例引擎类型 | 按引擎选 SDK;私有化仅自研引擎支持 |
| 查不到 / 召回低 | SearchParams(ef=200) 偏小、过滤后滤光 |
放大 ef / limit;核对 MetricType |
压测调参;过滤行为以官方为准 |
| 查询慢 / CU 飙升 | limit / ef 过大、刷量 |
看控制台用量 | 收敛参数,加限流 |
| 版本升级后报错 | 换了 SDK 版本,或按未核实的引擎版本推断行为 | pip show;查文档更新时间 |
pin 版本、跑回归;引擎版本未核实,别硬套 |
| 过滤结果变少 | 过滤 Selective、limit 偏小 |
打印过滤前后条数 | 放大 limit 再截断 |
| 私有化部署失败 | 选了不支持私有化的引擎 | 核对产品形态 | 仅百度自研引擎支持私有化 |
9. 常见坑与避坑清单
- 现象:以为阿里三条带「向量 / AnalyticDB」的产品都能用 pymilvus。原因:只有「向量检索服务 Milvus 版」100% 兼容开源 Milvus、可用 pymilvus。怎么做:另两条走 SQL。
- 现象:以为腾讯云 VectorDB 能直接套 pymilvus。原因:用自研
tcvectordbSDK,是否兼容 Milvus 未核实、官方无声明。怎么做:按自研 SDK 接入,别假设可平移。 - 现象:百度双引擎接口混用报错。原因:两种引擎接口 / 索引 / 功能范围不同。怎么做:按实例引擎类型选 SDK,切换引擎要重写接入层。
- 现象:想私有化部署却选了 Milvus 引擎。原因:私有化部署仅百度自研引擎支持。怎么做:私有化项目选自研引擎。
- 现象:动态 Schema 下过滤条件不生效。原因:未建 Filter 索引的字段不可过滤。怎么做:建集合时为过滤字段补
FilterIndex。 - 现象:阿里 ADB MySQL 向量查询结果异常。原因:内核 < 3.1.4.0 且未关两个开关。怎么做:升级到 3.1.5.16 / 3.1.6.8 / 3.1.8.6+,或先关
CSTORE_PROJECT_PUSH_DOWN、CSTORE_PPD_TOP_N_ENABLE。 - 现象:把「具体 Milvus 引擎版本号」写进阿里 Milvus 版方案。原因:该版本号未核实。怎么做:只写「100% 兼容开源 Milvus」,不写死引擎版本。
- 现象:把腾讯云 VectorDB 写成有服务端版本。原因:托管服务无公开版本号。怎么做:记录 SDK 版本与文档更新时间(2026-04-29)。
- 现象:照百度自研引擎的 Python 教程抄代码报错。原因:官方 Python 最小接入代码官方资料未核实。怎么做:以官方文档为准,不臆造方法名。
- 现象:以为 Go SDK Mochow 的 Apache-2.0 代表服务端开源。原因:Mochow 只是自研引擎的 Go SDK。怎么做:服务端仍是商业托管。
- 现象:跨产品线迁移时发现接入层全要重写。原因:SDK 绑定不同(
tcvectordb/ pymilvus / SQL / 自研)。怎么做:选型时把迁移成本算进去,保留源数据导出。 - 现象:删了实例才想起没导出。原因:托管不等于免备份。怎么做:⚠️ 删除 / 切换前先导出并二次确认,纳入删除审批。
⚠️ 危险:第 1、2、3 条会让接入层从第一天就选错 SDK,返工成本最高;第 12 条会造成数据不可恢复,必须做删除审批与恢复演练。
10. 速查表
10.1 横向对照表(四):速查版
| 产品 | 定位 | SDK / 接入 | 是否兼容 Milvus |
|---|---|---|---|
| 腾讯云 VectorDB | 自研企业级分布式 | tcvectordb(自研) |
未核实 |
| 阿里 向量检索服务 Milvus 版 | 全托管 Milvus,Serverless | pymilvus | 100% 兼容 |
| 阿里 ADB MySQL 向量检索 | 数仓内核 + SQL | SQL + 数组 + L2_DISTANCE |
不兼容 |
| 阿里 ADB PostgreSQL 向量分析 | PG 接口合集 | SQL | 不兼容 |
| 百度自研引擎 | 在线检索、支持私有化 | 自研 SDK(Go 为 Mochow) | 不兼容 |
| 百度 Milvus 引擎 | 存量 Milvus 上云,2.6 | Milvus SDK/API | 兼容 |
10.2 操作速查表
| 操作 | 命令 / 代码 | 说明 |
|---|---|---|
| 装腾讯云 SDK | pip3 install tcvectordb |
Python 3.8+ |
| 装 pymilvus | python3 -m pip install pymilvus |
阿里 Milvus 版 / 百度 Milvus 引擎 |
| 查 SDK 版本 | pip show tcvectordb / pip show pymilvus |
无服务端版本命令 |
| 腾讯云连接 | tcvectordb.RPCVectorDBClient(url=..., username='root', key=..., read_consistency=..., timeout=30) |
官方示例 |
| 腾讯云建库 | client.create_database(database_name='db-test') |
|
| 腾讯云建索引 | Index(FilterIndex(...), VectorIndex(...), FilterIndex(...)) |
含 HNSWParams |
| 腾讯云建集合 | db.create_collection(name=..., shard=1, replicas=1, index=index) |
|
| 腾讯云写入 | client.upsert(database_name=..., collection_name=..., documents=[Document(...)]) |
同 id 覆盖 |
| 腾讯云检索 | client.search(..., vectors=..., filter=..., params=SearchParams(ef=200), limit=3) |
|
| 过滤前提 | 字段须建 FilterIndex |
动态 Schema 限制 |
| 阿里 Milvus 版 | pymilvus 的 MilvusClient |
端点从控制台取 |
| 阿里 ADB MySQL | L2_DISTANCE + SQL |
内核 ≥3.1.4.0 |
| 阿里低版本开关 | 关 CSTORE_PROJECT_PUSH_DOWN、CSTORE_PPD_TOP_N_ENABLE |
否则结果异常 |
| 百度自研引擎 | 自研 SDK(Go 为 Mochow) | Python 最小代码未核实 |
| 百度 Milvus 引擎 | Milvus SDK/API(2.6) | 双可用区、自动备份 |
| 私有化 | 仅百度自研引擎支持 | 其余为公有云托管 |
| 数据出境 | 境内 region | 仍需等保 / 信创评估 |
| 换产品 | 先导出源数据 | 接入层需重写 |
常用端口与路径小表
| 项 | 值 |
|---|---|
| 腾讯云示例 URL | http://10.0.X.X(内网,占位符) |
| 阿里 Milvus 版 | VPC 部署,端点从控制台获取 |
| 百度 Milvus 引擎 | 标准版实例、双可用区 |
| 本地监听端口 | 无(全托管) |
| 官方入口 | https://cloud.tencent.com/document/product/1709 | https://help.aliyun.com/zh/milvus/product-overview/product-introduction | https://cloud.baidu.com/doc/VDB/ |
11. 参考与延伸
11.1 官方文档链接清单
| 产品 | 地址 |
|---|---|
| 腾讯云 VectorDB 文档 / 最小示例 / SDK 源码 | https://cloud.tencent.com/document/product/1709 | https://cloud.tencent.com/document/product/1709/95102 | https://github.com/Tencent/vectordatabase-sdk-python |
| 阿里 Milvus 版 / ADB MySQL / ADB PostgreSQL | https://help.aliyun.com/zh/milvus/product-overview/product-introduction | https://www.alibabacloud.com/help/zh/doc-detail/2937260.html | https://help.aliyun.com/zh/analyticdb/analyticdb-for-postgresql/ |
| 百度 VectorDB / 双引擎 / Milvus 引擎 | https://cloud.baidu.com/doc/VDB/ | https://cloud.baidu.com/doc/VDB/s/zmvonjul2 | https://cloud.baidu.com/doc/VDB/s/4mnod5bqn |
11.2 与本册其他产品的关系
- 同属「托管服务买的是运维责任转移」:
Pinecone.md(专有 SDK、境外)、Zilliz-Cloud.md(全托管 Milvus、pymilvus、境外)。 - 数据出境约束下,本篇是
Pinecone.md/Zilliz-Cloud.md的境内替代路线;阿里 Milvus 版 / 百度 Milvus 引擎与Zilliz-Cloud.md同用 pymilvus,迁移成本较低。 - 不想要托管、想自己控索引:见 03 分册
Faiss.md、hnswlib-Annoy-ScaNN.md。
11.3 进阶阅读方向
三条产品线 / 双引擎的选型矩阵与迁移成本评估;境内合规(等保 / 信创)与 VPC 网络规划;pymilvus 与自研 SDK 的接入层抽象;混合检索(BM25 + 稠密、RRF 融合)在各家的落地差异;托管服务无公开版本号下的变更管理。
11.4 本篇「未核实 / 以官方为准」事项
| 事项 | 状态 |
|---|---|
| 腾讯云 VectorDB 是否兼容 Milvus SDK | 未核实(官方资料「六、未核实清单」第 6 条,官方无声明);正文按「按自研 SDK 接入」处理,未写成确定结论 |
| 阿里云 Milvus 版具体 Milvus 引擎版本号 | 未核实(同上,官方资料第 16 节亦标注);正文只写「100% 兼容开源 Milvus」 |
| 百度 VectorDB 官方 Python 最小接入代码 | 未核实(同上);第 5.4 节未臆造方法名,以官方文档为准 |
腾讯云 tcvectordb 单文档删除 / 删除集合的方法名与参数 |
官方资料未逐字给出,第 5.1 节标注以官方文档为准 |
| 阿里三条产品线、百度双引擎的逐字接入代码与端点 | 官方资料未提供,第 5.3 / 5.4 节只写接入路径,以各家 Quickstart 为准 |
| 三家计费单价、SLA 赔付条款、具体配额数字 | 官方资料未提供(仅阿里 Milvus 版「CU + 存储、99.9%」为已核实),不编造数字 |
| 三家过滤的 pre/post-filter 行为、量化 / 压缩能力、REST 端点 | 官方资料未提供逐字说明,以官方文档为准 |
| 托管服务公开版本号 | 腾讯云明确无公开版本号;阿里 / 百度除 Milvus 引擎 2.6 外未提供,以官方文档为准 |
| 百度自研引擎 SDK 的逐字 pip 命令与包名 | 官方资料只给语言清单与 Go SDK 名 Mochow,其余以官方文档为准 |