MongoDB为什么更适用于AI对话持久化
MongoDB为什么更适用于AI对话持久化
1. MongoDB应用场景
应用场景中,数据操作方面的特点是:
(1)数据量大
(2)写入操作频繁(读写都很频繁)
(3)价值较低的数据,对事务性要求不高
2. 相比于MySQL的优势
1️⃣ 数据结构天然适合文档存储
对话数据通常是 一整段会话记录,例如:
1 | |
这种数据:
- 层级结构明显
- 字段可能变化
- 不适合强关系表结构
如果用 MySQL:
- 需要设计多张表
- message 表
- session 表
- role 字段等
查询一段完整对话需要 多表 join。
而 MongoDB 可以 一条 document 存整个会话,查询效率更高。
2️⃣ Schema 灵活
AI 对话数据经常变化,例如未来可能增加:
- token 使用量
- 模型版本
- prompt
- RAG 检索片段
在 MySQL:
- 需要频繁
ALTER TABLE
在 MongoDB:
- document 可以直接增加字段。
3️⃣ 对话通常是整段读取
AI 对话的常见查询方式是:
1 | |
MongoDB 可以直接:
1 | |
一次读取完整 document。
如果用 MySQL:
需要:
1 | |
然后再在应用层拼装。
4️⃣ 写入压力更适合文档数据库
AI 对话场景通常是:
- 高频写入
- append message
MongoDB 对这种 日志型写入更友好。