《讓Oracle跑得更快2—基于海量資料的資料庫設計與最佳化》
編輯精選
國內第一本以作者10年的工作經曆打造的
基于海量資料的資料庫設計與最佳化的書籍
基本資料
作者:譚懷遠
叢書名: ITPUB技術叢書
出版社:電子工業出版社
ISBN:9787121139215
上架時間:2011-8-1
出版日期:2011 年7月
http://product.china-pub.com/198426
《讓Oracle跑得更快2—基于海量資料的資料庫設計與最佳化》電子書線上閱讀
內容簡介
資料庫設計,是最近幾年才出現的技術領域,再早的時候,資料庫是以一個黑盒的方式,附屬到某個系統當中的,開發人員對它的關注非常少。
近年來,由於很多系統資料量呈幾何級數激增,各種效能問題日益凸顯出來,而這種效能問題絕大多數都落在了資料的載體—資料庫身上,因此,人們越來越關注資料庫的效能。而一個資料庫效能的好壞,通常是在系統設計階段就決定了的,於是,將資料庫從系統設計中拿出來單獨進行設計,變得越來越主流了。
這是一本以討論海量資料環境下oracle資料庫設計與最佳化的書籍,也是作者10年來從事oracle資料庫工作的心得體會,是作者工作經驗的結晶,這樣的書籍並不多見。
本書通篇圍繞著在海量資料環境下,如何構造一個高效的oracle資料庫這一核心,將許多相關技術融匯到這個核心話題當中,這些技術包括:分區、索引、資料庫物件屬性、並行技術、唯讀資料表空間、初始化參數、幾種常見的資料庫結構描述,以及在特定資料庫結構描述下資料庫的備份和恢複等相關技術。
《讓oracle跑得更快2—基于海量資料的資料庫設計與最佳化》適合於oracle dba、開發人員、專案經理或者其他對資料庫效能感興趣的人員。
目錄
《讓oracle跑得更快2—基于海量資料的資料庫設計與最佳化》
第一篇 分 區
第1章 分區的淵源 2
1.1 delete與系統資源 3
1.2 delete與釋放空間 10
第2章 分區在海量資料庫中的應用 15
2.1 分區的種類 16
2.1.1 定界分割 16
2.1.2 雜湊分割 35
2.1.3 列表分區 42
2.1.4 組合分區 43
2.2 三種分區的比較 46
2.2.1 定界分割的適用情況 47
2.2.2 雜湊分割的效率 47
2.2.3 列表分區與定界分割各自的優勢 54
2.3 小結 61
第二篇 索 引
第3章 b樹索引 64
3.1 b樹索引概述 65
3.2 b樹索引的效率 66
.3.2.1 主鍵或者唯一性限制式 66
3.2.2 索引值重複率低的欄位比較適合使用b樹索引 77
第4章 位元影像索引 85
4.1 位元影像索引概述 86
4.2 什麼時候使用位元影像索引 97
第5章 全文索引 109
5.1 全文索引概述 109
5.1.1 全文索引和普通索引的對比 110
5.1.2 全文索引的對象 114
5.1.3 全文索引在海量資料庫中的應用 123
5.2 全文索引的空間 138
5.3 全文索引和dml操作 145
5.3.1 insert操作 146
5.3.2 delete操作 149
5.3.3 update操作 150
5.4 ctx_report工具包 154
5.4.1 ctx_report.describe_index 158
5.4.2 describe_policy函數 161
5.4.3 create_index_script函數 162
5.4.4 create_policy_script函數 164
5.4.5 index_size函數 165
5.4.6 index_stats預存程序 168
5.4.7 query_log_summary預存程序 170
5.5 小結 175
第三篇 對 象 屬 性
第6章 對象屬性概述 178
6.1 oracle資料庫中的對象屬性 178
6.2 對象屬性和系統的關係 183
第7章 並行度 185
7.1 對象屬性上的並行 186
7.2 使用hint方式並存執行 189
7.3 索引上的並行度 193
第8章 資料壓縮 198
8.1 資料壓縮技術的應用 199
8.2 分區索引的壓縮 203
8.3 資料壓縮的優越性 205
8.3.1 節省空間的 205
8.3.2 效能的提高 212
8.4 dml操作和資料壓縮 219
第9章 唯讀資料表空間 227
9.1 唯讀資料表空間與資料備份和恢複的關係 228
9.2 唯讀資料表空間對於資料庫的啟動和關閉的影響 231
9.3 唯讀資料表空間可以防止資料被意外刪除和修改 237
9.4 唯讀資料表空間使資料表空間的管理更加方便 240
第10章 資料庫物件的分析 245
10.1 cbo和rbo 246
10.2 分析和動態採樣 251
10.3 對象分析的頻度 254
10.3.1 資料入庫後不再改變 255
10.3.2 資料存在表中且經常改變 271
第四篇 海量資料的資料庫結構描述設計
第11章 rac架構 285
11.1 rac在海量資料庫中的應用 293
11.2 rac架構之業務分割 295
11.3 rac架構之負載平衡 308
11.3.1 用戶端的負載平衡 308
11.3.2 伺服器端的負載平衡 313
11.4 rac架構之failover 316
第12章 分散式資料庫架構 319
12.1 分散式資料庫的優越性 319
12.2 分散式資料庫的資料處理 321
12.3 分散式資料庫的字元集 323
第13章 data guard架構 325
13.1 data guard概述 326
13.2 data guard的保護模式 329
13.2.1 最高資料保護模式 329
13.2.2 最高效能模式 329
13.2.3 最高可用性模式 330
13.3 data guard和rac 331
13.4 data guard中standby資料庫的類型 332
13.4.1 物理standby資料庫 332
13.4.2 邏輯standby資料庫 333
第14章 儲存架構的設計(asm+san) 335
14.1 asm 336
14.1.1 方便儲存管理 337
14.1.2 asm的一個管理工具—asmcmd 345
14.1.3 儲存的高可用性 348
14.1.4 提升儲存效能 350
14.2 san 352
第15章 海量資料的備份和恢複 354
15.1 傳統的資料備份方案 354
15.1.1 通過資料匯出方式備份資料 355
15.1.2 資料庫冷備份 355
15.1.3 資料庫熱備份 356
15.2 海量資料的Database Backup和恢複方案 357
15.2.1 使用分散式資料庫 357
15.2.2 以傳遞資料表空間的方式對錶空間進行備份和恢複 358
15.2.3 對載入資料進行備份 368
第五篇 初始化參數
第16章 記憶體相關的參數 373
16.1 sga_target 373
16.2 pga_aggregate_target 379
第17章 i/o相關的參數 382
17.1 db_file_multiblock_read_count 383
17.2 和資料庫i/o及資料檔案相關的其他4個參數 388
17.2.1 db_writer_processes 388
17.2.2 disk_asynch_io 389
17.2.3 dbwr_io_slaves 389
17.2.4 db_files 390
第18章 最佳化器相關的參數 391
18.1 cursor_sharing 391
18.2 optimizer_dynamic_sampling 394
18.3 optimizer_mode 398
18.3.1 all_rows 398
18.3.2 first_rows_n 398
18.3.3 first_rows 399
第19章 其他的參數 400
19.1 並行相關的參數 400
19.1.1 在對象的屬性中設定並行 401
19.1.2 在hint中使用並行 401
19.2 分散式資料庫相關的參數 404
附錄a oracle字元集 406
附錄b show_space預存程序 415
附錄c 一個典型的olap系統資料庫的設計方案 419