DB2設計與性能最佳化

DB2設計與性能最佳化

《DB2設計與性能最佳化:原理、方法與實踐》原汁原味地展示了DB2設計和最佳化技術,深入剖析了DB2的工作原理。

基本介紹

  • 書名:DB2設計與性能最佳化
  • 作者王飛鵬 陳輝 張廣舟 成孜論
  • ISBN:7121130947, 9787121130946
  • 頁數:400頁
  • 出版社:電子工業出版社
  • 出版時間: 第1版 (2011年4月1日)
  • 裝幀:平裝
  • 開本:16
  • 叢書名: :舞動DB2系列
  • 正文語種:: 簡體中文
  • 產品尺寸重量:25.6 x 18.2 x 3.4 cm ; 699 g
內容簡介,編輯推薦,媒體推薦,作者簡介,目錄,

內容簡介

《DB2設計與性能最佳化:原理、方法與實踐》原汁原味地展示了DB2設計和最佳化技術,深入剖析了DB2的工作原理。全書分為4部分,共11章。 第一部分解析資料庫性能的本質問題。第二部分從設計高性能資料庫的角度,詳細介紹如何使用DB2資料庫設計高質量的套用系統,內容包括DB2資料庫邏輯設計、DB2資料庫物理設計、DB2 pureXML資料庫設計及DB2工作負載設計。第三部分介紹如何最佳化DB2資料庫,內容包括性能監控及參數調整、SQL語句最佳化策略、鎖和日誌最佳化等。第四部分闡述DB2高級性能加速技術,主要包括DB2 pureScale集群和solidDB高速快取加速。 附錄部分列出了常用監控命令用法和縮略語釋義,還特別提供了PAT樹的放大圖,供讀者進行資料庫性能最佳化時使用。

編輯推薦

IBM信息管理開發部總經理吉燕勇推薦序
IBMD B2開發部資深經理乾毅民推薦序
IBM信息管理首席架構師陳奇博士任技術顧問

媒體推薦

這本由DB2資深工程師撰寫的書,是信息管理領域的一朵奇葩,專注於資料庫設計與性能最佳化方面,內容非常全面,定位非常準確,方法非常實用,相信她能幫助中國的高端信息管理技術人才更上一層樓。
——IBM中國開發心、信息管理產品開發部總經理 吉燕勇
作者具有為政府、電信、金融等行業客戶做資料庫諮詢和實施經驗,充分了解生產環境中客戶遇到的實際問題。上面的一切使得本書能想讀者之所想,寫讀者之所需。
——IBM中國開發DB2開發資源經理 乾毅民
當我接連讀完第1章和第2章,我發現作者不但目標長遠,下的功夫也極深。案例分析部分環環緊扣,步步精彩。貫穿整本書的線索使我迫不及待地追逐一個又一個的疑問,一直讀過數百頁。我不得不驚嘆,這本書本身就是一個完整的理論體系,擴能長龍飛舞,縮能穩如泰山。
——IBM信息管理產品首席架構師 美國加州大學博士 陳奇
書里既有驚心動魄的危機處理紀實,又有摸爬滾打積累的實踐心得。有時你會享用到最新技術的說明資料,有時你會感同身受實戰技巧,有時你也會對作者獨特的分析視角感嘆不已。我很欣慰,一部DBA案頭必備,可以傳世的經典之作誕生了!
——IT諸葛網總裁 焦新港

作者簡介

王飛鵬,DB2資料庫資深顧問。曾為電信、銀行、中央部委、中國高鐵等大型資料庫項目作出了重要貢獻。首次提也PAT方法學,為解決資料庫性能問題提供了分析標準。發表資料庫論文12篇,擁有軟體專利3項。每年通過大量諮詢、講座、培訓等方式,為資料庫人才更好地運用資料庫技術做出了最大的努力。
陳輝,DB2資料庫核心開發工程師。來自IBM中國DB2開發團隊,具有多年DB2引擎開發經驗。目前從事DB2核心開發和客戶技術支持工作,精於DB2問題診斷處理,擁有系統師認證、IBM DB2各項認證。
張廣舟,DB2資料庫資深軟體工程師。多年來一直從事DB2核心開發工作。現任IBM中國SQL編譯器和最佳化器開發組長。曾發表多篇資料庫技術論文,擅於解決大型資料庫性能問題,並擁有軟體專利1項。
成孜論,資料庫諮詢專家。曾為荷蘭銀行(香港)系統資料庫技術顧問、KDDI通信資料庫諮詢師。現受聘為中國大陸某金融機構資料庫Senior Consultant。

目錄

