第1篇 大数据管理系统基础 2
第1章 大数据技术简介 2
1.1 大数据技术的起源 2
1.2 大数据与云计算 3
参考文献 4
第2章 大数据管理系统架构 5
2.1 大数据管理系统不能采用单一架构 5
2.1.1 大数据的5V特征 5
2.1.2 关系数据库系统架构的缺陷 6
2.2 基于Hadoop生态系统的大数据管理系统架构 8
2.2.1 Hadoop简介 8
2.2.2 HDFS分布式文件系统 9
2.2.3 MapReduce数据处理系统 10
2.3 面向领域的大数据管理系统 12
2.3.1 什么是面向领域的大数据管理系统 12
2.3.2 面向领域的大数据管理系统架构 13
参考文献 16
第3章 大数据模型 17
3.1 关系数据模型 17
3.1.1 关系数据模式 17
3.1.2 关系大数据存储模型 17
3.1.3 查询语言 18
3.1.4 典型系统 18
3.2 键值数据模型 19
3.2.1 键值数据模式 19
3.2.2 键值数据存储模型 19
3.2.3 查询语言 19
3.2.4 典型系统 20
3.3 列族数据模型 20
3.3.1 列族数据模式 20
3.3.2 列族数据存储模型 21
3.3.3 查询语言 21
3.3.4 典型系统 21
3.4 文档数据模型 22
3.4.1 文档数据模式 22
3.4.2 文档数据存储模型 23
3.4.3 查询语言 23
3.4.4 典型系统 24
3.5 图数据模型 24
3.5.1 图数据模式 24
3.5.2 图数据存储模型 25
3.5.3 查询语言 25
3.5.4 典型系统 26
参考文献 27
第4章 大数据应用开发 28
4.1 大数据应用开发流程 28
4.2 大数据库设计 31
4.2.1 顶层设计 31
4.2.2 数据存储格式 32
4.2.3 数据模式设计 34
4.2.4 元数据管理 35
4.2.5 元数据存储 36
参考文献 37
第2篇 大数据管理系统实现技术 40
第5章 大数据存储和索引技术 40
5.1 大数据存储技术 40
5.1.1 分布式文件系统 40
5.1.2 关系数据存储 45
5.1.3 列族大数据存储技术 48
5.2 大数据索引技术 50
5.2.1 系统概述 50
5.2.2 CG索引 53
参考文献 57
第6章 大数据查询处理技术 59
6.1 大数据批处理技术 59
6.1.1 MapReduce技术简介 59
6.1.2 基于MapReduce的多表连接技术 62
6.2 大数据流处理技术 83
6.2.1 系统设计动机与需求 84
6.2.2 MillWheel编程模型 85
6.2.3 MillWheel编程接口 86
6.2.4 计算 86
6.2.5 键 87
6.2.6 流 87
6.2.7 持久态 87
6.2.8 低水位 87
6.2.9 定时器 87
6.3 大图数据处理技术 88
6.3.1 Pregel大图处理系统 89
6.3.2 系统实现 94
6.3.3 GRAPE大图处理系统 97
6.4 混合大数据处理技术 104
6.4.1 背景介绍 104
6.4.2 EPIC框架概述 105
6.4.3 模型抽象 109
6.4.4 实现方案与技术细节 118
6.4.5 实验 122
6.5 群组查询处理技术 128
6.5.1 简介 128
6.5.2 群组查询的非侵入式方法 131
6.5.3 群组查询基础 133
6.5.4 群组查询引擎COHANA 138
6.5.5 性能分析 143
6.5.6 总结 149
参考文献 149
第7章 大数据事务处理技术 151
7.1 基于键组的事务处理技术 151
7.1.1 键组 151
7.1.2 键值分组协议 152
7.1.3 系统实现 153
7.2 基于时间戳的事务处理技术 155
7.2.1 Spanner事务处理简介 155
7.2.2 TrueTime应用接口 155
7.2.3 基于时间戳的事务处理 156
7.3 确定性分布式事务处理技术 157
7.4 基于数据迁移的事务处理技术 162
7.4.1 LEAP 164
7.4.2 L-Store 170
参考文献 174
第8章 大数据总线技术 176
8.1 为什么需要大数据总线 176
8.1.1 两个复杂性问题 176
8.1.2 从N-to-N到N-to-One 177
8.2 基于日志的数据总线 178
8.2.1 数据库中的日志 179
8.2.2 分布式系统中的日志 179
8.3 Kafka系统简介 181
8.3.1 单个分区的效率 182
8.3.2 分布式协调 184
8.3.3 交付保证 186
参考文献 187
第3篇 面向领域应用的大数据管理系统 190
第9章 面向决策支持的云展大数据仓库系统 190
9.1 决策支持简介 190
9.2 云展大数据仓库系统架构 191
9.2.1 云展大数据仓库系统总览 191
9.2.2 SINGA分布式深度学习平台 192
9.2.3 CDAS众包数据分析系统 198
9.3 应用实例 202
9.3.1 简介 202
9.3.2 综合医疗分析系统架构 205
9.3.3 联合患者档案 207
9.3.4 案例分析:患者返院预测 210
参考文献 211
第10章 面向大规模轨迹数据的分析系统TrajBase 212
10.1 轨迹数据处理系统简介 212
10.1.1 轨迹数据处理技术简介 212
10.1.2 集中式轨迹数据处理系统 213
10.1.3 分布式多维数据处理系统 214
10.1.4 分布式时空数据处理系统 214
10.2 轨迹概念介绍 215
10.3 TrajBase系统架构 216
10.4 轨迹数据处理技术 218
10.4.1 轨迹数据表达技术 218
10.4.2 轨迹数据存储技术 218
10.4.3 轨迹数据索引和查询技术 219
10.4.4 轨迹数据挖掘技术 222
参考文献 223
第11章 基于超图的交互式图像检索与标记系统HIRT 225
11.1 图像检索与标记方法简介 225
11.1.1 基于文本的图片检索方法 225
11.1.2 基于内容的图片检索方法 226
11.1.3 基于超图的图片检索方法 226
11.2 HIRT系统架构 230
11.2.1 超图构建 231
11.2.2 矩阵计算 232
11.2.3 Top-k查询 237
11.3 交互式图像检索技术 237
11.3.1 并行查询方法 238
11.3.2 近似查询方法 241
11.3.3 交互式查询方法 243
参考文献 246
索引 247