节目 从零开始学AI 下一集
第 77 集

ParticleDB:把四种数据库装进一个引擎

2026-11-02 approximately 8 minutes 入门
音频暂未上线
Mike

欢迎来到从零开始学AI。今天先不讲模型,讲一个模型离不开的东西:数据库。

Sarah

这个切入点好。很多人以为 Agent 聪明就够了,其实它做一次决定,背后要查一堆数据。

Mike

比如一个客服 Agent。它得先查工单表,知道这个用户买了什么;再查会话状态,知道上一步问到哪;然后做一次向量检索,找出相似的退款政策;最后跑一条聚合,看看这类问题最近是不是变多。

Sarah

这四步,在传统架构里要跨四套系统。Postgres、Redis、向量库、分析库,各查一遍。

Mike

每一步都有网络往返,每一步都可能读到旧数据。真正贵的不是查询,是把四份数据拼成一个能用的上下文。

Sarah

所以今天要聊的 ParticleDB,就是想把这几套系统并成一个。

Mike

它官网的定位很直接:给 AI Agent 的数据库。关系型事实、向量记忆、实时运营数据,放进一个引擎。

Sarah

一个引擎里到底装了哪几种能力?

Mike

五种。关系型 SQL,支持表、join 和 ACID 事务;键值,兼容 Redis 的命令;向量检索,有专门的向量类型和距离排序;实时分析,列式执行,直接查运营数据;最后是 Particles。

Sarah

前四个我都能理解,Particles 是什么?

Mike

简单说,就是你自己写的函数,注册到数据库里,能在 SQL 里直接调用。官方现在支持 Python。

Sarah

这听起来像存储过程。区别在哪?

Mike

存储过程一般用数据库自己的语言写,调试和依赖都受限。Particle 是普通 Python 函数,加一个装饰器,启动服务时把文件传进去。

Sarah

那它解决的是什么痛点?

Mike

举个例子。Agent 要给候选动作打分,公式是影响乘以置信度。传统做法是把候选行全部拉到应用层,算完再写回去。

Sarah

数据搬来搬去,慢,还容易出现算到一半应用挂了的问题。

Mike

Particle 的做法是在数据旁边算,只把结果带出来。省掉的不只是一次往返,还有一致性的麻烦。

Sarah

这个设计思路我挺喜欢。计算靠近数据,跟以前把代码推到存储层是一脉相承的。

Mike

它的接口也尽量贴着现有生态。SQL 兼容 PostgreSQL 的连接方式,KV 兼容 Redis,另外还有 HTTP 和 gRPC。

Sarah

SDK 呢?

Mike

Python、TypeScript、Java、Go、Rust 都有,还有一个 JDBC 驱动。现有项目不用换技术栈,拿熟悉的驱动连上去就行。

Sarah

安装和启动复杂吗?

Mike

一条 curl 脚本安装,然后 particledb start,指定数据目录。服务端默认 7173,自带一个叫 Studio 的网页控制台,端口 7174,能看事务、KV、向量、分析和系统资源。

Sarah

也就是说,它不是一个套在别的数据库外面的壳。

Mike

官方说存储、查询、事务都是自己实现的,用 Rust 从零写。

Sarah

那它跟“拼四套数据库”相比,最大的好处是什么?

Mike

少维护三套系统,少三套同步任务,少三份可能不一致的数据。对 Agent 来说,上下文不用再靠应用层拼。

Sarah

我想到一个很具体的场景。用 Redis 客户端写一个状态,再用 SQL 读同一个键。

Mike

对,官方就给了这个例子。redis-cli 写进去,SQL 里 KV_GET 读出来,同一份数据,多个接口。

Sarah

这听着简单,但背后要求两套接口共享同一套存储和事务。

Mike

对,这才是难点。功能清单谁都能列,真正难的是让四种负载在同一个引擎里不打架。

Sarah

那它的成熟度呢?新数据库最怕这个。

Mike

这也是我觉得它最值得讲的一段。他们请了 Kyle Kingsbury,也就是 Jepsen,做独立测试。

Sarah

Jepsen 在数据库圈很有名,专门测一致性,手段很狠。

Mike

报告覆盖了 1.1.4 到 1.1.18.11.rc-22 这些版本,一共记录了 96 个问题,包括 SQL 正确性、事务隔离、并发异常和数据丢失。

Sarah

96 个,这个数字不小。

Mike

更刺眼的是,很多问题出现在没有注入故障的单机部署上。也就是说,不是只有在网络分区、磁盘抖动这种极端场景才出问题。

Sarah

单机都能测出数据丢失,那生产环境的风险只会更高。

Mike

官方的说法是,到 1.1.19 为止,报告里的问题都已处理。他们还把完整报告公开了。

Sarah

这个态度比“我们很快”有用。但公开报告也意味着,大家都能看到它早期有多不稳。

Mike

对,这是一把双刃剑。对做数据库的公司来说,愿意被独立测试,本身就是一种表态。

Sarah

那性能呢?新数据库总会放几张对比图。

Mike

它反而很克制。基准页面明确说,没有可复现的结果包,就不发布对比数字。

Sarah

现在有哪些测试在跑?

Mike

ClickBench 测分析查询,TPC-C 测事务,另外还有应用分析和键值对比。官方说结果会连同方法、配置和原始日志一起放出来。

Sarah

这比只放一个“快 3 倍”的柱状图可信。

Mike

但也意味着,现在还没有可比较的性能结论。你得自己压。

Sarah

那如果听众今天就想试,你会怎么建议?

Mike

内部工具、原型、Agent 的记忆和状态层,可以先跑起来。它的接口确实省事。

Sarah

核心账务呢?

Mike

别急着搬。先拿自己的数据量和查询模式压一遍,再读一遍 Jepsen 报告原文。官网首页那五张能力卡片,不能代替这两步。

Sarah

我补一句,它的 GitHub 存在感也还很弱,server 仓库只有 4 个 star。

Mike

对,项目很年轻。年轻不等于不好,但意味着社区、文档、踩坑记录都还在积累。

Sarah

说到最后,我觉得这期讲的其实是一个很老的话题:数据库卖的到底是什么?

Mike

功能可以一夜补齐,信任只能一轮一轮测试攒出来。ParticleDB 把 96 个问题摊开讲,这一步比多写五个 SDK 更像在做长期生意。

Sarah

对做产品的人也一样。你愿意把最难看的测试结果放出来,用户才敢把数据交给你。

Mike

好了,今天这期就到这儿。感谢收听从零开始学AI,把这期转给那个正在维护四套数据库的朋友吧,我们下期见。

已复制