加载中...

BoltDB 是 Ben Johnson 用纯 Go 语言编写的嵌入式键值数据库,设计直接受 LMDB 启发:单文件、内存映射、写时复制 B+ 树、无需日志的崩溃安全。
BoltDB 提供完全可串行化的 ACID 事务:任意多个只读事务与至多一个读写事务并发运行,读事务基于 MVCC 快照。数据通过 bucket(桶)组织,桶可嵌套,键值均为字节切片且按键有序,支持范围遍历与前缀扫描。API 极简,核心只有 Update 与 View 两种事务入口。
原作者于 2017 年停止维护并归档仓库,etcd 团队将其分支为 bbolt 继续维护,成为 etcd 的底层存储引擎;Consul、InfluxDB(早期)等 Go 生态项目也曾广泛使用。
优点是零依赖、部署为单个文件、读性能好、语义简单;缺点是单写者模型限制写吞吐,大量随机写场景不如 LSM 类引擎(如 Badger)。

登录 后参与讨论
暂无讨论,来发表第一条评论吧