数据检索的范式转移:从关系型数据库 (RDB) 到向量数据库 (Qdrant) 的深度剖析
随着大语言模型(LLM)和生成式人工智能的爆发式增长,“向量数据库”作为 AI 的外挂“长期记忆”迅速走红。在众多向量数据库中,Rust 编写的 Qdrant 以其极高的检索性能、完善的过滤机制与友好的开发体验,成为了行业焦点。
然而,许多传统开发者经常会产生疑问:既然传统关系型数据库(如 MySQL、PostgreSQL)已经支持全文检索甚至 JSON 存储,为什么我们还需要一个像 Qdrant 这样的向量数据库?两者到底有什么深层区别?
本文将从数据建模、检索数学原理、索引物理结构以及混合架构设计等维度,对关系型数据库(RDB)与以 Qdrant 为代表的向量数据库进行深度技术剖析。
一、 精确的逻辑关系 vs 模糊的语义空间
两者的根本区别,在于对“数据关联”与“相似性”的定义范式不同。
1. 关系型数据库:精确的代数匹配
关系型数据库建立在关系代数(Relational Algebra)的基础之上。其核心逻辑是精确匹配与逻辑判断(是或非)。
* 如果你查询 WHERE age > 18 AND status = 'active',数据库会借助 B+ 树索引,以严格的数学大小判断和等值逻辑,筛出完全符合条件的行。
* 在文本检索上,虽然 RDB 提供了 LIKE 或全文索引(如 MySQL 的 Full-Text Index、PostgreSQL 的 pg_trgm),但它们依然基于字面字符分词(Tokens)的匹配。如果用户搜索“太阳”,系统无法通过字面匹配找出包含“恒星”或“日光”的记录。
2. Qdrant 向量数据库:高维语义空间的距离计算
Qdrant 放弃了关系表格,将所有数据映射到高维向量空间(High-Dimensional Vector Space)中。 * 每一个被存入的对象(文本、图片、音频特征等)都被表示为一串固定维度的浮点数数组(例如由 Embedding 模型生成的 1536 维向量)。 * 在这个高维空间中,数据的关联不再是主外键(PK/FK)的逻辑线索,而是几何空间中的距离。 * 当用户搜索“太阳”时,该词被转化为向量,在多维空间中,它会与“恒星”、“恒温”、“日光”在物理坐标上非常贴近。Qdrant 可以在毫秒内计算出它们之间的几何夹角,即便字面上完全没有重合,也能直接召回最相关的语义信息。
二、 核心数据模型对比
存储结构的差异决定了数据读写的物理逻辑。
【关系型数据库表格】
+----+----------+-----+--------------+
| id | username | age | email | <-- 严格 Schema, 强类型字段
+----+----------+-----+--------------+
| 1 | xiaoming | 20 | xm@gmail.com |
+----+----------+-----+--------------+
【Qdrant 向量数据库 Points】
+-------------------------------------------------------------+
| Point ID: 28ec34f9-6e3f-4e11-85b4-d7cc84eccb8e (UUID) |
+-------------------------------------------------------------+
| Vector: [ 0.142, -0.098, 0.811, ..., -0.322 ] (1536维浮点数) |
+-------------------------------------------------------------+
| Payload: { "text": "用户叫小明", "age": 20, "city": "北京" } | <-- 自由 JSON 元数据
+-------------------------------------------------------------+
1. RDB: 严格的 Schema 和表约束
RDB 使用关系表结构。表由列(Columns)定义,每个字段必须有强类型定义,修改表结构(DDL)在生产环境是非常昂贵的操作。数据之间通过外键约束或中间表建立关联,依赖多表联查(JOIN)拼装出复杂的数据视图。
2. Qdrant: 弹性的 Points 与 Payloads
Qdrant 中没有“表”的概念,最接近的容器是 Collection(集合)。集合中存放的是一个个 Point(数据点),每个 Point 由三部分组成: * ID:一个 64 位整数或标准的 UUID,代表该数据点的唯一标识。 * Vector(向量数组):实际用于数学检索的一维浮点数数组。Qdrant 支持单 Point 挂载多个多维向量(Multi-vector),从而能够对同一实体的不同侧面(如图片的特征向量和对应描述文本的特征向量)同时进行索引。 * Payload(负载):任意的 JSON 格式元数据。不需要提前定义字段结构,开发人员可以动态插入属性。
三、 底层索引与检索物理机制
存储结构的差异直接带来了索引和检索算法的革命性变化。
1. 关系型数据库:B+ 树与确定性查找
RDB 的标准索引是 B+ 树。 * B+ 树通过多路平衡查找树,将查询复杂度限制在 $O(\log N)$。它特别擅长在一维有序数据中做精确的单值查找和范围扫描。 * 其检索是确定性的,只要数据存在,就必定能返回绝对精确的结果。
2. Qdrant 向量数据库:HNSW 图与近似最近邻(ANN)
在高维空间中,经典的 B+ 树或 Kd-Tree 会因为“维度灾难”而完全失效(复杂度退化到 $O(N)$ 暴力搜索)。因此,Qdrant 采用的是近似最近邻(Approximate Nearest Neighbor, ANN)索引算法,其中最主流的是 HNSW(Hierarchical Navigable Small World) 图算法。 * HNSW 原理:它类似于跳表(Skip List)的图结构版本。数据点以图的形式互联,算法在不同层级的图结构上进行“寻路”。在高层进行大跨度的跳转,接近目标后在底层进行精细化的邻居搜索。 * 距离度量:Qdrant 允许用户为集合选择不同的距离计算公式,最常用的包括: * 余弦相似度(Cosine Similarity):关注向量的方向夹角,忽略大小。 * 内积(Dot Product):向量方向与模长的综合考量。 * 欧氏距离(L2 Distance):计算多维空间中两点间的绝对直线距离。 * 检索特点:ANN 检索是概率性的。它通过牺牲一极小部分的召回精度(如 99% 的准确率),来换取海量数据(亿级向量)在几毫秒内的极速响应。
四、 混合检索 (Hybrid Search) 的兴起
如果向量数据库仅仅只能搜索向量,那么我们在筛选属性时就会非常麻烦(例如:只检索“2026年之后发布的、关于Python的、与AI相似的”文章)。
Qdrant 引入了强大的混合检索与 Payload 索引机制: * 开发者可以为 Payload(JSON 负载)中的字段创建索引,如全文索引(Full-Text)、数值索引(Numerical)、布尔索引(Bool)和地理位置索引(Geo)。 * 检索时,Qdrant 可以把 Payload 过滤条件注入到 HNSW 寻路的过程中。这样在进行高维向量空间计算时,就能同步把不符合布尔条件的分支剪枝掉。 * 这使得 Qdrant 兼具了关系型数据库的精确过滤能力和向量数据库的模糊语义搜索能力。
五、 MySQL 与 Qdrant 的共生架构设计
在现代 AI 应用的架构中,Qdrant 和关系型数据库往往是共生互补的关系。以下是一个典型的 RAG 智能体系统架构:
+------------------------------------+
| 用户发起请求 (Web UI) |
+-------------------+----------------+
|
v
+-------------------+----------------+
| FastAPI 后端业务服务器 |
+---------+----------------+---------+
| |
[业务流/关系数据] | | [语义记忆/相似文本]
v v
+----------------+---+ +-----+----------+
| MySQL 数据库 | | Qdrant 数据库 |
| (用户/账单/关系数据)| | (向量特征/记忆) |
+--------------------+ +----------------+
- MySQL 负责“硬数据”:处理需要强事务一致性(ACID)的数据,例如用户的个人基本信息、订阅账单、权限级别以及对话本身的会话元数据。
- Qdrant 负责“软记忆”:处理需要进行非结构化关联的部分,存储经过向量化的历史对话内容(Memory Points),为 LLM 提供毫秒级的上下文检索。
- 两者通过关联 Point ID 和 MySQL 里的行 Primary Key,即可无缝联动。
六、 总结
关系型数据库是“结构化商业逻辑的基石”,它依靠关系代数、B+树和严格约束,守护着业务数据的金库;而 Qdrant 向量数据库则是“AI 语义理解的视网膜”,它依靠 HNSW 图算法和几何空间度量,为机器搭起了联想和记忆的桥梁。
在构建新一代 AI 应用时,理解并融合两者的边界,设计合理的混合存储架构,才是发挥数据最大价值的正确姿势。
本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。



暂无评论
还没有人评论过本文,快来发表你的高见吧!