-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Greenplum企業應用實戰

( 簡體 字)
作者:何勇 陳曉峰 著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社Greenplum企業應用實戰 3dWoo書號: 40013
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:11/1/2014
頁數:332
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111481003
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

阿里巴巴是國內最早使用Greenplum作為數據倉庫計算中心的公司。從2009年到2012年Greenplum都是阿里巴巴B2B最重要的數據計算中心,它替換掉了之前的Oracle RAC,有非常多的優點。

Greenplum的性能在數據量為TB級別時表現非常優秀,單機性能相比Hadoop要快好幾倍。

Greenplum是基于PostgreSQL的一個完善的數據庫,在功能和語法上都要比Hadoop上的SQL引擎Hive好用很多,對于普通用戶來說更加容易上手。

Greenplum有著完善的工具,相比Hive,整個體系都比較完善,不需要像Hive一樣花太多的時間和精力進行改造,非常適合作為一些大型的數據倉庫解決方案。

Greenplum能夠方便地與Hadoop進行結合,可直接把數據寫在Hadoop上,還可以直接在數據庫上寫MapReduce任務,并且配置簡單。

從2010年畢業加入阿里巴巴B2B的數據倉庫起,我就開始接觸Greenplum數據庫,并有幸維護了一年多的Greenplum數據庫,積累了很多數據庫的相關知識。Greenplum在國內的應用相對比較少,尤其是網上資料相當匱乏。在使用Greenplum的過程中,阿里巴巴遇到了很多困難,也積累了很多寶貴經驗。

由于學習資料的匱乏,我和何勇有了將阿里巴巴使用Greenplum的一些經驗技巧匯聚成書的想法,這樣既總結和沉淀了自身知識,同時也可以給國內使用Greenplum的同行們提供一點幫助。

本書組織結構

本書從實戰角度出發,結合了大量實踐案例(附有詳細的代碼),由淺入深介紹了Greenplum。本書由15章組成,主要分為3篇。

上篇(第1∼3章)——基礎篇

基礎篇目的是幫助讀者快速了解Greenplum,從實戰的角度介紹一些入門必備的基礎知識。從如何安裝部署Greenplum開始,一步步引導讀者搭建自己的Greenplum數據庫,然后介紹基本的語法及相關操作。本篇最后通過分析兩個具體的數據倉庫ETL的案例,加強讀者對Greenplum功能特性的了解,提高實踐能力。

中篇(第4∼7章)——進階篇

進階篇重點介紹Greenplum的數據字典、執行計劃、架構以及一些高級特性。

數據字典是Greenplum對元數據信息的組織方式,執行計劃是數據庫執行SQL的靈魂,高級特性則是Greenplum的優勢所在。本篇結合了大量案例對以上內容進行了深入分析。通過對這些內容的學習,可以深入理解數據庫的工作原理,是進階的必經之路,可以讓讀者游刃有余地應對各種Greenplum的日常操作。

下篇(第8∼15章)——管理篇

管理篇主要介紹一些與數據庫管理員相關的知識,包括線上部署、性能優化、權限控制、監控、容災/擴容方案、常用腳本以及常見問題等。這些更偏向于后臺管理,是DBA必修的課程。

本書面向的讀者

閱讀本書需要讀者對關系型數據庫有基本了解,最好也了解一些Linux的基本操作。本書面向的讀者主要有:

Greenplum數據庫管理員

使用Greenplum的ETL開發工程師

數據庫愛好者、分布式系統愛好者

數據分析師、商業智能分析師

如何閱讀本書

對于剛接觸Greenplum的讀者來說,建議從第1章讀起,書中有很多結合實踐的例子,幫助讀者加深對Greenplum的理解。

如果對Greenplum已經比較熟悉,可以從第4章開始讀起,應重點關注第5章講解分布式執行計劃。了解執行計劃是熟悉數據庫工作原理的一種有效方法,分布式執行計劃與普通執行計劃還是有較大差別的。

