Mushroom(蘑菇):并发Blink树索引 English Version of README Behold, the power of Mushroom! Feature Blink树索引(前缀压缩) 日志结构合并树(LSM Tree) 二次哈希页面管理器 多线程(锁管理器、线程池、二次映射有界队列) TCP通信库 RPC框架 Blink Tree BenchFuck 关键值数量 关键值长度 总大小 CPU 内存 1 亿条 16 字节 1.6 G Intel i3 2.1 GHz 4 核 4 G 版本号 排序时间(秒) 备注 0.6.1 142.5 Blink树占用内存约2.7G 版本信息 版本 备注 0.1.0 0.2.0 读写锁并发索引 0.2.1 锁管理器优化 0.3.0 引入前缀压缩,Blink树占用内存减少约 9.1 % 0.4.0 二次映射多线程工作队列,减少程序使用内存超过 50 % 0.4.1 合并锁管理器与页面管理器,使每次操作减少1把锁 0.4.2 修改根节点分裂方式 0.4.3 增加测试策略,多线程不经过队列直接进行任务 0.4.4 重构锁管理器 0.5.0 修复从版本0.4.1到0.4.4一直存在的bug(原子操作bug) 0.6.0 共享内存映射支持多进程,修复搜索bug,正确实现并发Blink树 0.6.1 二次哈希页面管理器,实现页面的懒惰分配 0.6.2 减少对标准库的依赖,加快编译速度,减少程序体积约42.1% 0.6.4 使用posix自旋锁,优化MushroomDB和BLinkTree结构 0.7.0 日志结构合并树(LSM Tree) 0.8.0 TCP通信库和RPC框架(实现中) 0.9.0 Raft——分布式一致性算法(实现中) 其他 版本0.6.0是第一个稳定版本 你可以在这个知乎专栏里找到Mushroom相关的介绍