第一部分 DB2基礎
第1章 我看DB2設計與最佳化 1
1.1 資料庫設計與性能最佳化 2
1.1.1 收集需求 3
1.1.2 設計概念模型 4
1.1.3 設計邏輯結構 5
1.1.4 設計物理結構 6
1.1.5 實施、運行和維護階段 8
1.2 性能問題 8
1.2.1 什麼是性能問題 8
1.2.2 為系統做性能基準測試 9
1.2.3 制訂性能最佳化目標 10
1.2.4 把問題分類 10
1.3 使用PAT方法學解決問題 11
1.3.1 什麼是PAT方法學 11
1.3.2 PAT方法學最佳化策略 11
1.3.3 使用PAT方法學 15
1.3.4 使用PAT方法學的步驟 25
1.3.5 PAT樹使用建議 26
1.4 小結 26
第2章 性能最佳化利器——PAT方法 28
2.1 最佳化步驟 29
2.2 業務分析 29
2.2.1 經營分析系統的架構 29
2.2.2 性能問題的提出 31
2.3 系統分析 31
2.3.1 硬體和作業系統 32
2.3.2 資料庫物理設計 33
2.3.3 分析結果 34
2.4 制訂最佳化計畫 35
2.4.1 最佳化計畫安排 35
2.4.2 實踐最佳化策略 35
2.5 使用PAT方法 36
2.5.1 最佳化“每天下午系統回響慢”問題(Perf_SlowAfterNoon_Sys) 36
2.5.2 最佳化“大數據轉入”問題(Perf_Load_App) 37
2.5.3 最佳化“客戶流失分析”問題(Perf_Customer_App) 38
2.5.4 最佳化“賬戶資費”問題(Perf_ACC_App) 39
2.5.5 最佳化“數據質量管理”問題(Perf_Data_App) 41
2.5.6 最佳化“系統逐漸變慢”問題(Perf_SlowDown_Sys) 42
2.5.7 最佳化總結 45
2.6 小結 45
第二部分 DB2資料庫設計
第3章 高質量邏輯設計 48
3.1 常規表設計 49
3.1.1 表設計的原則 49
3.1.2 列定義原則 52
3.1.3 數據完整性設計 53
3.1.4 其他考慮因素 54
3.2 索引設計 56
3.2.1 索引的概念 56
3.2.2 深入解析索引原理 60
3.2.3 創建索引 67
3.2.4 索引設計原則 67
3.2.5 索引維護 70
3.3 MDC表設計 71
3.3.1 多維群集(MDC) 71
3.3.2 塊索引 72
3.3.3 MDC表的優勢 73
3.3.4 MDC表設計原則 74
3.4 表分區設計 76
3.4.1 分區表 76
3.4.2 分區表索引 78
3.4.3 轉入轉出 80
3.4.4 案例分析 82
3.5 DPF設計 83
3.5.1 資料庫分區 83
3.5.2 資料庫分區組 87
3.5.3 DPF設計原則 88
3.5.4 MDC、DPF和表分區 90
3.6 MQT表設計 91
3.6.1 MQT表介紹 91
3.6.2 MQT表適用範圍 93
3.6.3 MQT表設計原則 93
3.6.4 MQT表設計示例 94
3.7 臨時表設計 95
3.7.1 全局臨時表(CGTT/DGTT) 95
3.7.2 臨時表設計 96
3.7.3 設計示例 97
3.8 小結 98
第4章 高質量物理設計 100
4.1 物理設計 101
4.1.1 確定資料庫的物理結構 101
4.1.2 評價物理結構 102
4.2 設定和管理CPU 103
4.2.1 DB2的並行處理SMP 103
4.2.2 DB2的並行處理MPP 104
4.2.3 SMP集群(SMP+MPP) 105
4.3 設定和管理I/O 106
4.3.1 磁碟和存儲設計 107
4.3.2 磁碟陣列技術 109
4.3.3 條帶化 111
4.3.4 I/O相關配置參數 113
4.3.5 I/O存儲設計小結 114
4.3.6 I/O設計範例 116
4.4 表空間設計 116
4.4.1 表空間概念 116
4.4.2 表空間類型 117
4.4.3 表空間設計總結 119
4.4.4 表空間設計範例 127
4.5 設定和管理記憶體 128
4.5.1 記憶體 128
4.5.2 緩衝池設計 134
4.5.3 STMM記憶體自動管理 140
4.6 數據壓縮 143
4.6.1 壓縮的重要性 143
4.6.2 壓縮的種類 144
4.7 小結 146
第5章 pureXML資料庫設計 149
5.1 DB2 pureXML 150
5.1.1 pureXML之風采 150
5.1.2 XML存儲 151
5.1.3 XQuery與SQL/XML 153
5.1.4 XML Schema 157
5.2 XML索引 159
5.2.1 XML索引類型 159
5.2.2 創建索引 160
5.2.3 XML索引最佳化 161
5.3 使用pureXML設計高效的資料庫 164
5.3.1 動態表單類設計 164
5.3.2 元數據類設計 165
5.3.3 數據交換類設計 166
5.3.4 社交網路類設計 167
5.4 XML資料庫的性能最佳化 168
5.5 小結 170
第6章 工作負載設計 172
6.1 DB2工作負載介紹 173
6.2 工作負載管理器組件 176
6.2.1 工作負載 176
6.2.2 服務類 178
6.2.3 閾值 180
6.2.4 工作類集合和工作操作集合 182
6.2.5 DB2和AIX / Linux WLM 185
6.2.6 小結 186
6.3 WLM監控 187
6.3.1 監控環境 187
6.3.2 工作負載監控示例 189
6.4 設計DB2工作負載 193
6.5 工作負載範例 194
6.6 小結 195
第三部分 DB2資料庫性能最佳化
第7章 DB2配置最佳化與監控 197
7.1 配置參數最佳化 198
7.1.1 作業系統參數最佳化 198
7.1.2 DBM參數最佳化 199
7.1.3 DB參數最佳化 201
7.1.4 註冊變數最佳化 207
7.1.5 常見問題總結 207
7.2 性能監控的途徑 209
7.2.1 快照監控 209
7.2.2 事件監控 216
7.2.3 db2pd監控 219
7.3 新監控框架 222
7.3.1 表函式 222
7.3.2 管理視圖 225
7.4 系統監控的方法 227
7.4.1 CPU監控 227
7.4.2 記憶體監控 230
7.4.3 I/O監控 233
7.5 DB2高級監控工具 236
7.5.1 db2top 236
7.5.2 Data Studio管理控制台 237
7.5.3 Optim性能管理器 239
7.6 本章小結 239
第8章 SQL語句性能最佳化實戰 241
8.1 SQL語句編寫 242
8.1.1 謂詞 242
8.1.2 多餘的連線 243
8.1.3 子查詢 244
8.1.4 外連線 244
8.1.5 UNION ALL的使用 245
8.1.6 Having子句 245
8.1.7 OFNR和FFNR子句 245
8.1.8 使用參數標記 246
8.2 最佳化器 246
8.2.1 最佳化級別 248
8.2.2 註冊變數 250
8.2.3 記憶體參數 251
8.2.4 表和索引設計 251
8.2.5 統計信息 251
8.2.6 信息性約束 253
8.3 SQL語句訪問計畫分析 254
8.3.1 解釋工具 254
8.3.2 查詢重寫 258
8.3.3 訪問路徑 260
8.3.4 連線方法 265
8.3.5 問題SQL語句分析 268
8.4 其他最佳化建議 275
8.4.1 特殊的最佳化方法 275
8.4.2 Design Advisor最佳化指導 278
8.4.3 語句集中器 278
8.5 存儲過程最佳化 280
8.6 XQuery最佳化 288
8.6.1 XQuery簡介 288
8.6.2 如何使用 289
8.7 數據線上最佳化 294
8.7.1 REORGCHK 294
8.7.2 REORG 296
8.8 本章小結 298
第9章 鎖和日誌最佳化 302
9.1 鎖 303
9.1.1 鎖等待和逾時 303
9.1.2 鎖升級 304
9.1.3 死鎖 304
9.2 鎖的類型與兼容性 306
9.2.1 鎖的類型 306
9.2.2 鎖兼容 309
9.3 隔離級別與影響並發的因素 310
9.3.1 隔離級別介紹 310
9.3.2 DB2註冊變數 311
9.3.3 當前已落實 312
9.4 鎖監控和問題解決 313
9.4.1 鎖等待監控 314
9.4.2 鎖逾時監控 318
9.4.3 死鎖監控 327
9.5 日誌與性能 331
9.5.1 循環日誌 332
9.5.2 歸檔日誌 332
9.5.3 日誌的使用 333
9.5.4 寫日誌和寫表 333
9.5.5 日誌配置參數 334
9.6 日誌監控與最佳化 337
9.6.1 日誌監控 337
9.6.2 日誌瓶頸與最佳化 339
9.7 本章小結 340
第四部分 高級最佳化技術
第10章 pureScale海量事務處理 342
10.1 什麼是pureScale 343
10.2 pureScale架構 344
10.3 DB2 pureScale和 Oracle RAC的對比 346
10.4 DB2 pureScale實例 347
10.4.1 實例背景 347
10.4.2 硬體配置 348
10.4.3 軟體安裝配置 351
10.4.4 客戶套用測試 354
10.5 小結 358
第11章 solidDB高速快取最佳化 360
11.1 什麼是solidDB高速快取 361
11.2 solidDB高速快取DB2數據 364
11.3 solidDB高速快取套用場合 364
11.4 solidDB高速快取架構 365
11.5 電信行業套用案例 366
11.5.1 套用背景 366
11.5.2 使用solidDB高速快取加速 367
11.6 小結 375
附錄A 常用監控命令用法 377
附錄B 縮略語釋義 382
後記 389
參考文獻 391

相關詞條

熱門詞條

聯絡我們