第1篇 大数据管理系统基础
第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篇 大数据管理系统实现技术
第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篇 面向领域应用的大数据管理系统
第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