Greenplum 構建實時數據倉庫實踐

王雪迎

  • 出版商: 清華大學
  • 出版日期: 2022-08-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 7302611653
  • ISBN-13: 9787302611653
  • 相關分類: 大數據 Big-data
  • 立即出貨

  • Greenplum 構建實時數據倉庫實踐-preview-1
  • Greenplum 構建實時數據倉庫實踐-preview-2
  • Greenplum 構建實時數據倉庫實踐-preview-3
Greenplum 構建實時數據倉庫實踐-preview-1

買這商品的人也買了...

商品描述

Greenplum分佈式數據庫具有可選存儲模式、事務支持、並行查詢與數據裝載、容錯與故障轉移、數據庫統計、過程化語言擴展等方面的功能特性,因此Greenplum成為一款理想的分析型數據庫產品。本書詳解Greenplum數據倉庫構建與數據分析技術,配套示例源碼。 本書共分10章。內容包括數據倉庫簡介、數據倉庫設計基礎、Greenplum與數據倉庫、Greenplum安裝部署、實時數據同步、實時數據裝載、維度表技術、事實表技術、Greenplum運維與監控、集成機器學習庫MADlib。 本書適合Greenplum初學者、大數據分析系統設計與開發、數據倉庫系統設計與開發、DBA、架構師等相關技術人員閱讀,也適合高等院校大數據相關專業的師生作為實訓教材。

目錄大綱

目   錄

第1章  數據倉庫簡介 1

1.1  什麽是數據倉庫 1

1.1.1  數據倉庫的定義 2

1.1.2  建立數據倉庫的原因 3

1.2  操作型系統與分析型系統 5

1.2.1  操作型系統 5

1.2.2  分析型系統 7

1.2.3  操作型系統和分析型系統的對比 8

1.3  抽取—轉換—裝載 10

1.3.1  數據抽取 10

1.3.2  數據轉換 12

1.3.3  數據裝載 13

1.3.4  開發ETL系統的方法 13

1.4  數據倉庫架構 14

1.4.1  基本架構 14

1.4.2  主要數據倉庫架構 15

1.4.3  操作型數據存儲 19

1.5  實時數據倉庫 19

1.5.1  流式處理 20

1.5.2  實時計算 21

1.5.3  實時數據倉庫解決方案 24

1.6  小結 26

第2章  數據倉庫設計基礎 27

2.1  關系數據模型 27

2.1.1  關系數據模型中的結構 27

2.1.2  關系完整性 30

2.1.3  關系數據庫語言 31

2.1.4  規範化 32

2.1.5  關系數據模型與數據倉庫 34

2.2  維度數據模型 36

2.2.1  維度數據模型建模過程 36

2.2.2  維度規範化 37

2.2.3  維度數據模型的特點 38

2.2.4  星型模式 39

2.2.5  雪花模式 41

2.3  Data Vault模型 43

2.3.1  Data Vault模型簡介 43

2.3.2  Data Vault模型的組成部分 43

2.3.3  Data Vault模型的特點 45

2.3.4  Data Vault模型的構建 45

2.3.5  Data Vault模型實例 46

2.4  數據集市 50

2.5  數據倉庫實施步驟 51

2.6  小結 54

第3章  Greenplum與數據倉庫 55

3.1  Greenplum簡介 55

3.1.1  歷史與現狀 55

3.1.2  MPP——一切皆並行 56

3.2  Greenplum系統架構 57

3.2.1  Greenplum與PostgreSQL 57

3.2.2  Master 58

3.2.3  Segment 58

3.2.4  Interconnect 59

3.3  Greenplum功能特性 59

3.3.1  存儲模式 59

3.3.2  事務與並發控制 63

3.3.3  並行查詢 69

3.3.4  並行數據裝載 72

3.3.5  冗餘與故障轉移 73

3.3.6  數據庫統計 76

3.4  為什麽選擇Greenplum 79

3.4.1  Greenplum還是SQL-on-Hadoop 79

3.4.2  適合DBA的解決方案 82

3.4.3  Greenplum的局限 86

3.5  小結 87

第4章  Greenplum安裝部署 88

4.1  平臺需求 88

4.1.1  操作系統 88

4.1.2  硬件和網絡 89

4.1.3  文件系統 90

4.2  容量評估 90

4.2.1  可用磁盤空間 91

4.2.2  用戶數據容量 91

4.2.3  元數據和日誌空間 92

4.2.4  RAID劃分最佳實踐 92

4.3  操作系統配置 93

4.3.1  安裝操作系統 94

4.3.2  禁用SELinux和防火牆 95

4.3.3  操作系統推薦配置 95

4.3.4  時鐘同步 99

4.3.5  創建Greenplum管理員賬號 100

4.3.6  安裝JDK(可選) 101

4.4  安裝Greenplum軟件 101

4.4.1  安裝軟件包 101

4.4.2  配置免密SSH 102

4.4.3  確認軟件安裝 103

4.5  初始化Greenplum數據庫系統 103

4.5.1  創建數據存儲區 103

4.5.2  驗證系統 104

4.5.3  初始化數據庫 106

4.5.4  設置Greenplum環境變量 108

4.6  允許客戶端連接 109

4.7  修改Greenplum配置參數 110

4.8  後續步驟 112

4.8.1  創建臨時表空間 112

4.8.2  創建數據庫用戶 113

4.9  Greenplum升級 114

4.9.1  升級條件 114

