分布式存储引擎解析
2011-11-22 21:57
169 查看
1. 随机存储引擎
这里推荐阅读豆瓣的beansdb代码和参考这篇论文:《A Log-Structured Hash Table for Fast Key/Value Data》数据读取流程如下:![](http://hi.csdn.net/attachment/201111/23/0_1322019657m1s8.gif)
用户指定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的形式。
相关文章推荐
- 分布式对象存储Ambry(4)Ambry-Server模块源代码解析(启动与整体通信工作篇)
- 淘宝分布式 key/value 存储引擎Tair安装部署过程及Java客户端测试一例
- MySQL存储引擎之Spider内核深度解析
- 淘宝分布式 key/value 存储引擎Tair安装部署过程及Java客户端测试一例
- 分布式对象存储Ambry(4)Ambry-Server模块源代码解析(启动与整体通信工作篇)
- MySQL存储引擎之Spider内核深度解析
- Groonga开源搜索引擎——列存储做聚合,没有内建分布式,分片和副本是随mysql或者postgreSQL作为存储引擎由MySQL自身来做分片和副本的
- 大规模分布式存储系统原理解析与架构实战
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 详细解析Dynamo存储引擎
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 分布式存储引擎
- 详细解析Dynamo存储引擎
- MySQL存储引擎之Spider内核深度解析
- 大规模分布式存储系统原理解析与架构实战
- 淘宝分布式 key/value 存储引擎Tair安装部署过程及Javaclient測试一例
- MySQL存储引擎之Spider内核深度解析
- 详细解析Dynamo存储引擎
- cobar分布式数据存储系统cobar-server解析
- 大规模分布式存储系统原理解析与架构实战