搜索

pdf文档 1.5 Badger_ Fast Key-Value DB in Go

1.70 MB 74 页 0 下载 2 浏览 0 评论 0 收藏
所属分类: 后端开发 / Go
语言 格式 评分
中文(简体)
.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 页请下载阅读 -
文档评分
请文明评论,理性发言.