marmot
更新于 2026-09-03 14:44:42 · 创建于 2026-09-03 14:41:21
marmot 是一款用 Go 写的轻量级分布式 SQLite 系统(maxpert/marmot),目标是把单机 SQLite 秒变高可用分布式数据库。它采用无主(leaderless)架构,用 Gossip 协议做集群管理与数据同步,支持最终一致性和多点写入。
它做什么
- 行级复制:通过 CDC 把单条改动实时同步到集群各节点。
- 多点写入:无主架构下多个节点都能写,不卡在单一主库。
- MySQL 兼容:兼容 MySQL 协议,现有 MySQL 客户端和应用可无缝迁到 SQLite 集群。
- 高可用:节点挂了不影响整体,数据最终一致。
工程视角
Go 单二进制,部署简单。对想要"SQLite 的轻 + 分布式的稳"、又不想上 Postgres/MySQL 集群的小中型场景,它是个巧妙的折中。
✅适合
- 边缘多节点部署,希望复用 MySQL 生态驱动,不想改业务代码;
- 不大的数据集,接受最终一致性;
- 需要内置向量检索,不想额外部署向量库。
❌不适合
- 需要严格分布式事务、强一致;
- 高并发写冲突非常多的业务;
- 重度依赖 MySQL 特有语法、存储过程。
一句话总结
marmot 把"SQLite"做成了分布式数据库:Gossip 同步、CDC 行级复制、多点写入,还兼容 MySQL 协议。