物理資料庫設計:索引、視圖和存儲技術

物理資料庫設計:索引、視圖和存儲技術

Sam Lightstone,是IBM的DB2產品開發團隊研發經理及高級技術人員,他的工作涉及 自主計算和關係資料庫管理系統的許多方面。

基本介紹

  • 書名:物理資料庫設計:索引、視圖和存儲技術
  • ISBN:9787302239314,7302239312
  • 頁數: 283頁
  • 出版社:清華大學出版社
  • 出版時間:2010年12月1日
  • 裝幀:平裝
  • 開本:16
作者簡介,內容簡介,媒體評論,目錄,

作者簡介

作者:(美國)萊特斯通(Sam Lightstone) (美國)特里(Toby Teorey) (美國)納多(Tom Nadeau) 譯者:吳驊 王學昌 韓潼瑜
Sam Lightstone,是IBM的DB2產品開發團隊研發經理及高級技術人員,他的工作涉及 自主計算和關係資料庫管理系統的許多方面。Sam Lightstone是DB2自主計算研發工作的 領導者和創始人之一,是自治資料庫系統方面IEEE數據工程組的主席,是自治和自主計 算方面IEEE計算機協會任務組的成員。2003年,他當選為IBM技術研究院加拿大子公司 的傑出技術委員會委員。Sam Lightstone是IBM的發明大師,擁有超過25項專利和未決專 利,他所發表的成果涉及許多關於關係資料庫系統自主計算的內容,從1991年開始一直就 職於IBM。
Toby Teorey是密西根大學安娜堡分校電氣工程與計算機科學系名譽教授以及工程學 院學術項目主任。他先後獲得亞利桑那大學圖森分校電氣工程的理學學士、理學碩士學位 以及威斯康星大學麥迪遜分校的計算機科學博士學位,也一直是各種資料庫會議委員會的 項目委員會主席和成員。
Tom Nadeau是阿拉丁軟體(aladdinsoftware.com)的創始人,研究方向是數據及文本 挖掘領域。他先後獲得密西根大學安娜堡分校計算機科學理學學士、電氣工程和計算機科 學碩士、博士學位,其研究的技術領域包括數據倉庫、OLAP、數據挖掘和機器學習,並於 2001年獲得IBM CASCON會議的最佳論文獎。

內容簡介

《物理資料庫設計:索引、視圖和存儲技術》全面講述資料庫物理設計方案,主要包括物理資料庫設計概況,基本索引方法,查詢最佳化和方案選擇,選擇索引,物化視圖選擇,無共享分區,範圍分區,多維群集,相互依賴的問題,物理設計探索中的計數和數據抽樣,查詢執行計畫和物理設計,自動化物理資料庫設計,伺服器資源和拓撲,決策支持、數據倉庫和OLAP系統中的物理設計,逆規範化以及分散式數據分配等內容。《物理資料庫設計:索引、視圖和存儲技術》適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。

媒體評論

我強烈推薦由Lightstone、Teorey以及Nadeau所撰寫的《物理資料庫設計》一書。本書涵蓋了諸多有關良好物理設計的內容:如在使用索引、物化視圖的權衡以及物理數據布局等不同方法時的效果。與其他類似書籍所不同的是,本書並不是局限在某種特定的產品之上,而是那些被產品表面所遮蔽的更深層次的內容。本書還涉及到交易密集型應用程式(OLTP)以及數據倉庫(OLAP)方面的內容。總之,本書十分值得期待。
——Michael Blaha,OMT Associates,Inc。
這是一部物理資料庫設計方面的優秀著作,她給予讀者務實的模型以及建議。為廣大的從業者以及學習者提供了豐富的信息,並通過DB2、Oracle以及SQL Server中的實例介紹相關分析模型以及實用的提示信息。
——Jim Gray,Microsoft Research

目錄

