Bitcast存储引擎:由一棵hash tree在内存中管理全量的key,根据key可以获取value在磁盘文件上面的postion,进一步获取value本身的值。
- 写入流程比较简单,顺序写一次磁盘文件,更新hash tree;
- 读取也比较简单,根据key从内存的hash tree中获取value在磁盘上面的位置,然后读取磁盘即可。
数据文件也有像LevelDb数据归并的过程,其过程都是类似于redis的AOF重写。
Bitcast存储引擎,读写速度都不错,读取时key的分布特性对速度没太大影响;其最大缺点就是要在内存中全量索引Key值,系统启动时全量加载Key需要花一点时间(磁盘中有Key的单独数据文件,不需要全量读取数据文件)。