分布式存储引擎解析

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的形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值