大數據日知錄
大數據日知錄 |
《大數據日知錄:架構與算法》內容簡介:大數據是當前最為流行的熱點概念之一,其已由技術名詞衍生到對很多行業產生顛覆性影響的社會現象,作為最明確的技術發展趨勢之一,基於大數據的各種新型產品必將會對每個人的日常生活產生日益重要的影響。書中從架構與算法角度全面梳理了大數據存儲與處理的相關技術。大數據技術具有涉及的知識點異常眾多且正處於快速演進發展過程中等特點,其技術點包括底層的硬件體系結構、相關的基礎理論、大規模數據存儲系統、分布式架構設計、各種不同應用場景下的差異化系統設計思路、機器學習與數據挖掘並行算法以及層出不窮的新架構、新系統等。
《大數據日知錄:架構與算法》對眾多紛繁蕪雜的相關技術文獻和系統進行了擇優汰劣並系統性地對相關知識分門別類地進行整理和介紹,將大數據相關技術分為大數據基礎理論、大數據系統體系結構、大數據存儲,以及包含批處理、流式計算、交互式數據分析、圖數據庫、並行機器學習的架構與算法以及增量計算等技術分支在內的大數據處理等幾個大的方向。通過這種體系化的知識梳理與講解,相信對於讀者整體和系統地了解、吸收和掌握相關的優秀技術有極大的幫助與促進作用。 《大數據日知錄:架構與算法》的讀者對象包括對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]
參考文獻
- ↑ 大數據日知錄-架構與算法中圖網