如果只是想通過本書了解Greenplum數據庫與普通關系型數據庫的差異,可以先閱讀第7章,了解Greenplum架構,然后再選取自己喜歡的章節進行閱讀。

本書偏向于實戰,理論方面的知識相對較少,感興趣的讀者可以結合其他介紹數據庫的資料進行閱讀,如“PostgreSQL8.2官方文檔”、《數據庫系統概念》、《數據庫系統實現》。

雖然Greenplum并不是開源的,但是Greenplum是基于PostgreSQL開發的,而PostgreSQL是開源的。還有,Greenplum自帶了很多維護腳本,大部分采用Shell和Python編寫。因此,對于想深入理解Greenplum的讀者來說,建議結合PostgreSQL源碼及Greenplum安裝目錄下的一些腳本代碼進行閱讀。通過閱讀這些源碼,可以加深對Greenplum底層的了解。

本書大部分例子都是基于Greenpum 4.1版本進行編寫的,在寫作的過程,Greenplum已經升級到Greenpum 4.3,因此在書稿快完成時,筆者對全書進行了審核。由于Greenplum 4.3與Greenplum 4.1大部分的內容都是相同的,因此,筆者在書稿中必要的地方采用修改或備注的方式加入了一些Greenplum 4.3的新特性,盡量保證了本書的時效性。

勘誤和支持

本書第1、3、7、8、14章由何勇撰寫,其余章節由陳曉峰撰寫,由于是第一次寫作,在寫作上肯定會有很多的不足,加上筆者能力有限,難免會有遺漏或錯誤。如果讀者發現書中有遺漏或錯誤的地方,可以發郵件到greenplum_book@163.com,同時歡迎大家通過郵件一起交流關于Greenplum的問題。

致謝

感謝姜迅、吳偉兩位老大,我在阿里巴巴B2B數據平臺工作時他們給予了我很多幫助,是他們給予了我充足的時間來學習和鍛煉;感謝孔令西、孫偉光、張耀耀、江小輝、曾春秋等各位同事對我工作的支持和幫助;感謝一起維護Greenplum數據庫的何勇、唐成、王海、任振中,他們帶給我一段難忘的共同奮斗的經歷。特別感謝女友李梅花在寫書過程中的支持和體諒,她作為一個數據分析師,從用戶的角度,在本書寫作過程中給予了很多寶貴的建議。沒有這些支持,我們不可能完成本書的寫作。

最后,感謝楊福川、姜影在本書出版過程中提供的幫助,尤其是姜影,她在本書審閱過程中非常認真和仔細,指出了書稿中很多的問題。

陳曉峰
內容簡介:

簡介
這是國內首本Greenplum著作,國內最早開始使用Greenplum的企業是阿里巴巴,本書的兩位作者是阿里巴巴最早負責使用和維護Greenplum的技術工程師,權威性毋庸置疑。本書完全立足于阿里巴巴的企業應用實踐,不僅系統介紹Greenplum的功能特性、使用方法、高級應用,而且還詳細講解Greenplum的系統架構、運維管理、性能優化和各種技巧。最重要的是,包含大量企業級應用案例,并且對每個案例都進行了詳盡的講解和實操指導。
全書一共15章,分為三個部分:基礎篇(第1~3章)首先介紹了Greenplum的應用場景、功能特性以及與PostgreSQL的關系,然后講解了Greenplum的安裝配置、語法以及相關操作,最后通過兩個具體的數據倉庫ETL案例加強讀者對Greenplum的功能特性的了解和操作能力;進階篇(第4~7章)圍繞數據字典、執行計劃、系統架構、高級特性等主題對Greenplum進行了更深入的講解,不僅能讓讀者更深入理解Greenplum的工作原理,也能讓讀者游刃有余地應對各種日常操作;管理篇(第8~15章)從運維和管理的角度講解了Greenplum的線上部署、數據庫管理、腳本維護、監控、權限控制、容災/擴容、備份恢復、性能調優、常用技巧和常見問題等。
Greenplum是一個面向數據倉庫應用的關系型數據庫,它基于流行的PosgreSQL開發,因為有良好的體系結構,所以在數據存儲、高并發、高可用、線性擴展、反應速度、易用性和性價比等方面有非常明顯的優勢,非常受歡迎。進入大數據時代以后,Greenplum的性能在TB級別數據量的表現非常優秀,單機性能相比Hadoop要快上好幾倍;在功能和語法上,要比Hadoop上的SQL引擎Hive好用很多,普通用戶更加容易上手;Greenplum有著完善的工具,整個體系都比較完善,不需要像Hive一樣花太多的時間和精力進行改造,非常適合作為一些大型數據倉庫的解決方案。Greenplum能夠方便地與Hadoop進行結合,直接把數據寫在Hadoop上,并且能夠直接在數據庫上寫MapReduce任務,同時配置簡單。
阿里巴巴是國內最早使用Greenplum作為數據倉庫計算中心的企業,本書的兩位作者曾經是這個計算中心的親身實踐者和核心技術人員,無論是生產實踐還是作者經驗,本書都具有一定權威性,而且是接地氣的。
目錄:

