# 简介

  • Bitalos是作业帮平台技术团队出品,高性能分布式存储系统,核心引擎基于bitalosdb(自研高性能KV存储引擎),兼容redis协议;作为redis的替代品,用成本更低的硬盘存储数据,充分发挥多核优势,且单核性能优秀,可大幅降低服务成本。

  • 开源版本,集成dashboard(可视化管理平台)、stored(存储服务)、proxy(代理服务)、bitalosdb(存储引擎)于一体,是完整的工业级解决方案。

# 主创

  • 作者:徐锐波,2018年12月加入作业帮,在职至今,先后负责直播课中台研发及作业帮平台研发;同时带领存储技术团队,从0到1研发Bitalos

  • 贡献者:幸福、卢文伟、刘方、李景晨

# 实践(作业帮)

  • 应用:承载作业帮在线&离线KV存储

  • 峰值流量:QPS(30 Million),Network(8000Gbps)

  • 存储数据:1PB

  • 读耗时均值:0.1ms,写耗时均值:0.15ms

  • 可用性:99.999%

  • 稳定性:2019年发布V1.0至今线上零事故

# 关键技术

  • 兼容redis协议,接入成本低;支持大部分命令,包括LUA、分布式事务.

  • 高性能数据一致性架构,基于bitalos-raft,深度优化Raft协议,大幅提升写性能,并具备更稳定的选举策略和数据同步流程.

  • 高性能索引,基于ASM汇编实现向量计算,性能显著提升.

  • 高性能存储结构,压缩redis复合数据类型,大幅降低IO成本,提升系统吞吐.

  • 高效水平扩展,最多支持1024个分片,且能够秒级扩分片.

  • 多云容灾,支持多机房或多云部署&管理,拥有完整的降级&容灾方案.

  • 多主写入(企业版支持),基于CRDT,优化数据同步及一致性策略,确保单分片多主写入时能自适应解决冲突,并达成最终一致.

  • 高性能内核,装备自研KV引擎:bitalosdb,较之rocksdb,性能大幅领先.

    • Bithash(KV分离技术)

    • Bitalostree(高性能压缩索引技术)

    • Bitalostable(冷热数据分离技术)

# 技术积累(bitalosearch)

  • 高性能分布式检索&分析引擎,SQL协议,主打AP场景,并具备一定的TP能力;正在内部实践,开源计划待定

  • bitalosearch较之elasticsearch,成本优势明显;硬盘消耗,节省30%;数据写入,性能提升25%;复杂分析逻辑,性能提升20%~500%

ZUOYEBANG