Skip to content

yruestc/Mushroom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

239 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mushroom(蘑菇):并发Blink树索引

English Version of README

Author Version Build License

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相关的介绍

About

Concurrent B Link Tree Index in Unix 并发B Link树索引

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 98.1%
  • Makefile 1.7%
  • Shell 0.2%