上篇 基 礎 篇

第1章 Greenplum簡介 2

1.1 Greenplum的起源和發展歷程 2

1.2 OLTP與OLAP 3

1.3 PostgreSQL與Greenplum的關系 3

1.3.1 PostgreSQL 3

1.3.2 Greenplum 5

1.4 Greenplum特性及應用場景 6

1.4.1 Greenplum特性 6

1.4.2 Greenplum應用場景 7

1.5 小結 8

第2章 Greenplum快速入門 9

2.1 軟件安裝及數據庫初始化 9

2.1.1 Greenplum架構 9

2.1.2 環境搭建 11

2.1.3 Greenplum安裝 13

2.1.4 創建數據庫 20

2.1.5 數據庫啟動與關閉 20

2.2 安裝Greenplum的常見問題 22

2.2.1 /etc/hosts配置錯誤 22

2.2.2 MASTER_DATA_DIRECTORY設置錯誤 24

2.3 暢游Greenplum 25

2.3.1 如何訪問Greenplum 25

2.3.2 數據庫整體概況 27

2.3.3 基本語法介紹 28

2.3.4 常用數據類型 35

2.3.5 常用函數 37

2.3.6 分析函數 43

2.3.7 分區表 46

2.3.8 外部表 49

2.3.9 COPY命令 51

2.4 小結 52

第3章 Greenplum實戰 53

3.1 歷史拉鏈表 53

3.1.1 應用場景描述 53

3.1.2 原理及步驟 54

3.1.3 表結構 55

3.1.4 Demo數據準備 57

3.1.5 數據加載 58

3.1.6 數據刷新 61

3.1.7 分區裁剪 64

3.1.8 數據導出 64

3.2 日志分析 65

3.2.1 應用場景描述 65

3.2.2 數據Demo 65

3.2.3 日志分析實戰 66

3.3 數據分布 68

3.3.1 數據分散情況查看 69

3.3.2 數據加載速度影響 69

3.3.3 數據查詢速度影響 72

3.4 數據壓縮 73

3.4.1 數據加載速度影響 73

3.4.2 數據查詢速度影響 74

3.5 索引 75

3.6 小結 75

中篇 進 階 篇

第4章 數據字典詳解 78

4.1 oid無處不在 78

4.2 數據庫集群信息 80

4.2.1 Gp_configuration和gp_segment_configuration 80

4.2.2 Gp_id 82

4.2.3 Gp_configuration_history 84

4.2.4 pg_filespace_entry 84

4.2.5 集群配置信息表轉化 84

4.3 常用數據字典 85

4.3.1 pg_class 85

4.3.2 pg_attribute 88

4.3.3 gp_distribution_policy 89

4.3.4 pg_statistic和pg_stats 90

4.4 分區表信息 90

4.4.1 如何實現分區表 91

