基于HBase的高效数据存取平台的设计与实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-14页 |
1.1 研究背景 | 第11-12页 |
1.2 研究目标与主要工作 | 第12-13页 |
1.3 本文组织结构 | 第13-14页 |
第二章 HBase相关技术与二级索引研究现状 | 第14-29页 |
2.1 HBase介绍 | 第14-20页 |
2.1.1 HBase数据视图 | 第14-15页 |
2.1.2 HBase表的逻辑存储结构 | 第15-16页 |
2.1.3 HBase支持的表操作 | 第16-17页 |
2.1.4 过滤器与协处理器 | 第17-18页 |
2.1.5 HBase系统结构 | 第18-20页 |
2.2 数据库常见索引结构与最左匹配原则 | 第20-27页 |
2.2.1 索引的作用 | 第21页 |
2.2.2 B+tree索引结构 | 第21-24页 |
2.2.3 LSM-tree索引结构 | 第24页 |
2.2.4 索引的最左前缀匹配原则 | 第24-26页 |
2.2.5 创建索引时的注意事项 | 第26-27页 |
2.3 HBase二级索引研究现状 | 第27-28页 |
2.3.1 MapReduce方案 | 第27页 |
2.3.2 IHBase方案 | 第27页 |
2.3.3 Solr HBase方案 | 第27-28页 |
2.3.4 协处理器方案 | 第28页 |
2.4 本章小结 | 第28-29页 |
第三章 基于HBase的高效数据存取平台的设计 | 第29-45页 |
3.1 平台的需求分析 | 第29页 |
3.2 二级索引结构设计与索引信息维护 | 第29-34页 |
3.2.1 单列索引结构设计 | 第30-31页 |
3.2.2 联合索引结构设计 | 第31页 |
3.2.3 列值的边界界定与空值处理设计 | 第31-34页 |
3.2.4 索引信息维护 | 第34页 |
3.3 HBase数据视图封装 | 第34-35页 |
3.4 查询时索引最优命中计算算法 | 第35-36页 |
3.5 表结构信息的维护 | 第36-38页 |
3.6 表预拆分算法设计与证明 | 第38-41页 |
3.6.1 表预拆分的适用场景与目的 | 第38-39页 |
3.6.2 表预拆分算法设计 | 第39-40页 |
3.6.3 表预拆分算法证明 | 第40-41页 |
3.7 客户端与平台的通信方式设计 | 第41-43页 |
3.7.1 RPC介绍 | 第41-42页 |
3.7.2 Dubbo介绍 | 第42-43页 |
3.8 系统结构 | 第43-44页 |
3.8.1 系统结构图 | 第43-44页 |
3.9 本章小结 | 第44-45页 |
第四章 基于HBase的高效数据存取平台的实现 | 第45-63页 |
4.1 Dubbo RPC接口与实现的构建 | 第45-46页 |
4.1.1 共享接口定义 | 第45页 |
4.1.2 Dubbo配置 | 第45-46页 |
4.2 预拆分模块的实现 | 第46-47页 |
4.3 索引表行键的构建与解析模块的实现 | 第47-49页 |
4.3.1 索引表行键的构建 | 第47-48页 |
4.3.2 索引表行键的解析 | 第48-49页 |
4.4 索引信息、表信息管理模块的实现 | 第49-51页 |
4.4.1 索引信息管理 | 第50-51页 |
4.4.2 表结构信息管理 | 第51页 |
4.5 数据插入模块的实现 | 第51-52页 |
4.5.1 插入时确定需要更新的索引信息 | 第52页 |
4.5.2 索引表行键的聚集与写入 | 第52页 |
4.6 数据查询模块的实现 | 第52-60页 |
4.6.1 查询时的索引最优命中计算算法 | 第52-55页 |
4.6.2 索引表扫描构建 | 第55-58页 |
4.6.3 数据查询的流程 | 第58-60页 |
4.6.4 集合查询的实现 | 第60页 |
4.7 条件更新的实现 | 第60-61页 |
4.8 条件删除的实现 | 第61页 |
4.9 连接池管理的实现 | 第61-62页 |
4.10 本章小结 | 第62-63页 |
第五章 平台测试与结果分析 | 第63-69页 |
5.1 实验环境和数据 | 第63-64页 |
5.1.1 实验环境 | 第63页 |
5.1.2 实验的数据 | 第63页 |
5.1.3 索引与表结构设置 | 第63-64页 |
5.2 性能测试与分析 | 第64-68页 |
5.2.1 单列索引测试 | 第64-66页 |
5.2.2 联合索引测试 | 第66-67页 |
5.2.3 表预拆分测试 | 第67-68页 |
5.3 实验结论 | 第68页 |
5.4 本章小结 | 第68-69页 |
第六章 总结与展望 | 第69-71页 |
6.1 本文主要工作总结 | 第69-70页 |
6.2 不足与未来的改进工作 | 第70-71页 |
6.2.1 不支持或查询方式与SQL | 第70页 |
6.2.2 不支持动态改变表的结构与索引的删除 | 第70页 |
6.2.3 不支持事务性 | 第70-71页 |
参考文献 | 第71-72页 |
致谢 | 第72-73页 |
攻读学位期间取得的研究成果 | 第73页 |