Bitcask存储系统架构设计思想
Bitcask模型是一种日志型键值模型。所谓日志型,是指它不直接支持随机写入,而是像日志一样支持追加操作。Bitcask模型将随机写入转化为顺序写入。有两个好处:
- 提高随机写入的吞吐量,因为写操作不需要查找,直接追加即可
- 如果使用SSD作为存储介质,能够更好的利用新硬件的特性
Bitcask中存在3种文件,包括数据文件,索引文件和线索文件(hint file,姑且就叫线索文件吧)。数据文件存储于磁盘上,包含了原始的数据的键值信息;索引文件存在于内存,用于记录记录的位置信息,启动Bitcask时,它会将所有数据的位置信息全部读入一个内存中的哈希表,也就是索引文件;线索文件(hint file)并不是Bitcask的必需文件,它的存在是为了提供启动时构建索引文件的速度。