4.4.2 pg_partition 91

4.4.3 pg_partition_rule 92

4.4.4 pg_partitions視圖及其優化 93

4.5 自定義類型以及類型轉換 94

4.6 主、備節點同步的相關數據字典 95

4.7 數據字典應用示例 96

4.7.1 獲取表的字段信息 96

4.7.2 獲取表的分布鍵 96

4.7.3 獲取一個視圖的定義 97

4.7.4 查詢comment(備注信息) 98

4.7.5 獲取數據庫建表語句 99

4.7.6 查詢表上的視圖 103

4.7.7 查詢表的數據文件創建時間 104

4.7.8 分區表總大小 106

4.7.9 如何分析數據字典變化 108

4.7.10 獲取數據庫鎖信息 111

4.8 Gp_toolkit介紹 112

4.9 小結 114

第5章 執行計劃詳解 115

5.1 執行計劃入門 115

5.1.1 什么是執行計劃 115

5.1.2 查看執行計劃 116

5.2 分布式執行計劃概述 116

5.2.1 架構 116

5.2.2 重分布與廣播 117

5.2.3 Greenplum Master的工作 119

5.3 Greenplum執行計劃中的術語 120

5.3.1 數據掃描方式 120

5.3.2 分布式執行 121

5.3.3 兩種聚合方式 122

5.3.4 關聯 123

5.3.5 SQL消耗 126

5.3.6 其他術語 126

5.4 數據庫統計信息收集 128

5.4.1 Analyze分析 128

5.4.2 固定執行計劃 129

5.5 控制執行計劃的參數介紹 130

5.6 規劃器開銷的計算方法 131

5.7 各種執行計劃原理分析 133

5.7.1 詳解關聯的廣播與重分布 133

5.7.2 HashAggregate與GroupAggregate 137

5.7.3 Nestloop Join 、 Hash Join 與Merge Join 141

5.7.4 分析函數:開窗函數和grouping sets 142

5.8 案例 144

5.8.1 關聯鍵強制類型轉換,導致重分布 144

5.8.2 統計信息過期 145

5.8.3 執行計劃出錯 145

5.8.4 分布鍵選擇不恰當 147

5.8.5 計算distinct 148

5.8.6 與 all 150

5.8.7 子查詢not in 152

5.8.8 聚合函數太多導致內存不足 154

5.9 小結 155

第6章 Greenplum高級應用 156

6.1 Appendonly表與壓縮表 157

6.1.1 應用場景及語法介紹 157

6.1.2 壓縮表的性能差異 157

6.1.3 Appendonly表特性 158

6.1.4 相關數據字典 164

6.2 列存儲 165

6.2.1 應用場景 165

6.2.2 數據文件存儲特性 166

6.2.3 如何使用列存儲 166

6.2.4 性能比較 166

6.3 外部表高級應用 168

6.3.1 外部表實現原理 168

6.3.2 可寫外部表 171

6.3.3 HDFS外部表 173

6.3.4 可執行外部表 177

6.4 自定義函數—各個編程接口 179

6.4.1 pl/pgsql 180

6.4.2 C語言接口 182

6.4.3 plpython 185

6.5 Greenplum MapReduce 187

6.6 小結 193

第7章 Greenplum架構介紹 195

7.1 并行和分布式計算 195

7.2 并行數據庫 197

7.3 Greenplum架構分析 198

7.4 冗余與故障切換 199

7.5 數據分布及負載均衡 200

7.6 跨庫關聯 202

7.7 分布式事務 203

7.8 其他大數據分析方案 205

7.9 小結 208

下篇 管 理 篇

第8章 Greenplum線上環境部署 210

8.1 服務器硬件選型 210

8.1.1 CPU 211

8.1.2 內存 211

8.1.3 磁盤及硬盤接口 211

8.1.4 網絡 213

8.2 服務器系統參數調整 213

8.2.1 Solaris參數修改 214

8.2.2 Linux參數修改 216

