3dwoo大學簡體電腦書店
HBase原理與實踐
( 簡體 字)
作者:胡 爭 范欣欣 著類別:1. -> 程式設計 -> 大數據
出版社:機械工業出版社HBase原理與實踐 3dWoo書號: 51772
詢問書籍請說出此書號!
有庫存
NT售價: 645
出版日:9/1/2019
頁數:310
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111634959 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
前 言
第1章 HBase概述 1
1.1 HBase前生今世 1
1.2 HBase數據模型 4
1.2.1 邏輯視圖 4
1.2.2 多維稀疏排序Map 5
1.2.3 物理視圖 7
1.2.4 行式存儲、列式存儲、列簇式存儲 7
1.3 HBase體系結構 9
1.4 HBase系統特性 11
第2章 基礎數據結構與算法 13
2.1 跳躍表 14
2.2 LSM樹 17
2.3 布隆過濾器 21
2.4 設計KV存儲引擎MiniBase 25
第3章 HBase依賴服務 34
3.1 ZooKeeper簡介 34
3.2 HBase中ZooKeeper核心配置 37
3.3 HDFS簡介 39
3.4 HBase在HDFS中的文件布局 44
第4章 HBase客戶端 48
4.1 HBase客戶端實現 48
4.1.1 定位Meta表 51
4.1.2 Scan的復雜之處 53
4.2 HBase客戶端避坑指南 57
第5章 RegionServer的核心模塊 63
5.1 RegionServer內部結構 63
5.2 HLog 64
5.2.1 HLog文件結構 64
5.2.2 HLog文件存儲 65
5.2.3 HLog生命周期 66
5.3 MemStore 67
5.3.1 MemStore內部結構 68
5.3.2 MemStore的GC問題 68
5.3.3 MSLAB內存管理方式 69
5.3.4 MemStore Chunk Pool 71
5.3.5 MSLAB相關配置 72
5.4 HFile 72
5.4.1 HFile邏輯結構 73
5.4.2 HFile物理結構 74
5.4.3 HFile的基礎Block 75
5.4.4 HFile中與布隆過濾器相關的Block 77
5.4.5 HFile中索引相關的Block 79
5.4.6 HFile文件查看工具 81
5.4.7 HFile V3版本 83
5.5 BlockCache 84
5.5.1 LRUBlockCache 84
5.5.2 SlabCache 86
5.5.3 BucketCache 86
第6章 HBase讀寫流程 93
6.1 HBase寫入流程 93
6.1.1 寫入流程的三個階段 93
6.1.2 Region寫入流程 96
6.1.3 MemStore Flush 98
6.2 BulkLoad功能 104
6.2.1 BulkLoad核心流程 104
6.2.2 BulkLoad基礎案例 105
6.3 HBase讀取流程 107
6.3.1 Client-Server讀取交互邏輯 108
6.3.2 Server端Scan框架體系 109
6.3.3 過濾淘汰不符合查詢條件的HFile 112
6.3.4 從HFile中讀取待查找Key 112
6.4 深入理解Coprocessor 115
6.4.1 Coprocessor分類 116
6.4.2 Coprocessor加載 118
第7章 Compaction實現 120
7.1 Compaction基本工作原理 120
7.1.1 Compaction基本流程 122
7.1.2 Compaction觸發時機 123
7.1.3 待合并HFile集合選擇策略 124
7.1.4 挑選合適的執行線程池 125
7.1.5 HFile文件合并執行 126
7.1.6 Compaction相關注意事項 127
7.2 Compaction高級策略 128
第8章 負載均衡實現 133
8.1 Region遷移 133
8.2 Region合并 137
8.3 Region分裂 137
8.4 HBase的負載均衡應用 144
第9章 宕機恢復原理 147
9.1 HBase常見故障分析 147
9.2 HBase故障恢復基本原理 148
9.3 HBase故障恢復流程 149
9.4 HBase故障時間優化 154
第10章 復制 158
10.1 復制場景及原理 158
10.1.1 管理流程的設計和問題 159
10.1.2 復制原理 161
10.2 串行復制 164
10.2.1 非串行復制導致的問題 164
10.2.2 串行復制的設計思路 166
10.3 同步復制 167
10.3.1 設計思路 168
10.3.2 同步復制和異步復制對比 171
第11章 備份與恢復 173
11.1 Snapshot概述 173
11.2 Snapshot創建 175
11.2.1 Snapshot技術基礎原理 175
11.2.2 在線Snapshot的分布式架構—兩階段提交 176
11.2.3 Snapshot核心實現 178
11.3 Snapshot恢復 179
11.4 Snapshot進階 181
第12章 HBase運維 184
12.1 HBase系統監控 184
12.1.1 HBase監控指標輸出方式 184
12.1.2 HBase核心監控指標 185
12.1.3 HBase表級監控 187
12.2 HBase集群基準性能測試 189
12.3 HBase YCSB 192
12.4 HBase業務隔離 194
12.5 HBase HBCK 195
12.6 HBase核心參數配置 198
12.7 HBase表設計 203
12.8 Salted Table 206
第13章 HBase系統調優 209
13.1 HBase GC調優 209
13.2 G1 GC性能調優 211
13.3 HBase操作系統調優 223
13.4 HBase-HDFS調優策略 228
13.5 HBase讀取性能優化 230
13.5.1 HBase服務器端優化 231
13.5.2 HBase客戶端優化 232
13.5.3 HBase列簇設計優化 233
13.6 HBase寫入性能調優 233
13.6.1 HBase服務器端優化 234
13.6.2 HBase客戶端優化 235
第14章 HBase運維案例分析 237
14.1 RegionServer宕機 237
14.2 HBase寫入異常 241
14.3 HBase運維時問題分析思路 250
第15章 HBase 2.x核心技術 253
15.1 Procedure功能 253
15.2 In Memory Compaction 268
15.3 MOB對象存儲 273
15.4 Offheap讀路徑和Offheap寫路徑 277
15.5 異步化設計 283
第16章 高級話題 289
16.1 二級索引 289
16.2 單行事務和跨行事務 293
16.3 HBase開發與測試 301
16.3.1 HBase社區運作機制 301
16.3.2 項目測試 303
附錄A HBase熱門問題集錦 308
本書系統介紹HBase基本原理與運行機制,融入了作者多年的開發經驗與實踐技巧。主要內容包括:HBase的體系結構和系統特性,HBase的基礎數據結構與算法、依賴服務、客戶端,RegionServer的核心模塊,HBase的讀寫流程,Compaction實現原理和使用策略,負載均衡的實現與應用,HBase的宕機恢復原理,復制、備份與恢復原理,HBase的運維方法、系統調優與案例分析,最后介紹了HBase 2.x的核心技術,以及一些高級話題,如二級索引、單行事務、跨行事務、HBase開發與測試等。
Apache HBase是基于Apache Hadoop構建的一個高可用、高性能、多版本的分布式NoSQL數據庫,是Google BigTable的開源實現,通過在廉價服務器上搭建大規模結構化存儲集群,提供海量數據高性能的隨機讀寫能力。

