打开主菜单

求真百科

大数据日知录

大数据日知录

《大数据日知录:架构与算法》内容简介:大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。书中从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。

《大数据日知录:架构与算法》对众多纷繁芜杂的相关技术文献和系统进行了择优汰劣并系统性地对相关知识分门别类地进行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体和系统地了解、吸收和掌握相关的优秀技术有极大的帮助与促进作用。 《大数据日知录:架构与算法》的读者对象包括对NoSQL系统及大数据处理感兴趣的所有技术人员,以及有志于投身到大数据处理方向从事架构师算法工程师数据科学家等相关职业的在校本科生及研究生。

目录

基本内容

书名:大数据日知录:架构与算法

作者:张俊林

出版社:电子工业出版社

页数:388页

开本:16

品牌:电子工业出版社

外文名:Big Data

类型:科技

出版日期:2014年9月1日

语种:简体中文

ISBN:7121241536

内容简介

1.大数据领域技术专家、畅销书《这就是搜索引擎:核心技术详解》作者张俊林最新力作,历时3年,质量上乘

2.《大数据》《信息检索导论》译者王斌、机器学习专家张栋、新浪微博平台及大数据总经理刘子正、盛大文学首席数据官陈运文、CSDN/《程序员》创始人蒋涛联袂力荐

3.全面梳理大数据相关技术,从数据、算法、策略、应用和系统架构等多个维度进行剖析,包罗万象又深入浅出

4.内容全部是干货,紧跟技术前沿,是作者理论与实践经验的总结,绝对值得一读

5.每章后列有精选高质量论文,可以节约读者筛选读物的时间

同作者著作《这就是搜索引擎:核心技术详解》

作者简介

张俊林是技术书籍《这就是搜索引擎:核心技术详解》(该书荣获全国第十二届输出版优秀图书奖)的作者,目前担任畅捷通智能平台总监。在此之前,张俊林曾经在阿里巴巴搜索技术中心、百度商务搜索部凤巢广告平台以及新浪微博搜索部及数据系统部担任资深技术专家,新浪微博技术委员会成员,负责算法策略方向。他还曾是智能信息聚合网站“玩聚网”的联合创始人之一。他的研发兴趣集中在:搜索技术、推荐系统、社交挖掘、自然语言处理与大数据算法架构等方面,并在以上领域有多年工业界实践经验。

张俊林本科毕业于天津大学管理学院,1999年至2004年在中科院软件所直接攻读博士学位,研究方向是信息检索理论与自然语言处理,就学期间曾在ACL/COLING/IJCNLP等国际顶级会议发表多篇学术论文,另外,他在此期间领导设计的搜索系统曾在美国国防部DARPA主持的TREC第二届高精度检索系统评测中在17支国际高水平研究团队激烈竞争中胜出,并取得综合排名第一名的优异成绩。

图书目录

第0 章 当谈论大数据时我们在谈什么 1

0.1 大数据是什么 2

0.2 大数据之翼:技术范型转换 4

0.3 大数据商业炼金术 6

0.4 “大数据”在路上 7

第1 章 数据分片与路由 9

1.1 抽象模型10

1.2 哈希分片(Hash Partition) 11

1.2.1 Round Robin11

1.2.2 虚拟桶(Virtual Buckets) 12

1.2.3 一致性哈希(Consistent Hashing) 13

1.3 范围分片(Range Partition) 18

参考文献19

第2 章 数据复制与一致性20

2.1 基本原则与设计理念21

2.1.1 原教旨CAP 主义21

2.1.2 CAP 重装上阵(CAP Reloaded)23

2.1.3 ACID 原则24

2.1.4 BASE 原则24

2.1.5 CAP/ACID/BASE 三者的关系25

2.1.6 幂等性(Idempotent)26

2.2 一致性模型分类26

2.2.1 强一致性27

2.2.2 最终一致性28

2.2.3 因果一致性28

2.2.4 “读你所写”一致性29

2.2.5 会话一致性29

2.2.6 单调读一致性30

2.2.7 单调写一致性30

2.3 副本更新策略30

2.3.1 同时更新30

2.3.2 主从式更新31

2.3.3 任意节点更新32

2.4 一致性协议32

2.4.1 两阶段提交协议(Two—Phrase Commit,2PC)33

2.4.2 向量时钟(Vector Clock) 38

2.4.3 RWN 协议40

2.4.4 Paxos 协议42

2.4.5 Raft 协议45

参考文献49