8.2.3 系統參數及性能驗證 217

8.3 計算節點分配技巧 221

8.4 數據庫參數介紹 221

8.5 數據庫集群基準測試 225

8.6 小結 227

第9章 數據庫管理 228

9.1 用戶及權限管理 228

9.1.1 Greenplum數據庫邏輯結構 228

9.1.2 Grant語法 229

9.2 登錄權限控制 231

9.3 資源隊列及并發控制 232

9.4 Greenplum鎖機制 236

9.5 數據目錄結構 238

9.6 數據文件存儲分布 240

9.7 表空間管理 241

9.8 小結 244

第10章 數據庫監控及調優 245

10.1 Linux監控工具介紹 245

10.1.1 監控磁盤 245

10.1.2 監控網絡 246

10.1.3 監控CPU 247

10.1.4 監控內存 247

10.2 安裝Performance Monitor 248

10.3 監控Segment是否正常 252

10.4 VACUUM系統表 253

10.5 數據傾斜排查 255

10.6 查看子節點的SQL運行狀態 258

10.7 自動加分區 261

10.8 自動賦權 266

10.9 清理過期數據 266

10.10 小結 267

第11章 解讀Greenplum維護腳本 268

11.1 添加Greenplum Contrib模塊 268

11.2 啟動和關閉腳本gpstart和gpstop 270

11.3 初始化系統腳本gpinitsystem 272

11.4 集群操作腳本gpssh和gpscp 274

11.5 數據庫狀態檢查腳本gpstate 275

11.6 數據庫升級腳本gpmigrate 276

11.7 參數修改腳本gpconfig 281

11.8 數據庫一致性檢查腳本gpcheckcat 282

11.9 小結 284

第12章 備份及恢復策略 286

12.1 Greenplum 3.x 286

12.2 Greenplum 4.x 287

12.3 gp_dump和pg_dump 290

12.4 Greenplum Master備份策略 294

12.4.1 增加Standby Master 295

12.4.2 重新同步Standby Master 296

12.4.3 啟用Standby Master 296

12.5 小結 297

第13章 數據庫擴容 299

13.1 遷移計算節點 299

13.1.1 兩種備份方案 300

13.1.2 數據遷移實戰 301

13.2 增加計算節點 306

13.3 小結 311

第14章 基于Greenplum的海量數據實時分析服務平臺 312

14.1 需求概述 312

14.2 典型方案 313

14.2.1 NoSQL 313

14.2.2 分布式數據庫/集群 314

14.2.3 分表分庫 315

14.2.4 方案優劣分析 316

14.3 基于Greenplum的混合架構 316

14.3.1 架構分析 317

14.3.2 實施要點 317

14.4 小結 318

第15章 使用Greenplum的常見報錯及小技巧 319

15.1 分析常見報錯 319

15.1.1 找不到類型705對應的操作符 319

15.1.2 SQL占用的資源超過了資源隊列限制 321

15.1.3 自定義函數不能在Segment上執行 321

15.1.4 子查詢沒有加別名 322

15.1.5 字段名有歧義 322

15.1.6 字段重名 323

15.1.7 gpfdist錯誤:無法讀取文件 323

15.1.8 事務被中止 324

15.1.9 網絡異常錯誤 324

15.1.10 無法刪除表 324

15.1.11 內存不足 325

15.1.12 文件名在pg_class中已存在 325

15.1.13 不能對分布鍵執行Update 325

15.1.14 網絡錯誤 326

15.1.15 無法找到數據文件 326

15.2 常見問題及解決辦法 326

15.3 常用的一些小技巧 329

15.3.1 顯示SQL執行的時間 330

15.3.2 獲取某個schema下所有的表或視圖 330

15.3.3 查找分區最多的表 330

15.3.4 連接Segment節點 331

15.3.5 psql默認密碼登錄 331

15.3.6 查看數據庫啟動時間 331

15.3.7 查看在psql中\d到底查詢了哪些數據字典 331

15.4 小結 332
序: