您的位置:首页 > 其它

分布式存储引擎解析

2011-11-22 21:57 169 查看

1. 随机存储引擎

这里推荐阅读豆瓣的beansdb代码和参考这篇论文:《A Log-Structured Hash Table for Fast Key/Value Data》数据读取流程如下:



用户指定key之后,根据hash能够计算出该key所在的文件file_id和key在该文件中的偏移量value_pos,通过一次IO操作即可完成数据读取。

数据写入时,首先写入log,之后生成kv对,放入到写缓存中去,修改hash表。

数据删除,仅仅是标记删除,实际数据删除是在compact中完成的。

2. Merge-dump存储引擎

这里就和google bigtable论文中实现类似,代码可以参考leveldb的实现。http://blog.csdn.net/column/details/leveldb.html

总之两者在实现思路上都是:

1. 将随即的IO操作转换成顺序的IO操作

2. 维护索引数据结构加速查询,例如beansdb中使用内存hash,leveldb中使用skiplist的形式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