面向OLAP的分布式键值存储引擎
摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第10-22页 |
1.1 课题研究背景 | 第10-11页 |
1.2 国内外研究现状 | 第11-20页 |
1.2.1 Voldemort | 第11-14页 |
1.2.2 PNUTS | 第14-16页 |
1.2.3 MongoDB | 第16-17页 |
1.2.4 Dynamo | 第17-20页 |
1.3 本文研究内容 | 第20页 |
1.4 论文组织安排 | 第20-22页 |
第二章 相关理论及技术基础 | 第22-29页 |
2.1 数据分布策略 | 第22-23页 |
2.1.1 哈希分布 | 第22页 |
2.1.2 顺序分布 | 第22-23页 |
2.2 负载均衡 | 第23-25页 |
2.2.1 常见负载均衡实现 | 第23-25页 |
2.2.2 负载均衡常用算法 | 第25页 |
2.3 容错 | 第25-27页 |
2.4 一致性 | 第27-28页 |
2.4.1 客户端角度一致性 | 第27-28页 |
2.4.2 存储系统角度一致性 | 第28页 |
2.5 本章小结 | 第28-29页 |
第三章 T-IMDB系统总体设计 | 第29-50页 |
3.1 数据模型 | 第29-30页 |
3.1.1 NoSQL数据模型 | 第29-30页 |
3.1.2 T-IMDB数据模型与选择依据 | 第30页 |
3.2 系统整体架构 | 第30-32页 |
3.2.1 系统架构描述 | 第30-31页 |
3.2.2 各模块功能职责划分 | 第31-32页 |
3.3 Tablet服务 | 第32-34页 |
3.3.1 Tablet定位机制 | 第32页 |
3.3.2 Tablet分配与负载均衡 | 第32-33页 |
3.3.3 数据读写流程 | 第33-34页 |
3.4 基于日志结构的存储机制 | 第34-40页 |
3.4.1 内存管理描述 | 第34-35页 |
3.4.2 日志结构存储 | 第35页 |
3.4.3 日志元数据 | 第35-36页 |
3.4.4 日志清理与资源回收方案 | 第36-39页 |
3.4.5 并发控制与死锁问题 | 第39-40页 |
3.5 T-IMDB索引扩展 | 第40-44页 |
3.5.1 索引引入的原因和复杂性 | 第40-41页 |
3.5.2 SubKeys索引模型 | 第41-42页 |
3.5.3 索引分区 | 第42页 |
3.5.4 索引与数据一致性 | 第42-43页 |
3.5.5 索引存储与持久化 | 第43-44页 |
3.6 容错,可伸缩与一致性 | 第44-48页 |
3.6.1 T-IMDB副本管理 | 第44-45页 |
3.6.2 T-IMDB主副本复制策略 | 第45页 |
3.6.3 复制组配置管理 | 第45-46页 |
3.6.4 租约与错误检测 | 第46页 |
3.6.5 配置更新,仲裁与故障恢复 | 第46-48页 |
3.7 本章小结 | 第48-50页 |
第四章 T-IMDB系统详细设计与实现 | 第50-73页 |
4.1 T-IMDB基础设施模块设计与实现 | 第50-55页 |
4.1.1 网络通信库的设计与实现 | 第50-52页 |
4.1.2 定时器模块的设计与实现 | 第52页 |
4.1.3 线程池模块的设计与实现 | 第52-53页 |
4.1.4 系统日志模块的设计与实现 | 第53-54页 |
4.1.5 协议解析与消息分发模块的设计与实现 | 第54-55页 |
4.2 Master节点设计与实现 | 第55-59页 |
4.2.1 Master节点实现框架 | 第55-56页 |
4.2.2 Tablet分配服务模块的设计与实现 | 第56页 |
4.2.3 数据定位服务模块的设计与实现 | 第56-58页 |
4.2.4 客户端与Master典型交互流程 | 第58-59页 |
4.3 数据节点设计与实现 | 第59-72页 |
4.3.1 数据节点实现框架 | 第59-60页 |
4.3.2 日志结构存储设计 | 第60-64页 |
4.3.3 日志清理子模块设计与实现 | 第64-65页 |
4.3.4 复制子模块设计与实现 | 第65-66页 |
4.3.5 故障恢复子模块设计与实现 | 第66-69页 |
4.3.6 集群扩容子模块设计与实现 | 第69-71页 |
4.3.7 客户端与数据节点典型交互流程 | 第71-72页 |
4.4 本章小结 | 第72-73页 |
第五章 系统测试 | 第73-81页 |
5.1 测试准备 | 第73-74页 |
5.2 系统功能测试 | 第74-78页 |
5.2.1 创建表 | 第74页 |
5.2.2 删除表 | 第74-75页 |
5.2.3 向表中添加键值对 | 第75页 |
5.2.4 读取表中键值对 | 第75-76页 |
5.2.5 更新表中键值对 | 第76页 |
5.2.6 删除表中键值对 | 第76-77页 |
5.2.7 返回某键指定时间戳前的最新值 | 第77-78页 |
5.3 系统性能测试 | 第78-80页 |
5.3.1 常规吞吐量测试 | 第78-79页 |
5.3.2 日志清理性能测试 | 第79-80页 |
5.4 本章小结 | 第80-81页 |
第六章 总结与展望 | 第81-83页 |
致谢 | 第83-84页 |
参考文献 | 第84-86页 |