第1章 物理資料庫設計概況 1
1.1 動機——數據增長和與日俱增的物理資料庫設計 1
1.2 資料庫生命周期 4
1.3 物理設計的元素:索引、分區和群集 5
1.3.1 索引 6
1.3.2 物化視圖 7
1.3.3 分區和多維群集 7
1.3.4 物理資料庫設計的其他方法 7
1.4 物理設計為什麼這么困難 8
1.5 文獻綜述 9
第2章 基本索引方法 10
2.1 B+樹索引 10
2.2 複雜的索引檢索 14
2.2.1 複雜索引方法 16
2.2.2 表掃描 16
2.3 點陣圖索引 17
2.4 記錄標識符 18
2.5 小結 18
2.6 文獻綜述 19
第3章 查詢最佳化和方案選擇 20
3.1 查詢過程和最佳化 20
3.2 有用的資料庫最佳化特性 20
3.2.1 查詢轉換和重寫 21
3.2.2 查詢執行計畫視圖 21
3.2.3 柱狀圖 21
3.2.4 查詢執行計畫提示 21
3.2.5 最佳化深度 22
3.3 查詢成本估計——一個例子 22
3.3.1 查詢案例3.1 22
3.4 查詢執行計畫開發 27
3.4.1 查詢執行計畫的轉換規則 27
3.4.2 查詢執行計畫的重構算法 28
3.5 選擇因素、表規模和查詢成本估算 28
3.5.1 估算一個選擇操作或預期的選擇性因素 28
3.5.2 直方圖 29
3.5.3 估算關聯的選擇性因素 30
3.5.4 查詢案例3.2 30
3.5.5 估算查詢執行計畫表大小的例子 32
3.6 小結 32
3.7 文獻綜述 33
第4章 選擇索引 34
4.1 索引的概念及術語 34
4.1.1 基本索引類型 34
4.1.2 索引的訪問方法 35
4.2 索引的經驗規則 35
4.3 索引選擇決策 37
4.4 連線索引選擇 40
4.4.1 嵌套循環連線 40
4.4.2 塊嵌套連線 42
4.4.3 索引嵌套循環連線 42
4.4.4 合併排序連線 43
4.4.5 哈希連線 44
4.5 小結 45
4.6 文獻綜述 46
第5章 物化視圖選擇 47
5.1 簡單視圖物化 48
5.2 使用通用性 51
5.3 使用分組和歸納 56
5.4 資源的一些注意事項 57
5.5 實例:“好的”、“差的”以及“可怕的” 59
5.6 使用語法和範例 62
5.7 小結 64
5.8 文獻綜述 64
第6章 無共享分區 65
6.1 理解無共享分區 65
6.1.1 無共享系統架構 65
6.1.2 為什麼無共享架構會受到追捧 67
6.2 更多關鍵概念和術語 67
6.3 哈希分區 68
6.4 無共享架構的優缺點 69
6.5 無共享架構在OLTP系統中的使用 71
6.6 設計的挑戰:偏斜與連線配置搭配 73
6.6.1 數據偏斜 73
6.6.2 配置搭配 74
6.7 降低節點間數據傳送的資料庫設計技巧 74
6.7.1 謹慎分區 74
6.7.2 物化視圖複製以及其他複製技術 75
6.7.3 節點間互聯 78
6.8 拓撲設計 79
6.8.1 使用節點的子集 79
6.8.2 邏輯節點與物理節點 81
6.9 資金去向 81
6.10 格線計算 82
6.11 小結 83
6.12 文獻綜述 84
第7章 範圍分區 85
7.1 範圍分區基礎 85
7.2 列表分區 86
7.2.1 列表分區基礎 86
7.2.2 範圍分區和列表分區組合 87
7.3 語法示例 87
7.4 管理以及快速Roll-in、Roll-out 89
7.4.1 隔離工具 89
7.4.2 Roll-in和Roll-out 90
7.5 增強定址能力 91
7.6 分區消除 91
7.7 索引範圍分區數據 94
7.8 範圍分區和群集索引 94
7.9 完整的形態:使用多維群集混合範圍和哈希分區 95
7.10 小結 96
7.11 文獻綜述 97
第8章 多維群集 98
8.1 了解MDC 99
8.1.1 為什麼群集這么有幫助 99
8.1.2 MDC 100
8.1.3 創建MDC表的語法格式 103
8.2 MDC的性能優勢 103
8.3 不僅僅是查詢性能:轉入(Roll-in)和轉出(Roll-out)的設計 105
8.4 MDC的查詢優勢實例 106
8.5 存儲研究 107
8.6 設計MDC表 109
8.6.1 用粗糙度限制存儲擴展 109
8.6.2 MDC利用的單調性 111
8.6.3 選擇合適的維度 112
8.7 小結 113
8.8 文獻綜述 114
第9章 相互依賴的問題 115
9.1 強弱關聯分析 115
9.2 過程優先的瀑布策略 117
9.3 效果優先的瀑布策略 117
9.4 變更管理的貪婪算法 118
9.5 流行的策略(雞湯算法) 119
9.6 小結 120
9.7 文獻綜述 121
第10章 物理設計探索中的計數和數據抽樣 122
10.1 套用物理資料庫設計 122
10.1.1 索引設計的計數 124
10.1.2 物化視圖設計的計數 124
10.1.3 多維群集的計數 125
10.1.4 無共享分區設計的計數 126
10.2 抽樣功能 127
10.2.1 使用SQL抽樣的好處 127
10.2.2 資料庫設計的抽樣 128
10.2.3 抽樣類型 131
10.2.4 重複性抽樣 133
10.3 一個明顯的限制 133
10.4 小結 134
10.5 文獻綜述 135
第11章 查詢執行計畫和物理設計 137
11.1 從查詢文本獲取到結果集 137
11.2 查詢執行計畫究竟是什麼樣 140
11.3 非圖形化的Explain 141
11.4 瀏覽查詢執行計畫以改進資料庫設計 144
11.5 用於改進物理資料庫設計的查詢執行計畫標示符 149
11.6 不更改資料庫的探索 151
11.7 當查詢最佳化器選擇失誤時強制執行 151
11.7.1 3種基本策略 151
11.7.2 查詢提示簡介 152
11.7.3 當SQL不能被修改時的查詢提示 154
11.8 小結 156
11.9 文獻綜述 156
第12章 自動化物理資料庫設計 157
12.1 如果假設分析、索引以及其他 158
12.2 Oracle、DB2以及SQL Server的自動化設計功能 161
12.2.1 IBM DB2 Design Advisor 162
12.2.2 Microsoft SQL Server Database Tuning Advisor 166
12.2.3 Oracle SQL Access Advisor 169
12.3 使用分組和泛化 171
12.4 可擴展性以及工作負荷的壓縮 172
12.5 測試系統與生產系統之間的設計探索 175
12.6 出版文獻中的一些實驗性結果 176
12.7 索引選擇 179
12.8 物化視圖選擇 180
12.9 多維群集選擇 182
12.10 無共享分區 183
12.11 範圍分區設計 184
12.12 小結 186
12.13 文獻綜述 186
第13章 實質探討:伺服器資源和拓撲 188
13.1 需要了解的有關CPU架構以及發展趨勢的內容 189
13.1.1 CPU性能 189
13.1.2 使用並行處理加速系統的阿姆達爾定律 191
13.1.3 多核CPU 192
13.2 客戶機伺服器架構 192
13.3 對稱多處理器與NUMA 194
13.3.1 對稱多處理器與NUMA概述 194
13.3.2 快取一致性與偽共享 195
13.4 伺服器群集 195
13.5 關於作業系統的一般知識 195
13.6 存儲系統 196
13.6.1 磁碟、軸以及分割 197
13.6.2 存儲區域網路與網路連線存儲設備 198
13.7 利用RAID使存儲既可靠又快捷 199
13.7.1 RAID的歷史 199
13.7.2 RAID 0 200
13.7.3 RAID 1 200
13.7.4 RAID 2以及RAID 3 201
13.7.5 RAID 4 202
13.7.6 RAID 5以及RAID 6 202
13.7.7 RAID 1+0 203
13.7.8 RAID 0+1 204
13.7.9 RAID 10+0以及RAID 5+0 204
13.7.10 哪種RAID最適合資料庫的需求 205
13.8 在資料庫伺服器中均衡資源 206
13.9 可用性以及恢復策略 206
13.10 主記憶體與資料庫調整 210
13.10.1 人工記憶體調整 210
13.10.2 自動記憶體調整 212
13.10.3 技術前沿:自調整記憶體管理的最新策略 215
13.11 小結 224
13.12 文獻綜述 224
第14章 決策支持、數據倉庫和OLAP系統中的物理設計 226
14.1 什麼是OLAP 226
14.2 維度層次結構 228
14.3 星型模式和雪花模式 229
14.4 倉庫與集市 230
14.5 按比例擴大系統 233
14.6 在DSS、倉庫以及OLAP設計中的注意事項 234
14.7 主流資料庫伺服器的使用語法以及例子 235
14.7.1 Oracle 235
14.7.2 Microsoft分析服務 236
14.8 小結 238
14.9 文獻綜述 238
第15章 逆規範化 240
15.1 有關規範化的基礎知識 240
15.2 逆規範化的常見類型 243
15.2.1 一一對應關係中的實體 243
15.2.2 一對多關係中的實體 244
15.3 表逆規範化策略 246
15.4 逆規範化的例子 246
15.4.1 需求規格 247
15.4.2 邏輯設計 247
15.4.3 使用逆規範化進行模式最佳化 249
15.5 小結 252
15.6 文獻綜述 252
第16章 分散式數據分配 253
16.1 引言 253
16.2 分散式資料庫分配 255
16.3 複製數據分配——“最有益站點”方法 256
16.4 漸進表分配方法 260
16.5 小結 261
16.6 文獻綜述 261
附錄A 一個簡單的性能模型資料庫 263
A.1 IO時間成本——單獨塊訪問 263
A.2 IO時間成本——表掃描和排序 263
A.3 網路時間延遲 264
A.4 CPU時間延遲 264
附錄B Oracle Data Guard與DB2 HADR的資料庫災難恢復技術比較 265
B.1 在故障轉移期間備用始終保持其“熱”度 266
B.2 快速故障轉移 266
B.3 地域分離 266
B.4 支持多種備用伺服器 266
B.5 支持在備用伺服器上的讀取 267
B.6 主伺服器在故障轉移後可以很容易重建 267
參考書目 268

相關詞條

熱門詞條

聯絡我們