[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73289":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":15,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},73289,"bitalostored","zuoyebang\u002Fbitalostored","zuoyebang","Bitalostored is a high-performance distributed storage system, core engine based on bitalosdb(self-developed), compatible with Redis protocol.","https:\u002F\u002Fbitalos.zuoyebang.com",null,"Go",2164,155,150,4,0,1,5,3,63.08,"Apache License 2.0",false,"main",true,[26,27,28,29,30,31,32,33],"bitalosdb","database","distributed-storage","high-performance","kvstore","nosql","redis","storage-engine","2026-06-12 04:01:08","![bitalos](.\u002Fdocs\u002Fbitalos.png)\n\n### Bitalostored is a high-performance distributed storage system, compatible with Redis protocol. [中文版](.\u002FREADME_CN.md)\n\n## Introduction\n\n- Bitalostored is a high-performance distributed storage system, core engine based on [bitalosdb](https:\u002F\u002Fgithub.com\u002Fzuoyebang\u002Fbitalosdb\u002Fblob\u002Fmain\u002FREADME.md), compatible with Redis protocol. As an alternative to Redis, it stores data with low-cost hard disk instead of expensive memory, takes full advantage of multi-core and provides excellent single-core performance, which can significantly reduce service costs.\n\n- Bitalostored contains three main projects: dashboard (visual management platform), stored (storage service), and proxy (proxy service). Current open-source version is stable, and provides a complete industrial grade solution.\n\n## Main Creator\n\n- Author: Xu Ruibo(hustxurb@163.com), joined Zuoyebang in December 2018 (working till now), is responsible for live class middle platform and Zuoyebang platform, and leads the storage technology team to develop Bitalos from 0 to 1.\n\n- Contributors: Xing Fu(wzxingfu@gmail.com), Lu Wenwei(422213023@qq.com), Liu Fang(killcode13@sina.com), Li Jingchen(cokin.lee@outlook.com)\n\n# Practice (Zuoyebang)\n\n- Application: supports Zuoyebang's online & offline KV storage\n\n- Peak traffic: QPS(30 Million), Network(8000Gbps)\n\n- Storage data: 1PB\n\n- Average reading time: 100μs, average writing time: 150μs\n\n- Availability: 99.999%\n\n- Stability: Since V1.0 was released in 2019, there have been zero online incidents\n\n## Key Technology\n\n- Compatible with Redis protocol, low integration cost. Supports most commands, including LUA, distributed transactions.\n\n- Efficient horizontal scaling, supporting up to 1024 shards and enabling shard expansion in seconds.\n\n- Multi-cloud disaster recovery, supporting multi-data room or multi-cloud deployment & management, with a complete downgrade and disaster recovery solution.\n\n- Multi-master architecture (supported in Enterprise Edition), based on CRDT, optimized data synchronization and consistency strategies, ensuring adaptive conflict resolution during multi-master writes and achieving eventual consistency.\n\n- High-performance data consistency architecture, based on Bitalos-Raft, with deeply optimized Raft protocol, which greatly improves write performance, and features more stable election strategy and data synchronization process.\n    - High-performance log engine: bitaloslog, featuring log indexing based on bitalostree, supporting high-throughput write operations.\n\n- High-performance kernel equipped with self-developed KV engine: bitalosdb.\n    - High-performance compressed indexing technology: bitalostree, a B+ tree based on ultra-large pages, featuring innovative index compression that eliminates write amplification in B+ trees and maximizes read performance.\n\n    - High-performance KV index, vector computation implemented based on ASM assembly, with significantly improved performance.\n\n    - High-performance K-KV index, multi-level vector index based on bitalostree, balancing index compression ratio and retrieval performance.\n\n    - High-performance KV separation technology: bithash, based on a compact index structure, with O(1) retrieval efficiency and capable of independent GC.\n\n    - High-performance storage structure that compresses Redis composite data types, significantly reducing I\u002FO costs and improving system throughput.\n\n## Quick deployment\n\n- Applicable scenarios: Deploy a test cluster on a single machine(machine needs to be connected to the Internet), experience the functions of all components(dashboard, proxy, and stored), and cluster operation and maintenance\n\n- Deployment script: install.sh, follow the prompts to enter the number of shards (group), the number of slave nodes (slave), and the number of witness nodes (witness); the default number: proxy * 1, group * 2 (master * 2, slave * 2 , witness * 2)\n\n- Admin web: 127.0.0.1:8080, both of default user&password are demo\n\n- Service address: 127.0.0.1:8790, use command: redis-cli -h 127.0.0.1 -p 8790\n\n- Uninstall script: uninstall.sh\n\n## Performance\n\n- Currently, there are several well-known open-source storage systems (Redis-compatible) that serve as alternatives to Redis. We have selected two high-performance products (t\\*d\\* and \\*i\\*a) for performance comparison.\n\n### Hardware\n\n```\nCPU:    Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz\nMemory: 384GB\nDisk:   2*3.5TB NVMe SSD\n```\n\n### Program\n\n- Benchmark: memtier_benchmark (redis official tool)\n\n- NoSQL Program: thread number(8), cgroup cpu(8 core)\n\n- Command args: 2 data spec\n\n```\n--data-size=1024 --key-maximum=40672038 -t 16 -c 32 -n 81920\n--data-size=128 --key-maximum=335544320 -t 16 -c 32 -n 655360\n```\n\n- Command (e.g., --data-size=1024)\n\n```\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"set __key__ __data__\" --key-prefix=\"performance_test_key_prefix_\" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 81920\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"get __key__\" --key-prefix=\"performance_test_key_prefix_\" --key-minimum=1 --key-maximum=40672038 --test-time=300\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"incr __key__\" --key-prefix=\"int_\" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 81920\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"lpush __key__ __data__\" --key-prefix=\"list_\" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 81920\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"sadd __key__ __data__\" --key-prefix=\"set_\" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 81920\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"zadd __key__ __key__ __data__\" --key-prefix=\"\" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 81920\n.\u002Fmemtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command=\"hset __key__ __data__ __key__\" --key-prefix=\"hash_\" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 81920\n```\n\nincr is irrelevant to data size, only needs to be tested once.\n\n\n### Data\n\n- Total data size：40GB\n\n- Comparison dimensions： comand（SET、GET、LPUSH、SADD、ZADD、HSET） x value-size&count（1KB & 40,672,000、128B & 335,544,320）, INCR\n\n### Config\n\n- t\\*d\\* & \\*i\\*a\n\n```\nThreads:8\nMemtable：1GB\nWAL：disable\nBinlog：disable\nCache：40GB\n\nOther parameters are set as same as the official recommended benchmark configuration\n```\n\n- bitalostored\n\n```\nThreads:8\nMemtable：1GB\nWAL：disable\nRaftlog：disable\n```\n\n### Result\n\n- QPS\n\n![benchmark](.\u002Fdocs\u002Fbenchmark-bitalostored-qps.png)\n\n## Document\n\nTechnical architecture and documentation, refer to the official website: bitalos.zuoyebang.com\n\n## Technology accumulation(bitalosearch)\n\n- High performance distributed search & analysis engine, SQL protocol, focusing on AP scenarios, and has certain TP capabilities. It is being practiced internally, and the open source plan is to be determined\n\n- Compared to elasticsearch, bitalosearch has significant cost advantages. Hard disk consumption is saved 30%; data writing performance is improved by 25%; for complex analysis logic, query performance is improved by 20% to 500%","Bitalostored 是一个高性能的分布式存储系统，基于自研的 bitalosdb 引擎并兼容 Redis 协议。该项目采用 Go 语言编写，支持大多数 Redis 命令包括 LUA 和分布式事务，能够利用低成本硬盘替代昂贵内存进行数据存储，同时充分利用多核优势以提供卓越的单核性能，从而大幅降低服务成本。Bitalostored 包含可视化管理平台、存储服务和代理服务三大模块，当前开源版本稳定可靠，适用于需要高吞吐量、低延迟且成本敏感的应用场景，如在线教育平台中的在线与离线 KV 存储需求。其峰值处理能力可达每秒3000万次查询，网络带宽达8000Gbps，并能存储高达1PB的数据量，在实际应用中表现出色，平均读写时间分别仅为100微秒和150微秒。此外，该系统还具备高效的水平扩展性、多云灾备能力和基于 CRDT 的多主架构等技术特点。",2,"2026-06-11 03:44:51","high_star"]