60 秒回答模板

传统数据库的核心是结构化数据管理,按表、行、列、主键和关系组织数据,查询通常是精确匹配、范围查询、聚合和事务读写,索引以 B+ 树、哈希、倒排等结构为主,强调 ACID、约束、并发控制和可恢复性。向量数据库的核心是相似度检索,它存储 embedding,查询是给一个向量找 top-k 最近邻,常用 HNSW、IVF、PQ 等近似最近邻索引,在召回率、延迟和内存之间取舍。它通常还会支持 metadata filter,但这不是传统 SQL 能力的完整替代。事务上,传统 OLTP 数据库更适合做源数据和强一致更新;向量库更像检索索引,更新、删除、重建索引和一致性语义要具体看系统设计。工程上二者不是谁替代谁:业务事实放传统数据库,语义召回和相似度搜索放向量库,再用主键把结果回查到权威数据源。

考点 左右对比画传统数据库和向量数据库
难度 真实面经题
回答目标 讲清查询、索引和事务边界

深入解析

01

查询目标不同

传统数据库回答的是确定性问题,例如某个用户的订单、某个时间范围内的交易、满足条件的记录集合。向量数据库回答的是相似性问题,例如这个问题和哪些文档语义最接近、这个商品和哪些商品 embedding 最像。前者的查询条件主要是标量字段和关系约束,后者的核心输入是高维向量和距离函数。

02

索引结构不同

传统数据库索引用来加速精确匹配、范围扫描、排序和连接,常见结构是 B+ 树、哈希索引、倒排索引等。向量数据库索引用来在高维空间里快速找近邻,常见思路是图索引、聚类倒排、量化压缩或组合方案。向量索引通常是近似的,重点是在召回率、内存、构建成本和查询延迟之间取得平衡。

03

结果语义不同

传统数据库查询的结果要么满足条件,要么不满足条件,正确性更偏确定性。向量检索返回的是相似度排序,top-k 结果受 embedding 模型、距离度量、索引参数和过滤条件影响。面试时要说明向量库的结果需要后续重排、阈值、业务过滤或人工评估,不能把相似度分数当成业务事实。

04

事务能力不同

传统 OLTP 数据库通常提供成熟的事务、隔离级别、日志恢复、唯一约束和外键约束。向量数据库更常见的定位是检索索引,很多系统会支持插入、删除和 metadata 更新,但索引可见性、批量构建、删除回收和强一致事务能力往往不是它的主优势。强一致业务状态应由传统数据库或专门的事务系统承载。

05

混合查询要看执行顺序

实际使用里常见的查询是向量相似度加 metadata filter,例如只查某个权限范围、某个类目、某个时间段的文档。这里有两种思路:先用标量条件过滤再做向量召回,或者先召回再过滤。前者可能损失召回或增加索引复杂度,后者可能拿不到足够候选。回答时要体现这是一种执行计划和性能取舍。

06

工程搭配最重要

向量数据库不应该替代业务数据库。常见架构是业务数据库保存权威记录,离线或增量任务生成 embedding 并写入向量库,检索时向量库返回候选 ID,再回业务库取详情、权限和最新状态。这样既能利用语义检索,又不会把事务一致性、权限和审计全部压到向量库上。

易错点

  • 把向量数据库说成只是多存了一个 float 数组的 MySQL,忽略相似度检索和 ANN 索引。
  • 只说向量库更快,没有说明它快的是近似近邻检索,不是所有数据库查询。
  • 认为向量库可以完全替代 OLTP 数据库,漏掉事务、约束、恢复和权威数据源。
  • 把 metadata filter 当成完整 SQL 能力,没有讨论过滤顺序和召回损失。
  • 没有说明向量结果需要重排、阈值或业务校验,直接把相似度当成事实正确性。
  • 忽略增量更新、删除、索引重建和数据一致性,只讲离线建库的理想情况。

面试官追问

向量数据库为什么常用近似最近邻,而不是精确遍历?

高维向量全量遍历的计算量太大,在线检索很难满足延迟要求。近似最近邻用召回率换延迟和成本,再通过重排或业务过滤弥补。

HNSW 这类图索引的直观思想是什么?

可以理解为把向量组织成近邻图,查询时从入口点沿着更相似的节点跳转,逐步接近目标区域。它牺牲一定构建和内存成本,换取较快的近邻搜索。

向量库支持 metadata filter 后是否就等价于关系型数据库?

不等价。metadata filter 主要服务检索前后的候选约束,关系型数据库还承担事务、约束、连接、聚合、恢复和复杂查询优化等能力。

删除向量时有哪些工程问题?

删除不只是删一行,还涉及索引结构更新、墓碑标记、后台 compact、旧结果可见性和重建成本。对强一致删除敏感的场景要特别设计。

向量库的召回结果如何评估?

离线看标注集上的 recall@k、MRR、NDCG 和相似度分布,线上看点击、转化、人工反馈、重排后命中率和 badcase。不能只看查询耗时。

什么场景不适合优先上向量数据库?

如果需求主要是精确条件查询、强事务读写、复杂聚合或严格报表,传统数据库更合适。向量库适合语义召回、相似推荐、RAG 检索和去重聚类等场景。