github.com/zuoyebang/bitalosdb@v1.1.1-0.20240516111551-79a8c4d8ce20/README_CN.md (about) 1 ![bitalos](./docs/bitalos.png) 2 3 ## 简介 4 5 - 高性能KV存储引擎(自研),基于全新IO架构及存储技术,重点解决LSM-Tree的读写放大问题。作为rocksdb的替代品,读写性能均有大幅提升。 6 7 ## 出品 8 9 - 团队:作业帮-平台技术团队 10 11 - 作者:徐锐波(hustxrb@163.com) 12 13 - 贡献者:幸福(wzxingfu@gmail.com)、卢文伟(422213023@qq.com)、刘方(killcode13@sina.com) 14 15 ## 关键技术 16 - Bithash(KV分离技术),显著改善写放大;具备O(1)检索效率,可独立完成GC,实现value与index解耦。 17 18 - Bitalostree(高性能压缩索引技术),基本消除读放大;基于超大Page的B+ Tree,运用全新的索引压缩技术,消除B+ Tree的写放大,并将读性能发挥到极致。 19 20 - Bitalostable(冷热数据分离技术),承载冷数据存储,根据数据规模及访问频度,计算相对冷数据,流量低峰时转存至Bitalostable;提升数据压缩率,减少索引内存消耗,实现更合理的资源利用(开源稳定版具备基础功能,企业版支持更全面的冷热分离)。 21 22 ## 性能报告 23 24 - bitalosdb在性能上持续精进,此次性能测试基于bitalosdb v5.0;作为rocksdb的替代品,选取同时期rocksdb稳定版做性能对比。 25 26 ### 硬件 27 28 ``` 29 CPU: Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz 30 Memory: 384GB 31 Disk: 2*3.5TB NVMe SSD 32 ``` 33 34 ### 程序 35 36 - 压测线程:8 37 38 - CPU限制:8核 39 40 - 对比标准:多核压测QPS换算成单核QPS对比,单核性能更能体现成本优势 41 42 ### 数据 43 44 - 单条数据:key-size:32B、value-size:1KB 45 46 - 对比维度:数据总量(25GB、50GB、100GB) x 读写占比(100%随机写、100%随机读、50%随机写+50%随机读、30%随机写+70%随机读) 47 48 ### 配置 49 50 - rocksdb 51 52 ``` 53 Memtable:256MB 54 WAL:enable 55 Cache:8GB 56 TargetFileSize:256M 57 L0CompactTrigger:8 58 L0StopWritesTrigger:24 59 ``` 60 61 - bitalosdb 62 63 ``` 64 Memtable:256MB 65 WAL:enable 66 Cache:disable 67 ``` 68 69 ### 结果 70 71 - QPS ([Horizontal](./docs/benchmark-qps.png)) 72 73 ![benchmark](./docs/benchmark-qps-vertical.png) 74 75 ## 文档 76 77 - 技术架构及文档,参考官网:[bitalos.zuoyebang.com](https://bitalos.zuoyebang.com)