lxyfirst

C++博客 首页 新随笔 联系 聚合 管理
  33 Posts :: 3 Stories :: 27 Comments :: 0 Trackbacks
bitcask是一个key-value存储系统,其特点是使用内存储存索引数据,使用硬盘储存实际数据。
1.所有的key数据放在内存中,通过hashmap组织,便于快速查找,内存中同时存放了key所对应数据在磁盘上的文件指针,直接定位数据。
2.磁盘数据使用追加写的方式,充分利用磁盘适合顺序存取的特点,每次数据更新会写入磁盘文件,同时更新索引。
3.读数据时根据索引直接定位,利用文件系统的cache机制,bitcask不再单独实现cache机制。
4.由于更新会写入新位置,老位置的数据会定期清理合并,减少占用的磁盘空间。
5.读写的并发控制使用向量时钟(vector clock)。
6.内存中的索引数据也会刷新到单独的索引文件,这样重启时不需要重建全部索引。

http://highscalability.com/blog/2011/1/10/riaks-bitcask-a-log-structured-hash-table-for-fast-keyvalue.html

posted on 2011-02-16 19:23 star 阅读(809) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理