Show HN: SQLite for Rivet Actors – 每个代理、租户或文档一个数据库
发布: (2026年3月1日 GMT+8 00:11)
3 分钟阅读
原文: Hacker News
Source: Hacker News
概览
Hey HN! 我们之前在这里发布了 Rivet Actors [1],作为 Cloudflare Durable Objects 的开源替代方案。
今天我们发布了针对 actor 的 SQLite 存储(Apache 2.0)。
每个 actor 的 SQLite 数据库
每个 actor 都拥有自己的 SQLite 数据库,这样你可以拥有数百万个独立的数据库——每个代理、租户、用户或文档各一个。
适用场景
- AI 代理 – 为每个代理提供消息历史、状态、向量嵌入的专属数据库
- 多租户 SaaS – 真正的租户隔离,无需 RLS hack
- 协作文档 – 每个文档拥有自己的数据库,内置多人协作
- 每用户数据库 – 隔离、水平扩展、在边缘运行
按实体拆分数据的思路并不新鲜:Cassandra 和 DynamoDB 使用分区键实现水平扩展,但你只能使用僵硬的模式(“单表设计” [3])、查询受限且迁移痛苦。每个实体对应的 SQLite 在不牺牲这些的前提下提供相同的可扩展性 [2]。
与其他方案的对比
- Cloudflare Durable Objects & Agents – 与 Rivet Actors 最相似,具备同址的 SQLite 与计算,但是闭源且被供应商锁定。
- Turso Cloud – 平台优秀,但闭源且使用场景不同。客户端通过网络查询,读取速度慢或可能是陈旧数据。Rivet 的单写入 actor 模型使读取保持本地且实时。
- D1、Turso(数据库本身)、Litestream、rqlite、LiteFS – 这些都是运行单一 SQLite 数据库并实现复制的优秀工具。Rivet 则用于运行大量相互隔离的数据库。
实现细节
SQLite 与每个 actor 同进程运行。自定义 VFS 将写入持久化到 HA 存储(FoundationDB 或 Postgres)。
Rivet Actors 还提供:
- 实时(WebSockets)
- React 集成(
useActor) - 水平可扩展性
- 空闲时自动休眠的 actor
链接
- GitHub:
- 文档:
- 参考资料:
- [1]
- [2]
- [3]