中文摘要 | 第3-4页 |
英文摘要 | 第4-5页 |
1 绪论 | 第9-14页 |
1.1 研究背景 | 第9-10页 |
1.2 研究现状 | 第10-11页 |
1.3 主要研究内容 | 第11-12页 |
1.4 论文内容结构 | 第12-13页 |
1.5 本章小结 | 第13-14页 |
2 相关技术介绍 | 第14-26页 |
2.1 基础技术介绍 | 第14-18页 |
2.1.1 Hadoop简介 | 第14页 |
2.1.2 HBase简介 | 第14-16页 |
2.1.3 Spark简介 | 第16-18页 |
2.2 基础索引算法简介 | 第18-21页 |
2.2.1 Hash索引 | 第18-19页 |
2.2.2 B树索引 | 第19页 |
2.2.3 B+树索引 | 第19-20页 |
2.2.4 HT树索引 | 第20-21页 |
2.3 HBase查询优化方案 | 第21-24页 |
2.3.1 HBase rowkey设计原则 | 第21-22页 |
2.3.2 二级索引架构 | 第22-23页 |
2.3.3 华为HBase索引方案 | 第23-24页 |
2.4 本章小结 | 第24-26页 |
3 索引系统的设计 | 第26-35页 |
3.1 索引系统方案 | 第26-27页 |
3.2 索引算法的选择 | 第27-28页 |
3.3 HT树的操作 | 第28-30页 |
3.4 系统设计 | 第30-34页 |
3.4.1 系统架构图 | 第31页 |
3.4.2 主要操作流程 | 第31-33页 |
3.4.3 接口的架构图 | 第33-34页 |
3.5 本章总结 | 第34-35页 |
4 索引系统的实现 | 第35-53页 |
4.1 系统环境的搭建 | 第35-38页 |
4.1.1 软件版本的选择 | 第35-36页 |
4.1.2 Linux基本系统安装 | 第36页 |
4.1.3 Hadoop的安装 | 第36-37页 |
4.1.4 HBase的安装 | 第37页 |
4.1.5 Spark的安装 | 第37-38页 |
4.2 中间件的设计 | 第38-39页 |
4.3 中间件的实现 | 第39-44页 |
4.3.1 HBase操作组件 | 第39-40页 |
4.3.2 Spark操作组件 | 第40页 |
4.3.3 索引树核心组件 | 第40-42页 |
4.3.4 组件之间的耦合 | 第42-44页 |
4.4 API设计 | 第44-45页 |
4.4.1 索引操作API | 第44-45页 |
4.4.2 数据操作API | 第45页 |
4.5 基于Thrift的API的实现 | 第45-49页 |
4.5.1 Thrift简介 | 第45-46页 |
4.5.2 Java API的实现 | 第46-49页 |
4.6 Web Service API的实现 | 第49-52页 |
4.6.1 RESTful简介 | 第49页 |
4.6.2 RESTful Web Service的实现 | 第49-52页 |
4.7 本章总结 | 第52-53页 |
5 索引系统测试 | 第53-63页 |
5.1 总体设计 | 第53-54页 |
5.2 实验环境 | 第54-55页 |
5.3 数据入库测试 | 第55-57页 |
5.4 数据读取测试 | 第57-62页 |
5.4.1 查询条件A和B的查询时间对比 | 第58-59页 |
5.4.2 查询条件A和C的查询时间对比 | 第59-60页 |
5.4.3 查询条件C和D的查询时间对比 | 第60页 |
5.4.4 查询条件B和D的查询时间比较 | 第60-61页 |
5.4.5 查询条件ABCD的综合比较 | 第61-62页 |
5.5 本章小结 | 第62-63页 |
6 总结与展望 | 第63-65页 |
6.1 论文总结 | 第63-64页 |
6.2 今后展望 | 第64-65页 |
致谢 | 第65-66页 |
参考文献 | 第66-67页 |