Bitcask储存模型
Bitcask 存储模型
bitcask是一个日志型的储存模型,所谓日志型是指它是append only,只支持顺序加入而不能直接随机写入。这样一来,bitcask就有优秀的写入性能。
文件结构
bitcask的文件结构十分简单,主要有三个:数据文件, 索引文件 ,以及一个叫做hint file的线索文件。
数据文件
数据文件储存在硬盘中,是以日志的模式进行写入的,其日志的内容如下:
crc为校验码,tstamp为时间戳,剩下的内容为键值对以及其大小
应当注意的是,数据文件一个是有大小限制的,一旦文件大小到达设定值,就会新建一个文件作为写入文件。因此,在任何时刻都只有一个活跃文件接受写入,而剩下的老文件是只读不写的(merge操作除外)。