DBA修煉之道:數據庫管理員的第一本書(原書第2版)pdf



下載地址:網盤下載數據庫


內容簡介  · · · · · ·

做者簡介  · · · · · ·

Craig S. Mullins 資深數據庫管理專家,Mullins諮詢公司(領先的數據和數據庫管理諮詢公司)總裁和首席顧問。從事數據庫管理和研發逾30年,曾擔任過多種數據庫管理系統(包括DB二、Oracle和SQL Server)的應用程序開發人員、DBA和講師,涉及的行業有製造業、金融、商業軟件研發、教育、科研、公共事業和諮詢等。因爲他在DB2社區所作出的貢獻,IBM曾授予他「信息管理冠軍」的稱號。他還著有《DB2開發人員指南》。

目錄  · · · · · ·

譯者序
前 言
致 謝
第1章 什麼是DBA 1
1.1 爲何學習數據庫管理 2
1.2 獨特的優點 3
1.2.1 DBA的薪資 3
1.2.2 數據庫技術 5
1.3 DBA的管理準則 6
1.4 評估DBA的工做邀請 10
1.5 數據庫管理、數據管理和系統管理 10
1.5.1 數據管理 10
1.5.2 數據庫管理 13
1.5.3 系統管理 13
1.6 DBA的任務 14
1.6.1 數據庫設計 14
1.6.2 性能監控和調優 15
1.6.3 保證可用性 16
1.6.4 數據庫安全和受權 16
1.6.5 治理與合規性 17
1.6.6 備份和恢復 18
1.6.7 確保數據完整性 18
1.7 DBMS版本遷移 19
1.8 DBA的類型 21
1.8.1 系統DBA 21
1.8.2 數據庫架構師 21
1.8.3 數據庫分析師 22
1.8.4 數據建模師 22
1.8.5 應用程序DBA 22
1.8.6 面向任務的DBA 24
1.8.7 性能分析師 24
1.8.8 數據倉庫管理員 24
1.9 人員配備的考慮 24
1.9.1 須要多少DBA 25
1.9.2 DBA報告結構 26
1.10 跨平臺的DBA問題 28
1.11 生產環境與測試環境 29
1.12 新技術對DBA的影響 30
1.12.1 過程DBA:管理數據庫邏輯 30
1.12.2 互聯網:從DBA到eDBA 33
1.12.3 我的DBA與雲計算 35
1.12.4 NoSQL、大數據和DBA 37
1.12.5 新技術對DBA的影響 37
1.13 DBA認證 38
1.14 本書的其他部分 39
1.15 回顧 39
第2章 建立數據庫環境 40
2.1 定義企業的DBMS策略 40
2.1.1 DBMS選型 41
2.1.2 DBMS架構 45
2.1.3 DBMS集羣 47
2.1.4 DBMS氾濫 48
2.1.5 硬件問題 49
2.1.6 雲數據庫系統 49
2.2 安裝DBMS 50
2.2.1 DBMS安裝基礎 50
2.2.2 硬件需求 50
2.2.3 存儲需求 51
2.2.4 內存需求 52
2.2.5 配置DBMS 53
2.2.6 鏈接DBMS與基礎設施配套軟件 54
2.2.7 安裝驗證 54
2.2.8 DBMS環境 55
2.3 升級DBMS的主版本和次版本 55
2.3.1 產品特性與複雜性 58
2.3.2 DBMS環境的複雜性 59
2.3.3 DBMS供應商的聲譽 59
2.3.4 DBMS的支持條款 59
2.3.5 企業風格 60
2.3.6 DBA人員技能組合 60
2.3.7 平臺支持 60
2.3.8 配套軟件 61
2.3.9 回滾計劃 61
2.3.10 遷移驗證 62
2.3.11 DBMS升級策略 62
2.4 數據庫標準與過程 62
2.4.1 數據庫命名約定 62
2.4.2 其餘數據庫標準和過程 65
2.5 DBMS教育 69
2.6 小結 70
2.7 回顧 70
2.8 推薦書目 71
第3章 數據建模與規範化 72
3.1 數據建模的概念 73
3.2 數據模型的組件 77
3.2.1 實體 77
3.2.2 屬性 78
3.2.3 碼 82
3.2.4 關聯 82
3.3 發現實體、屬性和關聯 84
3.4 概念、邏輯和物理數據模型 85
3.5 什麼是規範化 87
3.6 範式 87
3.6.1 第一範式 87
3.6.2 第二範式 89
3.6.3 第三範式 90
3.6.4 一個規範化的數據模型 91
3.6.5 進一步的範式 91
3.7 規範化實踐 92
3.8 其餘數據建模問題 92
3.9 小結 93
3.10 回顧 93
3.11 推薦書目 94
第4章 數據庫設計 96
4.1 從邏輯模型到物理數據庫 96
4.1.1 實體轉換成表 97
4.1.2 屬性轉換成列 97
4.1.3 爲全部關聯創建引用約束 100
4.1.4 創建物理數據結構 100
4.2 數據庫性能設計 102
4.2.1 索引設計 102
4.2.2 散列 107
4.2.3 集羣 108
4.2.4 交叉數據 109
4.3 非規範化 109
4.3.1 什麼時候進行非規範化 109
4.3.2 預鏈接表 111
4.3.3 報告表 111
4.3.4 鏡像表 112
4.3.5 拆分表 112
4.3.6 組合表 114
4.3.7 冗餘數據 114
4.3.8 重複組 114
4.3.9 可導性數據 115
4.3.10 層次結構 116
4.3.11 特殊物理實施需求 117
4.3.12 非規範化小結 117
4.4 視圖 118
4.5 數據定義語言 119
4.6 時態數據支持 120
4.6.1 時態的例子 120
4.6.2 業務時間和系統時間 120
4.7 小結 121
4.8 回顧 122
4.9 推薦書目 123
第5章 應用程序設計 124
5.1 數據庫應用程序開發和SQL 124
5.1.1 SQL 125
5.1.2 Set-at-a-Time處理和關係閉包 127
5.1.3 在程序中嵌入SQL語句 128
5.1.4 SQL中間件和API 129
5.1.5 應用程序基礎架構 130
5.1.6 面向對象與SQL 134
5.1.7 SQL類型 135
5.1.8 SQL性能編碼 136
5.1.9 查詢XML數據 137
5.2 定義事務 138
5.2.1 事務指南 139
5.2.2 工做單元 140
5.2.3 事務處理系統 140
5.2.4 應用程序服務器 141
5.3 鎖 142
5.3.1 鎖的類型 143
5.3.2 鎖超時 144
5.3.3 死鎖 144
5.3.4 鎖定持續時間 145
5.3.5 鎖升級 148
5.3.6 最小化鎖定問題的編程技術 148
5.3.7 鎖定小結 149
5.4 批處理 149
5.5 小結 150
5.6 回顧 150
5.7 推薦書目 151
第6章 設計審查 153
6.1 什麼是設計審查 153
6.1.1 交戰規則 154
6.1.2 設計審查的參與者 154
6.1.3 所需的知識與技能 156
6.2 設計審查的類型 157
6.2.1 概念設計審查 158
6.2.2 邏輯設計審查 158
6.2.3 物理設計審查 159
6.2.4 組織設計審查 159
6.2.5 SQL與應用程序代碼設計審查 160
6.2.6 部署前的設計審查 160
6.2.7 部署後的設計審查 161
6.3 設計審查輸出 161
6.4 其餘注意事項 161
6.4.1 應對遠程工做人員 162
6.4.2 制度和知識遷移 162
6.5 小結 162
6.6 回顧 162
6.7 推薦書目 163
第7章 數據庫變動管理 164
7.1 變動管理要求 165
7.2 變動的類型 167
7.2.1 DBMS軟件 167
7.2.2 硬件配置 167
7.2.3 邏輯和物理設計 167
7.2.4 應用程序 168
7.2.5 物理數據庫結構 168
7.3 數據庫結構變動的影響 169
7.3.1 ALTER的限制 170
7.3.2 數據庫變動業務場景 171
7.3.3 比較數據庫結構 173
7.3.4 請求數據庫變動 174
7.3.5 標準化的變動請求 174
7.3.6 溝通 175
7.3.7 協調數據庫和應用程序變動 175
7.3.8 合規性 176
7.3.9 DBA腳本和變動管理 176
7.4 小結 177
7.5 回顧 177
7.6 推薦書目 177
第8章 數據可用性 178
8.1 定義可用性 179
8.2 停機成本 182
8.3 可用性問題 184
8.3.1 數據中心的丟失 184
8.3.2 網絡問題 185
8.3.3 服務器硬件的丟失 185
8.3.4 磁盤相關的中斷 187
8.3.5 操做系統故障 187
8.3.6 DBMS軟件故障 188
8.3.7 應用程序問題 188
8.3.8 安全和受權問題 188
8.3.9 數據損壞 189
8.3.10 數據庫對象丟失 189
8.3.11 數據丟失 190
8.3.12 數據複製和傳播故障 190
8.3.13 嚴重的性能問題 191
8.3.14 恢復問題 191
8.3.15 DBA錯誤 191
8.3.16 計劃內和計劃外中斷 193
8.4 確保可用性 193
8.4.1 系統正常運行時執行平常維護 194
8.4.2 自動化DBA任務 195
8.4.3 利用高可用性功能 196
8.4.4 利用集羣技術 196
8.4.5 數據庫架構和NoSQL 199
8.5 小結 200
8.6 回顧 200
8.7 推薦書目 201
第9章 性能管理 202
9.1 性能定義 202
9.2 監測與管理 205
9.2.1 被動與主動 206
9.2.2 生產前的性能評估 207
9.2.3 歷史趨勢 208
9.3 服務級別管理 208
9.4 性能調優的類型 210
9.4.1 系統調優 210
9.4.2 數據庫調優 210
9.4.3 應用程序調優 211
9.5 性能調優工具 211
9.6 DBMS的性能基礎 212
9.7 小結 213
9.8 回顧 213
9.9 推薦書目 214
第10章 系統性能 215
10.1 大環境 215
10.1.1 與操做系統交互 216
10.1.2 聯合代理 216
10.1.3 硬件配置 217
10.1.4 DBMS組件 218
10.2 DBMS安裝和配置問題 220
10.2.1 配置類型 221
10.2.2 內存使用 221
10.2.3 數據高速緩存 224
10.2.4 「開放的」數據對象 227
10.2.5 數據庫日誌 227
10.2.6 鎖定與爭用 231
10.2.7 系統目錄 231
10.2.8 其餘配置選項 232
10.2.9 通常性建議 233
10.3 系統監測 233
10.4 小結 234
10.5 回顧 234
10.6 推薦書目 235
第11章 數據庫性能 236
11.1 優化數據庫的技術 236
11.1.1 分區 237
11.1.2 原始分區與文件系統 237
11.1.3 索引 238
11.1.4 非規範化 240
11.1.5 集羣 241
11.1.6 交叉數據 243
11.1.7 可用空間 243
11.1.8 壓縮 244
11.1.9 文件放置與分配 245
11.1.10 頁面大小(塊大小) 246
11.2 數據庫重組 247
11.2.1 決定什麼時候進行重組 250
11.2.2 自動化 251
11.3 小結 251
11.4 回顧 251
11.5 推薦書目 252
第12章 應用程序性能 253
12.1 設計關係訪問的應用程序 253
12.2 關係優化 254
12.2.1 CPU和I/O成本 255
12.2.2 數據庫統計信息 255
12.2.3 查詢分析 257
12.2.4 鏈接 257
12.2.5 訪問路徑選擇 259
12.3 其餘優化考慮 266
12.3.1 視圖訪問 266
12.3.2 查詢重寫 267
12.3.3 基於規則的優化 267
12.4 訪問路徑的審查 268
12.5 SQL的編碼和調優效率 272
12.5.1 SQL經驗法則一籮筐 272
12.5.2 其餘SQL調優技巧 277
12.5.3 識別性能低下的SQL 277
12.6 小結 278
12.7 回顧 278
12.8 推薦書目 278
第13章 數據完整性 280
13.1 完整性的類型 280
13.2 數據庫結構完整性 281
13.2.1 結構性問題的類型 281
13.2.2 管理結構性問題 281
13.3 語義數據的完整性 284
13.3.1 實體完整性 285
13.3.2 惟一約束 286
13.3.3 數據類型 286
13.3.4 默認值 287
13.3.5 檢查約束 287
13.3.6 觸發器 292
13.3.7 參照完整性 296
13.4 時態數據庫系統 304
13.5 小結 305
13.6 回顧 306
13.7 推薦書目 306
第14章 數據庫安全 308
14.1 數據泄露 308
14.2 數據庫安全基礎 309
14.3 授予和撤銷受權 313
14.3.1 權限類型 313
14.3.2 授予PUBLIC 315
14.3.3 撤銷權限 316
14.3.4 基於標籤的訪問控制 317
14.3.5 安全報告 319
14.4 受權角色和組 319
14.4.1 角色 319
14.4.2 組 320
14.5 其餘數據庫安全機制 321
14.5.1 安全使用視圖 321
14.5.2 安全使用存儲過程 322
14.6 加密 322
14.6.1 靜態數據加密 323
14.6.2 傳輸過程的數據加密 324
14.6.3 加密技術 324
14.7 SQL注入攻擊 325
14.8 審計 327
14.9 外部安全 328
14.9.1 做業調度和安全 329
14.9.2 非DBMS的DBA安全 329
14.10 DBMS補丁包和維護 330
14.11 小結 330
14.12 回顧 330
14.13 推薦書目 331
第15章 合規性和數據庫管理 332
15.1 實現合規性的協做方法 334
15.2 元數據管理、數據質量和數據治理 335
15.2.1 元數據 335
15.2.2 數據質量 336
15.2.3 數據治理 336
15.3 數據庫審計和數據訪問跟蹤 336
15.3.1 數據庫審計技術 338
15.3.2 特權用戶審計 340
15.4 數據屏蔽和模糊 341
15.5 用於長期數據保留的數據庫歸檔 342
15.5.1 數據的生命週期 342
15.5.2 數據庫歸檔 343
15.5.3 數據庫歸檔解決方案的構成 346
15.5.4 e-Discovery對DBA的影響 347
15.6 密切跟蹤傳統的DBA任務 348
15.6.1 數據庫變動管理 348
15.6.2 數據庫備份和恢復 349
15.7 小結 350
15.8 回顧 351
15.9 推薦書目 351
第16章 數據庫備份和恢復 353
16.1 備份和恢復的重要性 353
16.2 問題的準備工做 354
16.3 備份 354
16.3.1 完整備份與增量備份 357
16.3.2 數據庫對象和備份 358
16.3.3 DBMS控制 359
16.3.4 併發訪問問題 360
16.3.5 備份的一致性 361
16.3.6 日誌歸檔和備份 362
16.3.7 肯定備份計劃 363
16.3.8 DBMS實例備份 365
16.3.9 設計恢復的DBMS環境 365
16.3.10 數據庫備份的替代途徑 365
16.3.11 記錄備份策略 367
16.3.12 數據庫對象定義備份 367
16.4 恢復 368
16.4.1 肯定恢復選項 368
16.4.2 數據庫對象恢復的通常步驟 370
16.4.3 恢復的類型 371
16.4.4 索引恢復 377
16.4.5 測試恢復計劃 377
16.4.6 恢復刪除的數據庫對象 378
16.4.7 恢復損壞的塊和頁面 379
16.4.8 填充測試數據庫 379
16.5 替代性備份和恢復 379
16.5.1 備用數據庫 380
16.5.2 複製 380
16.5.3 磁盤鏡像 381
16.6 小結 381
16.7 回顧 381
16.8 推薦書目 382
第17章 防災規劃 383
17.1?計劃的必要性 383
17.2?通常災難恢復指南 386
17.2.1 遠程站點 386
17.2.2 書面計劃 386
17.2.3 人員 389
17.3?爲災難恢復備份數據庫 389
17.3.1 磁帶備份 390
17.3.2 存儲管理備份 391
17.3.3 其餘方法 392
17.3.4 一些指導 392
17.4?災難防治 393
17.5?小結 394
17.6?回顧 394
17.7?推薦書目 395
第18章 數據和存儲管理 396
18.1?存儲管理基礎 396
18.2?文件和數據集 399
18.2.1 磁盤上的文件放置 399
18.2.2 原始分區和文件系統 401
18.2.3 臨時數據庫文件 401
18.3?空間管理 401
18.3.1 數據頁面佈局 402
18.3.2 索引頁面佈局 404
18.3.3 事務日誌 406
18.4?碎片和存儲 407
18.5?存儲選項 407
18.5.1 RAID 408
18.5.2 JBOD 414
18.5.3 存儲區域網絡 414
18.5.4 網絡附加存儲 414
18.5.5 分層存儲 415
18.6?規劃將來 416
18.7?小結 417
18.8?回顧 417
18.9?推薦書目 418
第19章 數據移動與分佈 419
19.1?裝卸數據 419
19.1.1 LOAD實用程序 420
19.1.2 UNLOAD實用程序 422
19.1.3 維護應用程序測試臺 425
19.2?導出與導入 426
19.3?批量數據移動 426
19.3.1 ETL軟件 426
19.3.2 複製和傳播 427
19.3.3 消息軟件 427
19.3.4 其餘方法 428
19.4?分佈式數據庫 428
19.4.1 創建分佈式環境 430
19.4.2 數據分佈的標準 431
19.4.3 訪問分佈式數據 432
19.4.4 兩階段COMMIT 433
19.4.5 分佈式性能問題 433
19.5?小結 434
19.6?回顧 434
19.7?推薦書目 435
第20章 數據倉庫管理 436
20.1?什麼是數據倉庫 436
20.2?管理數據倉庫 438
20.2.1 太專一於技術 439
20.2.2 數據倉庫設計 439
20.2.3 數據移動 441
20.2.4 數據清理 441
20.2.5 數據倉庫的可擴展性 444
20.2.6 數據倉庫的性能 444
20.2.7 數據新鮮度 447
20.2.8 數據內容 447
20.2.9 數據使用 448
20.2.10 財務退款 448
20.2.11 備份與恢復 449
20.2.12 不要憑空操做 449
20.3?小結 450
20.4?回顧 450
20.5?推薦書目 450
第21章 數據庫鏈接 452
21.1?多層、分佈式計算 452
21.1.1 回顧歷史 452
21.1.2 業務問題 453
21.1.3 C/S計算簡介 453
21.1.4 C/S應用程序的類型 456
21.2?網絡流量 459
21.2.1 數據庫網關 459
21.2.2 數據庫驅動程序 460
21.2.3 鏈接池 461
21.3?數據庫、互聯網和Web 461
21.3.1 接入互聯網的數據庫 462
21.3.2 Web開發和Web服務 465
21.4 小結 466
21.5?回顧 466
21.6?推薦書目 467
第22章 元數據管理 469
22.1 元數據簡介 469
22.1.1 從數據到知識,再到更多 470
22.1.2 元數據策略 471
22.1.3 數據倉庫和元數據 471
22.2?元數據的類型 471
22.3?資源庫和數據字典 473
22.3.1 資源庫的好處 474
22.3.2 資源庫的挑戰 475
22.3.3 數據字典 476
22.4?小結 476
22.5?回顧 477
22.6?推薦書目 477
第23章 DBA工具 479
23.1 DBA工具的類型和好處 479
23.1.1 數據建模和設計 479
23.1.2 數據庫變動管理 480
23.1.3 表編輯器 484
23.1.4 性能管理 485
23.1.5 備份與恢復 489
23.1.6 數據庫實用程序 490
23.1.7 數據保護、治理、風險和合規性工具 491
23.1.8 數據倉庫、分析和商業智能 494
23.1.9 編程和開發工具 496
23.1.10 雜項工具 497
23.2 研究原生DBA工具 499
23.3 評估DBA工具供應商 500
23.4 小結 502
23.5 回顧 503
第24章 DBA的經驗法則 504
24.1 記錄每一件事 504
24.2 一切都井井有理 504
24.3 自動化 505
24.4 知識共享 507
24.5 分析、簡化和專一 508
24.6 不要驚慌 509
24.7 測量兩次,切割一次 509
24.8 瞭解業務,不僅是技術 510
24.9 不要成爲隱士 511
24.10 任意使用全部的資源 511
24.11 不斷更新 512
24.12 投資本身 512
24.13 小結 513
24.14 最後的檢驗 513
附錄A 數據庫基本原理 516
附錄B DBMS供應商 521
附錄C DBA工具供應商 526
附錄D DBA的網絡資源 531
附錄E DBA公開招聘樣本 538
參考書目 542
術語表 563



下載地址:網盤下載

相關文章
相關標籤/搜索