架构大数据 大数据技术及算法解析
内容简介:
本书从大数据架构的角度全面解析大数据技术及算法,探讨大数据的发展和趋势。不仅对大数据相关技术及算法做了系统性的分析和描述,梳理了大数据的技术分类,如基础架构支持、大数据采集、大数据存储、大数据处理、大数据展示及交互,还融合了大数据行业的最新技术进展和大型互联网公司的大数据架构实践,努力为读者提供一个大数据的全景画卷。
资源目录:
第1章 大数据技术概述 1
1.1 大数据的概念 1
1.2 大数据的行业价值 4
1.3 大数据问题的爆发 9
1.4 大数据处理流程 12
1.5 大数据技术 13
1.5.1 基础架构支持 14
1.5.2 数据采集 14
1.5.3 数据存储 15
1.5.4 数据计算 16
1.5.5 展现与交互 18
1.6 练习题 19
参考文献 19
第2章 大数据基础支撑——数据中心及云计算 20
2.1 数据中心概述 20
2.1.1 云计算时代数据中心面临的问题 21
2.1.2 新一代数据中心关键技术 22
2.1.3 业界发展动态 24
2.1.4 小结 25
2.2 云计算简介 25
2.2.1 云计算定义 26
2.2.2 云计算主要特征 27
2.2.3 Web服务、网格和云计算 28
2.2.4 云计算应用分类 29
2.2.5 小结 31
2.3 大数据与云计算的关系 32
2.3.1 大数据是信息技术发展的必然阶段 33
2.3.2 云计算等新兴信息技术正在真正地落地和实施 34
2.3.3 云计算等新兴技术是解决大数据问题的核心关键 34
2.4 云资源调度与管理 35
2.4.1 云资源管理 36
2.4.2 云资源调度策略 38
2.4.3 云计算数据中心负载均衡调度 40
2.5 开源云管理平台OpenStack 44
2.5.1 OpenStack的构成 45
2.5.2 OpenStack各组件之间的关系 46
2.5.3 OpenStack的逻辑架构 47
2.5.4 小结 49
2.6 软件定义网络 49
2.6.1 起源与发展 50
2.6.2 OpenFlow标准和规范 50
2.6.3 OpenFlow的应用 53
2.7 虚拟机与容器 55
2.7.1 VM虚拟化与Container虚拟化 55
2.7.2 Docker 55
2.8 练习题 57
参考文献 57
第3章 云计算先行者——Google的三驾马车 59
3.1 Google的三驾马车 59
3.1.1 GFS——一个可扩展的分布式文件系统 59
3.1.2 MapReduce——一种并行计算的编程模型 64
3.1.3 BigTable——一个分布式数据存储系统 69
3.2 Google新“三驾马车” 77
3.2.1 Caffeine——基于Percolator的搜索索引系统 77
3.2.2 Pregel——高效的分布式图计算的计算框架 80
3.2.3 Dremel——大规模数据的交互式数据分析系统 85
3.3 练习题 89
参考文献 89
第4章 云存储系统 91
4.1 云存储的基本概念 91
4.1.1 云存储结构模型 91
4.1.2 云存储与传统存储系统的区别 94
4.2 云存储关键技术 95
4.2.1 存储虚拟化技术 95
4.2.2 分布式存储技术 97
4.3 云存储系统分类 98
4.3.1 分布式文件存储 99
4.3.2 分布式块存储 105
4.3.3 分布式对象存储 109
4.3.4 统一存储 117
4.4 其他相关技术 124
4.5 练习题 127
参考文献 127
第5章 数据采集系统 129
5.1 Flume 130
5.1.1 Flume架构 130
5.1.2 Flume核心组件 133
5.1.3 Flume环境搭建与部署 134
5.2 Scribe 139
5.2.1 Scribe架构 139
5.2.2 Scribe中的Store 140
5.2.3 Scribe环境搭建与部署 141
5.3 Chukwa 144
5.3.1 Chukwa的设计目标 144
5.3.2 Chukwa架构 145
5.3.3 Chukwa 环境搭建与部署 147
5.4 Kafka 150
5.4.1 Kafka架构 150
5.4.2 Kafka存储 152
5.4.3 Kafka的特点 152
5.4.4 Kafka环境搭建与部署 154
5.5 练习题 155
参考文献 155
第6章 Hadoop与MapReduce 156
6.1 Hadoop平台 156
6.1.1 Hadoop概述 156
6.1.2 Hadoop的发展简史 157
6.1.3 Hadoop的功能和作用 158
6.1.4 HDFS 159
6.1.5 HBase 162
6.2 MapReduce 171
6.2.1 第一代MapReduce(MRv1) 172
6.2.2 MapReduce 2.0——Yarn 180
6.3 Hadoop相关生态系统 184
6.3.1 交互式数据查询分析 184
6.3.2 数据收集、转换工具 187
6.3.3 机器学习工具 188
6.3.4 集群管理与监控 188
6.3.5 其他工具 189
6.4 Hadoop应用案例 191
6.5 练习题 192
参考文献 192
第7章 Spark——大数据统一计算平台 193
7.1 Spark简介 193
7.1.1 Spark 193
7.1.2 BDAS 195
7.2 RDD 197
7.2.1 RDD基本概念 197
7.2.2 RDD示例 199
7.2.3 RDD与分布式共享内存 200
7.3 Spark SQL 201
7.4 MLlib 203
7.5 GraphX 206
7.6 Spark Streaming 206
7.6.1 基本概念 207
7.6.2 编程模型 208
7.7 Spark的安装 210
7.7.1 单机运行Spark 210
7.7.2 使用Spark Shell与Spark交互 213
7.8 Shark、Impala、Hive对比 214
7.9 练习题 216
参考文献 216
第8章 Storm流计算系统 218
8.1 流计算系统 218
8.1.1 流计算系统的特点 218
8.1.2 流计算处理基本流程 219
8.2 Storm流计算框架 220
8.2.1 Storm简介 220
8.2.2 Storm关键术语 221
8.2.3 Storm架构设计 223
8.3 Storm编程实例 225
8.4 Storm应用 228
8.4.1 Storm应用场景 228
8.4.2 Storm应用实例 228
8.5 其他流计算框架 229
8.6 练习题 231
参考文献 231
第9章 SQL、NoSQL与NewSQL 232
9.1 传统SQL数据库 232
9.1.1 关系模型 232
9.1.2 关系型数据库的优点 233
9.1.3 关系型数据库面临的问题 234
9.2 NoSQL 234
9.2.1 NoSQL与大数据 235
9.2.2 NoSQL理论基础 235
9.2.3 分布式模型 238
9.2.4 NoSQL数据库分类 241
9.3 NewSQL 255
9.3.1 系统分类 255
9.3.2 Google Spanner 256
9.3.3 MemSQL 258
9.3.4 VoltDB 260
9.4 练习题 263
参考文献 263
第10章 大数据与数据挖掘 264
10.1 数据挖掘的主要功能和常用算法 264
10.1.1 数据挖掘的主要功能 264
10.1.2 常用算法 265
10.2 大数据时代的数据挖掘 280
10.2.1 传统数据挖掘解决方案 280
10.2.2 分布式数据挖掘解决方案 280
10.3 数据挖掘相关工具 282
10.3.1 Mahout 282
10.3.2 语言工具——Python 288
10.4 数据挖掘与R语言 289
10.4.1 R语言简介 289
10.4.2 R语言在数据挖掘上的应用 290
10.5 练习题 294
参考文献 294
第11章 深度学习 298
11.1 深度学习介绍 299
11.1.1 深度学习的概念 299
11.1.2 深度学习的结构 299
11.1.3 从机器学习到深度学习 301
11.2 深度学习基本方法 302
11.2.1 自动编码器 302
11.2.2 稀疏编码 304
11.3 深度学习模型 305
11.3.1 深度置信网络 306
11.3.2 卷积神经网络 308
11.4 深度学习的训练加速 310
11.4.1 GPU加速 310
11.4.2 数据并行 311
11.4.3 模型并行 312
11.4.4 计算集群 313
11.5 深度学习应用 313
11.5.1 Google 314
11.5.2 百度 314
11.5.3 腾讯Mariana 315
11.6 练习题 316
参考文献 316
第12章 电子商务与社会化网络大数据分析 318
12.1 推荐系统简介 318
12.1.1 推荐系统的评判标准 319
12.1.2 推荐系统的分类 319
12.1.3 在线推荐系统常用算法介绍 320
12.1.4 相关算法知识 323
12.2 计算广告 327
12.2.1 计算广告简介 327
12.2.2 计算广告发展阶段 327
12.2.3 计算广告相关算法 330
12.2.4 计算广告与大数据 332
12.2.5 大数据在计算广告中的应用案例 333
12.3 社交网络 333
12.3.1 社交网络中大数据挖掘的应用场景 334
12.3.2 社交网络大数据挖掘核心算法模型 334
12.3.3 图计算框架 335
12.3.4 大数据在社交网络中的应用案例 337
12.4 练习题 338
第13章 大数据展示与交互技术 339
13.1 数据可视化分类 339
13.1.1 按照展示内容进行划分 340
13.1.2 按照数据类型进行划分 341
13.2 可视化技术分类 351
13.2.1 2D展示技术 351
13.2.2 3D渲染技术 356
13.2.3 体感互动技术 360
13.2.4 虚拟现实技术 362
13.2.5 增强现实技术 364
13.2.6 可穿戴技术 365
13.2.7 可植入设备 368
13.3 练习题 369
参考文献 369
第14章 大数据安全与隐私 372
14.1 云计算时代安全与隐私问题凸显 372
14.2 云计算与大数据时代的安全挑战 374
14.2.1 大数据时代的安全需求 374
14.2.2 信息安全的发展历程 375
14.2.3 新兴信息技术带来的安全挑战 376
14.3 如何解决安全问题 380
14.3.1 云计算安全防护框架 381
14.3.2 基础云安全防护关键技术 384
14.3.3 创立本质安全的新型IT体系 387
14.4 隐私问题 389
14.4.1 防不胜防的隐私泄露 389
14.4.2 隐私保护的政策法规 390
14.4.3 隐私保护技术 391
14.5 练习题 393
参考文献 393
第15章 大数据技术发展趋势 394
15.1 实时化 394
15.2 内存计算 396
15.2.1 机遇与挑战 396
15.2.2 研究进展 397
15.2.3 发展展望 399
15.3 泛在化 399
15.3.1 发展现状 400
15.3.2 发展趋势 401
15.4 智能化 406
15.4.1 传统人工智能 406
15.4.2 基于大数据的人工智能 407
15.5 练习题 410
参考文献 410
第16章 知名企业大数据架构简介 411
16.1 腾讯 411
16.1.1 背景介绍 411
16.1.2 整体架构 412
16.2 淘宝 416
16.2.1 背景介绍 416
16.2.2 整体架构 416
16.3 Facebook 417
16.3.1 背景介绍 417
16.3.2 整体架构 418
16.3.3 技术架构展望 420
16.4 Twitter 420
16.4.1 背景介绍 420
16.4.2 整体架构 420
16.4.3 技术架构展望 422
16.5 Netflix 422
16.5.1 背景介绍 422
16.5.2 整体架构 423
16.5.3 Netflix个性化和推荐系统架构 426
16.6 练习题 430
参考文献 430
截图: