marmot
项目核心内容总结:
Marmot 是一个基于 SQLite 的分布式数据库系统,兼容 MySQL 协议,支持高可用、强一致性、自动复制和跨节点数据同步。主要功能包括:
-
核心特性:
- 自动 ID 生成(支持 53 位或 64 位模式);
- 实时变更数据捕获(CDC),可将数据变更同步到 Kafka/NATS;
- 支持 SQLite 扩展(如向量计算);
- 内置 Prometheus 监控指标,支持日志管理与文件轮转;
- 通过 MySQL 协议提供服务,支持 Unix 套接字连接。
-
使用方法:
- 通过
config.toml配置数据库参数(如监听地址、线程数、备份策略); - 启用 CDC 功能需配置 Kafka/NATS 的连接信息与数据过滤规则;
- 备份方案推荐 Litestream(兼容 SQLite WAL 模式),或通过 CDC 流入外部存储。
- 通过
-
性能表现:
- 本地 3 节点测试中,单节点写入吞吐量达 4,175 ops/sec,混合负载下 P99 延迟约 85ms;
- 支持跨区域部署,但需根据网络延迟调整预期性能(如 QUORUM 写入 P99 延迟可能达 50-200ms)。
-
适用场景:
- 适合需要 MySQL 兼容性、分布式高可用及轻量级数据库的场景,如微服务数据同步、实时分析等。