HBase項目自2006年提交第一行代碼以來,經歷了13年的蓬勃發展。現在已經有大量企業采用HBase來存儲和分析飛速增長的業務數據。從全球范圍來看,國內HBase的關注度更是高居榜首,這得益于國內互聯網、移動互聯網、物聯網等領域龐大的數據體量。諸多國內大型科技公司,如阿里巴巴、小米、騰訊、網易、華為、滴滴、快手、中國移動等,都已經把HBase作為極重要的基礎設施,很多公司對HBase社區也有長期的投入。截至2019年8月,HBase全球社區已經擁有了83位HBase Committer,而國內就有20位左右的Committer,占了近1/4的比例。近一兩年,HBase在國內更是得到了長足的發展,2018年中國HBase技術社區成立,一年時間里社區在多個城市相繼組織了9次線下技術沙龍活動,為HBase更好地在國內各公司茁壯成長做出了卓越的貢獻。

我們和社區用戶多次交流后發現,很多人都希望我們能推薦一本HBase的書。當前市面上有關HBase的書籍大部分都集中于如何使用HBase,例如部署HBase集群,使用客戶端API進行讀寫操作以及協處理器等,誠然,這些內容對快速掌握和使用HBase非常有好處,但是許多HBase使用者并不滿足于此,他們更希望能了解和掌握其內部運行原理。因此,當機械工業出版社的吳怡編輯詢問我們是否有想法為HBase寫一本書時,我們毫不猶豫地答應了。