第3 章 大数据常用的算法与数据结构51

3.1 布隆过滤器(Bloom Filter) 51

3.1.1 基本原理52

3.1.2 误判率及相关计算52

3.1.3 改进:计数Bloom Filter53

3.1.4 应用54

3.2 SkipList55

3.3 LSM 树58

3.4 Merkle 哈希树(Merkle Hash Tree) 62

3.4.1 Merkle 树基本原理62

3.4.2 Dynamo 中的应用63

3.4.3 比特币中的应用63

3.5 Snappy 与LZSS 算法65

3.5.1 LZSS 算法65

3.5.2 Snappy67

3.6 Cuckoo 哈希(Cuckoo Hashing) 67

3.6.1 基本原理68

3.6.2 应用:SILT 存储系统68

参考文献70

第4 章 集群资源管理与调度71

4.1 资源管理抽象模型72

4.1.1 概念模型72

4.1.2 通用架构73

4.2 调度系统设计的基本问题74

4.2.1 资源异质性与工作负载异质性74

4.2.2 数据局部性(Data Locality) 75

4.2.3 抢占式调度与非抢占式调度75

4.2.4 资源分配粒度(Allocation Granularity) 76

4.2.5 饿死(Starvation)与死锁(Dead Lock)问题76

4.2.6 资源隔离方法77

4.3 资源管理与调度系统范型77

4.3.1 集中式调度器(Monolithic Scheduler)78

4.3.2 两级调度器(Two—Level Scheduler) 79

4.3.3 状态共享调度器(Shared—State Scheduler) 79

4.4 资源调度策略81

4.4.1 FIFO 调度策略81

4.4.2 公平调度器(Fair Scheduler)81

4.4.3 能力调度器(Capacity Scheduler) 82

4.4.4 延迟调度策略(Delay Scheduling)82

4.4.5 主资源公平调度策略(Dominant Resource Fair Scheduling)82

4.5 Mesos 84

4.6 YARN87

参考文献90

第5 章 分布式协调系统91

5.1 Chubby 锁服务92

5.1.1 系统架构93

5.1.2 数据模型94

5.1.3 会话与KeepAlive 机制95

5.1.4 客户端缓存95

5.2 ZooKeeper 96

5.2.1 体系结构96

5.2.2 数据模型(Data Model) 97

5.2.3 API 98

5.2.4 ZooKeeper 的典型应用场景98

5.2.5 ZooKeeper 的实际应用103

参考文献104

第6 章 分布式通信106

6.1 序列化与远程过程调用框架107

6.1.1 Protocol Buffer 与Thrift 108

6.1.2 Avro109

6.2 消息队列110

6.2.1 常见的消息队列系统110

6.2.2 Kafka 111

6.3 应用层多播通信(Application—Level Multi—Broadcast)114

6.3.1 概述114

6.3.2 Gossip 协议115

参考文献118

第7 章 数据通道120

7.1 Log 数据收集120

7.1.1 Chukwa121

7.1.2 Scribe122

7.2 数据总线123

7.2.1 Databus125

7.2.2 Wormhole 127

7.3 数据导入/导出128

参考文献129

第8 章 分布式文件系统131

8.1 Google 文件系统(GFS) 132

8.1.1 GFS 设计原则132

8.1.2 GFS 整体架构133

8.1.3 GFS 主控服务器134

8.1.4 系统交互行为136

8.1.5 Colossus 137

8.2 HDFS 138

8.2.1 HDFS 整体架构139

8.2.2 HA 方案140

8.2.3 NameNode 联盟143

8.3 HayStack 存储系统145

8.3.1 HayStack 整体架构146

8.3.2 目录服务147

8.3.3 HayStack 缓存148

8.3.4 HayStack 存储系统的实现148

8.4 文件存储布局150

8.4.1 行式存储151

8.4.2 列式存储151

8.4.3 混合式存储156

8.5 纠删码(Erasure Code)158

8.5.1 Reed—Solomon 编码159

8.5.2 LRC 编码164

8.5.3 HDFS—RAID 架构166

参考文献166

……

第9 章 内存KV 数据库168

第10 章 列式数据库176

第11 章 大规模批处理系统199

第12 章 流式计算219

第13 章 交互式数据分析240

第14 章 图数据库:架构与算法271

第15 章 机器学习:范型与架构313

第16 章 机器学习:分布式算法337

第17 章 增量计算366

附录A 硬件体系结构及常用性能指标378

附录B 大数据必读文献380[1]

参考文献