4.9.2  升級步驟 114

4.10  小結 114

第5章  實時數據同步 116

5.1  數據抽取方式 116

5.1.1  基於源數據的CDC 117

5.1.2  基於觸發器的CDC 118

5.1.3  基於快照的CDC 119

5.1.4  基於日誌的CDC 119

5.2  MySQL數據復制 120

5.2.1  復制的用途 121

5.2.2  二進制日誌binlog 121

5.2.3  復制的步驟 122

5.3  使用Kafka 124

5.3.1  Kafka基本概念 124

5.3.2  Kafka消費者與分區 127

5.4  選擇主題分區數 129

5.4.1  使用單分區 129

5.4.2  如何選定分區數量 131

5.5  Maxwell + Kafka + Bireme 132

5.5.1  總體架構 132

5.5.2  Maxwell安裝配置 135

5.5.3  Bireme安裝配置 137

5.5.4  如何保證數據的順序消費 141

5.5.5  實時CDC 142

5.6  Canal Server + Kafka + Canal ClientAdapter 148

5.6.1  總體架構 148

5.6.2  Canal Server安裝配置 150

5.6.3  Canal ClientAdapter安裝配置 152

5.6.4  配置HA模式 154

5.6.5  實時CDC 157

5.6.6  消費延遲監控 158

5.7  小結 161

第6章  實時數據裝載 162

6.1  建立數據倉庫示例模型 163

6.1.1  業務場景 163

6.1.2  建立數據庫表 165

6.1.3  生成日期維度數據 173

6.2  初始裝載 173

6.2.1  數據源映射 174

6.2.2  確定SCD處理方法 174

6.2.3  實現代理鍵 175

6.2.4  執行初始裝載 175

6.3  實時裝載 178

6.3.1  識別數據源與裝載類型 178

6.3.2  配置增量數據同步 179

6.3.3  在Greenplum中創建規則 180

6.3.4  啟動實時裝載 183

6.3.5  測試 184

6.4  動態分區滾動 187

6.5  小結 189

第7章  維度表技術 190

7.1  增加列 190

7.2  維度子集 197

7.3  角色扮演維度 200

7.4  層次維度 205

7.4.1  固定深度的層次 205

7.4.2  多路徑的層次 207

7.4.3  參差不齊的層次 209

7.5  退化維度 211

7.6  雜項維度 215

7.7  維度合並 220

7.8  分段維度 225

7.9  小結 230

第8章  事實表技術 231

8.1  事實表概述 231

8.2  周期快照 232

8.3  累積快照 236

8.4  無事實的事實表 245

8.5  遲到的事實 248

8.6  累積度量 256

8.7  小結 262

第9章  Greenplum運維與監控 263

9.1  權限與角色管理 263

9.1.1  Greenplum中的角色與權限 263

9.1.2  管理角色及其成員 264

9.1.3  管理對象權限 266

9.1.4  口令加密 267

9.2  數據導入導出 268

9.2.1  file://協議及其外部表 268

9.2.2  gpfdist及其外部表 270

9.2.3  基於Web的外部表 271

9.2.4  外部表錯誤處理 274

9.2.5  使用gpload導入數據 274

9.2.6  使用COPY互拷數據 276

9.2.7  導出數據 278

9.2.8  格式化數據文件 280

9.3  性能優化 281

9.3.1  常用優化手段 281

9.3.2  控制溢出文件 283

9.3.3  查詢剖析 283

9.4  例行監控 287

9.4.1  檢查系統狀態 287

9.4.2  檢查磁盤空間使用 289

9.4.3  檢查數據分佈傾斜 290

9.4.4  查看數據庫對象的元數據信息 292

9.4.5  查看會話的內存使用信息 292

9.4.6  查看工作文件使用信息 293

9.4.7  查看服務器日誌文件 293

9.5  例行維護 296

9.5.1  定期VACUUM 296

9.5.2  定期維護系統目錄 297

9.5.3  加強的系統目錄維護 297

9.5.4  為查詢優化執行VACUUM與ANALYZE 298

9.5.5  自動收集統計信息 299

9.5.6  重建索引 299

9.5.7  管理數據庫日誌文件 299

9.6  推薦的監控與維護任務 300

9.6.1  數據庫實例狀態監控 300

9.6.2  硬件和操作系統監控 301

9.6.3  系統目錄表監控 302

9.6.4  數據庫維護 302

9.6.5  補丁與升級 303

9.7  小結 304

第10章  集成機器學習庫MADlib 305

10.1  MADlib的基本概念 305

10.1.1  MADlib是什麽 305

10.1.2  MADlib的設計思想 306

10.1.3  MADlib的工作原理 307

10.1.4  MADlib的執行流程 308

10.1.5  MADlib的基礎架構 308

10.2  MADlib的功能 309

10.2.1  MADlib支持的模型類型 309

10.2.2  MADlib主要的功能模塊 310

10.3  MADlib的安裝與卸載 313

10.3.1  確定安裝平臺 313

10.3.2  安裝MADlib 314

10.3.3  卸載MADlib 315

10.4  MADlib示例——使用矩陣分解實現用戶推薦 316

10.4.1  低秩矩陣分解 316

10.4.2  奇異值分解 325

10.5  模型評估 339

10.5.1  交叉驗證 340

10.5.2  MADlib的交叉驗證相關函數 342

10.5.3  交叉驗證示例 344

10.6  小結 346