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)