| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档介绍了Badger,一个用Go编写的嵌入式键值数据库,基于Apache 2.0许可。其核心特点包括:使用LSM树存储键,值存储在value log中,支持多版本键并通过迭代直接访问。性能方面,数据加载时Badger比Go-RocksDB快最多11.7倍(随值大小增加),比BoltDB快11-22倍;随机读取延迟比RocksDB低3.7-5.3倍。项目接近v2.0发布,拥有约3500个Github星标和42位贡献者,被Dgraph、Go-IPFS等项目使用。崩溃恢复方面,LSM内存表可能因崩溃丢失,但可从value log恢复。 | ||
| AI总结 | ||
Badger 是一个用 Go 语言编写的嵌入式键值数据库,采用 Apache 2.0 许可证。其核心优势在于性能:纯 Go 实现(无 C 代码),支持从内存到磁盘的全链路 Go 性能分析工具。
**核心性能对比:**
- 数据加载方面,Badger 比 BoltDB 快 11-22 倍;随着 value 增大,比 Go-RocksDB 快 11.7 倍。
- 随机读取方面,Badger 的延迟比 Go-RocksDB 低 3.7 到 5.3 倍。
**技术特点:**
- 使用 LSM 树与值日志分离的架构:在 LSM 树中查找键,然后从值日志中读取值。
- 支持多版本键值存储,并可通过迭代直接访问不同版本。
- 具备崩溃恢复能力:即使 LSM 的 Memtable 因崩溃丢失,也能从值日志中恢复。
**项目现状与反响:**
- 发布后 12 小时内登上 Hacker News 首页,获得 355 分、96 条评论,4 天内收获 1250 个 GitHub Star。
- 当前接近 v2.0 版本,拥有近 3500 个 Star 和 42 位贡献者。
- 已被 Dgraph、Go-IPFS、0-stor 和 Sandglass 等项目使用。
该项目由 Dgraph Labs(开发快速分布式图数据库的公司)的 Manish R Jain 在 2018 年 Gopher China 大会上介绍。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
62 页请下载阅读 -
文档评分














1.5 Badger_ Fast Key-Value DB in Go
Scrapy 1.5 Documentation