A-A+

Bitcask简介

2019年10月01日 数据库 暂无评论 阅读 250 次

Bitcask是由Basho公司搞的一个产品。

技术设计

数据顺序追加到磁盘上的active data file,并在内存中建立hash索引。

active data file文件长到一定程度就切成old data file,新的数据写入新的active data file。

old data files定期merge成一个merged data file,merge过程中同时会生成一个hint file来索引这个merged data file。

data file存放格式

 

内存keydir

是一个key -> <file_id, value_sz, value_pos, tstamp>的内存hashtable。

 

merge和hint file

引擎特点

限制

  1. 索引需要全部放到内存(keydir)中。豆瓣搞的beandb的一个改进是keydir中只存放key的hash code,在key比较大的情况下,可以多处理一些数据。
  2. 读请求只支持点查,不支持顺序scan接口。

 

几个优点

  1. 读写低延迟:读写都只有一次磁盘IO。
  2. 备份功能可以直接rsync文件。
  3. rcash-recovery慢。

 

其他、参考

bason这个公司下面有几个产品,看着很丰富,见 https://riak.com/products/

Tech Report: A Log-Structured Hash Table for Fast Key/Value Data

https://www.douban.com/note/122507891/

https://riak.com/products/

给我留言