大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。本书从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。本书对众多纷繁芜杂的相关技术文献和系统进行了择优汰劣并系统性地对相关知识分门别类地进行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体系统地了解、吸收和掌握相关的优秀技术有极大的帮助与促进作用。
内容简介
前言
0 当谈论大数据时我们在谈什么
0.1 大数据是什么
0.2 大数据之翼:技术范型转换
0.3 大数据商业炼金术
0.4 “大数据”在路上
1 数据分片与路由
1.1 抽象模型
1.2 哈希分片(Hash Partition)
1.3 范围分片(Range Partition)
参考文献
2 数据复制与一致性
2.1 基本原则与设计理念
2.2 一致性模型分类
2.3 副本更新策略
2.4 一致性协议
参考文献
3 大数据常用的算法与数据结构
3.1 布隆过滤器(Bloom Filter)
3.2 Skip List
3.3 LSM树
3.4 Merkle哈希树(Merkle Hash Tree)
3.5 Snappy与LZSS算法
3.6 Cuckoo哈希(Cuckoo Hashing)
参考文献
4 集群资源管理与调度
4.1 资源管理抽象模型
4.2 调度系统设计的基本问题
4.3 资源管理与调度系统范型
4.4 资源调度策略
4.5 Mesos
4.6 YARN
参考文献
5 分布式协调系统
5.1 Chubby锁服务
5.2 ZooKeeper
参考文献
6 分布式通信
6.1 序列化与远程过程调用框架
6.2 消息队列
6.3 应用层多播通信(Application-Level Multi-Broadcast)
参考文献
7 数据通道
7.1 Log数据收集
7.2 数据总线
7.3 数据导入/导出
参考文献
8 分布式文件系统
8.1 Google文件系统(GFS)
8.2 HDFS
8.3 HayStack存储系统
8.4 文件存储布局
8.5 纠删码(Erasure Code)
参考文献
9 内存KV数据库
9.1 RAMCloud
9.2 Redis
9.3 Mem Base
参考文献
10 列式数据库
10.1 BigTable
10.2 PNUTS存储系统
10.3 Mega Store
10.4 Spanner
参考文献
11 大规模批处理系统
11.1 MapReduce计算模型与架构
11.2 MapReduce计算模式
11.3 DAG计算模型
参考文献
12 流式计算
12.1 流式计算系统架构
12.2 DAG拓扑结构
12.3 送达保证(Delivery Guarantees)
12.4 状态持久化
参考文献
13 交互式数据分析
13.1 Hive系数据仓库
13.2 Shark系数据仓库
13.3 Dremel系数据仓库
13.4 混合系数据仓库
参考文献
14 图数据库:架构与算法
14.1 在线查询类图数据库
14.2 常见图挖掘问题
14.3 离线挖掘数据分片
14.4 离线挖掘计算模型
14.5 离线挖掘图数据库
参考文献
15 机器学习:范型与架构
15.1 分布式机器学习
15.2 分布式机器学习范型
15.3 分布式机器学习架构
参考文献
16 机器学习:分布式算法
16.1 计算广告:逻辑回归
16.2 推荐系统:矩阵分解
16.3 搜索引擎:机器学习排序
16.4 自然语言处理:文档相似性计算
16.5 社交挖掘:谱聚类
16.6 深度学习:DistBelief
参考文献
17 增量计算
17.1 增量计算模式
17.2 Percolator
17.3 Kineograph
17.4 Dryad Inc
参考文献
附录A 硬件体系结构及常用性能指标
附录B 大数据必读文献

