Bitcask哈希存储系统
一. 简介
bitcask来自于riak,是一个日志(log-structured)存储系统。用在riak的分布式数据库的底层key-value的存储,是基于哈希表结构的键值存储系统,它仅支持追加操作,即所有的写操作只追加而不修改老的数据。
二. 系统架构
1.日志型的数据文件
何谓日志型?就是append only,所有写操作只追加而不修改老的数据,就像我们的各种服务器日志一样。在Bitcask模型中,数据文件以日志型只增不减的写入文件,而文件有一定的大小限制,当文件大小增加到相应的限制时,就会产生一个新的文件,老的文件将只读不写。在任意时间点,只有一个文件是可写的,在Bitcask模型中称其为active data file,而其他的已经达到限制大小的文件,称为older data file,如下图:
文件中的数据结构非常简单,是一条一条的数据写入操作,每一