本書從設計的角度對HBase的整個體系架構和各核心組件進行系統的分析和講解。與此同時,還介紹常用的性能調優策略以及問題診斷的方法和技巧,幫助讀者更好地在實際生產環境中實踐。另外,本書最后章節集中介紹HBase 2.x版本的核心特性,例如Procedure v2、In Memory Compaction以及MOB等。

本書主要內容

本書不是一本入門級讀物,本書面向那些使用HBase作為數據庫后端存儲的應用程序開發者、有一定經驗的運維人員和對HBase內核設計感興趣的人。

如果你想深入了解HBase的每個組件是如何工作的,如果你想更好地運維或者調優你的HBase集群,如果你想了解HBase 2.x版本的核心特性,就請閱讀本書。想要更好地閱讀本書,需要具備如下先決條件:

了解HBase的基本操作。

了解C、Java等高級語言。

對一些基本算法有所了解,因為本書會從源代碼層面分析HBase的工作機制,如果你能了解這些算法,會使你更深入地理解HBase。

本書共有16章,可以分為6個部分。

第一部分:HBase基礎部分,包含第1、2章。其中,第1章主要介紹HBase系統的發展歷史、數據模型以及體系結構,第2章主要介紹HBase系統中常用的數據結構以及基礎算法。

第二部分:HBase系統相關組件,包含第3、4、5章。其中,第3章重點介紹HBase所依賴的核心組件,包括ZooKeeper、HDFS等,第4章介紹HBase客戶端組件實現,第5章介紹RegionServer內部組件的實現。

第三部分:HBase核心工作原理,包含第6、7、8、9、10、11章。其中,第6章詳細分析HBase讀寫流程,第7章介紹HBase Compaction的實現原理,第8章介紹HBase中Region的遷移、合并以及分裂等操作是如何實現的,第9章介紹RegionServer宕機后如何通過HLog進行數據恢復,第10章介紹HBase不同集群之間的復制是如何實現的,第11章介紹HBase如何通過Snapshot機制完成數據的備份和恢復。

第四部分:HBase運維調優實踐,包含第12、13、14章。其中,第12章介紹HBase集群常用的運維管理操作,包括集群如何有效監控,基準性能如何測試等,第13章集中介紹HBase集群的常用調優技巧,第14章重點分析幾個HBase實際運維案例,通過案例分析介紹HBase集群定位和處理問題的技巧。

第五部分:HBase 2.x核心特性(第15章),介紹HBase最新2.x版本的核心功能與特性。

第六部分:HBase高級話題(第16章),介紹社區中比較熱門的二級索引話題,以及HBase內核的開發與測試。

本書的六個部分都是相互獨立的話題,讀者完全可以從書中任何一個部分開始閱讀。當然,如果你想更加系統地學習HBase,建議你從前往后逐章閱讀。

致謝

在編寫本書的過程中,我們非常感謝給予了我們如此多幫助和鼓勵的朋友、家人以及同事們。首先感謝HBase官方社區的開發者,是他們極其卓越的工作讓我們有機會寫這樣一本書。另外,還要感謝許許多多中國HBase技術社區的小伙伴,感謝他們提供豐富的HBase使用場景和相關解決方案,他們的經驗和分享對推廣和普及HBase項目做出了重大貢獻。同時感謝我們的家人,沒有他們的鼓勵和支持,本書不可能完成。最后,一份特別的感謝要送給本書策劃編輯吳怡,感謝她在全書撰寫過程中所給予的詳細指點以及有用的建議。
pagetop