數據庫可靠性工程 數據庫系統設計與運維指南

[美] 萊恩·坎貝爾(Laine Campbell),[美] 夏麗蒂·梅傑斯(Charity Majors)

  • 出版商: 人民郵電
  • 出版日期: 2020-11-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 194
  • 裝訂: 平裝
  • ISBN: 7115548862
  • ISBN-13: 9787115548863
  • 相關分類: 資訊科學Information-management
  • 立即出貨 (庫存 < 4)

  • 數據庫可靠性工程 數據庫系統設計與運維指南-preview-1
  • 數據庫可靠性工程 數據庫系統設計與運維指南-preview-2
數據庫可靠性工程 數據庫系統設計與運維指南-preview-1

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

商品描述

數據是當今企業的寶貴資產,設計、構建並維護數據存儲的重要性不言而喻,而技術的快速迭代給數據庫可靠性帶來了更多挑戰,也向數據庫管理員提出了更高要求。本書從可靠性這一視角就數據庫的構建和運維展開細致討論。全書內容分為兩大部分:前一部分介紹運維基礎知識,包括行為準則、服務等級管理、風險管理和運維可見性;後一部分深入研究數據本身,包括基礎設施、備份和恢復、安全、存儲和復制、架構等。

作者簡介

萊恩.坎貝爾(Laine Campbell)是Facebook生產工程總監,曾任Fastly生產工程高級總監,PalominoDB/Blackbird創始人、前CEO,為眾多公司提供數據庫需求諮詢服務,在運行大型數據庫和分佈式系統方面有近20年經驗。


夏麗蒂.梅傑斯(Charity Majors)是Honeycomb公司聯合創始人和CTO,曾任Facebook生產工程經理,是一位有15年以上經驗的高級系統工程師。

目錄大綱

序xii
前言xiii

第1章數據庫可靠性工程介紹1
1.1數據庫可靠性工程師的指導原則2
1.1.1保護數據2
1.1.2大量自助服務3
1.1.3消除瑣事3
1 .1.4數據庫並不特殊4
1.1.5消除軟件和運維之間的障礙4
1.2運維核心概述5
1.3需求層次6
1.3.1生存和安全.6
1.3.2愛和歸屬感7
1.3.3尊重7
1.3.4自我實現8
1.4小結9

第2章服務等級管理10
2.1為何需要SLO 10
2.2服務等級指標12
2.2.1延時12
2.2.2可用性12
2.2.3吞吐量12
2.2.4持久性13
2.2.5成本或效率13
2.3定義服務目標13
2 .3.1延時指標13
2.3.2可用性指標16
2.3.3吞吐量指標18
2.4 SLO的監控和報告19
2.4.1可用性監控20
2.4.2延時監控21
2.4.3吞吐量監控22
2.4.4監控成本和效率22
2.5小結23

第3章風險管理24
3.1風險考量因素25
3.1.1未知因素和復雜性25
3. 1.2可用資源25
3.1.3人為因素25
3.1.4團隊因素26
3.2可以做什麼27
3.3不可以做什麼27
3.4工作流程:初始版本28
3.4. 1服務風險評估29
3.4.2架構清單30
3.4.3優先級31
3.4.4風險控制和決策制定34
3.5持續迭代36
3.6小結37

第4章操作可見性38
4.1操作可見性的新規則40
4.1.1把操作可見性視為商業智能係統40
4.1.2分佈式易失環境成為趨勢40
4.1.3高頻存儲關鍵度量值42
4.1.4保持架構簡潔43
4.2操作可見性框架44
4.3數據輸入45
4.3.1遙測/度量值46
4.3.2事件47
4.3.3日誌47
4.4數據輸出47
4.5監控的初始版本48
4.5.1數據安全嗎49
4.5.2服務運行正常嗎50
4.5.3用戶受影響了嗎51
4.6度量應用程序51
4.6.1分佈式追踪52
4.6.2事件與日誌53
4.7度量服務器或實例53
4.8度量數據存儲55
4.9數據存儲連接層56
4.9.1利用率56
4.9.2飽和度56
4.9.3錯誤57
4.10數據庫內部可見性58
4.10.1吞吐量和延時度量值58
4.10.2提交、重做和日誌58
4.10.3複製狀態59
4.10.4內存結構60
4.10.5鎖與並發60
4.11數據庫對象62
4.12數據庫查詢62
4.13數據庫報警和事件62
4.14小結63

第5章基礎設施工程64
5 .1主機64
5.1.1物理服務器64
5.1.2系統或內核的運維65
5.1.3存儲區域網絡72
5.1.4物理服務器的優點73
5.1.5物理服務器的缺點73
5.2虛擬化73
5.2.1虛擬機管理程序74
5.2.2並發74
5.2.3存儲74
5.2.4用例74
5.3容器75
5.4 DaaS 75
5.4 .1 DaaS面臨的挑戰76
5.4.2數據庫可靠性工程師與DaaS 76
5.5小結77

第6章基礎設施管理78
6.1版本控制79
6.2配置定義79
6.3基於配置的構建81
6.4維護配置82
6.5基礎設施定義和編排83
6.5.1單一基礎設施定義83
6.5.2垂直拆分84
6.5.3分層(水平定義) 85
6.6驗收測試和合規性86
6.7服務目錄86
6.8完成拼圖87
6.9開發環境88
6.10小結88

第7章備份和恢復89
7.1核心概念90
7.1.1物理與邏輯90
7.1.2在線與離線90
7.1.3全量、增量和差量90
7.2恢復的考量91
7.3恢復場景91
7.3.1計劃內的恢復場景92
7.3.2計劃外的場景93
7.3.3場景的範圍95
7.3.4不同場景的影響95
7.4恢復策略分解96
7.4 .1策略第1步:檢測96
7.4.2策略第2步:分層存儲98
7.4.3策略第3步:多樣的工具集98
7.4.4策略第4步:測試100
7.5既定恢復策略100
7.5.1在線快速存儲的全量備份和增量備份100
7.5.2在線慢速存儲的全量備份和增量備份101
7.5.3離線存儲102
7. 5.4對象存儲103
7.6小結103

第8章發布管理104
8.1培訓與合作104
8.1.1收集並分享相關資訊105
8.1.2促進對話105
8.1.3特定領域知識105
8.1.4協作108
8.2集成108
8.3測試111
8.3.1測試友好的開發實踐111
8.3.2變更簽入後的測試112
8.3.3完整的數據集測試112
8.3.4下游測試113
8.3.5操作測試114
8.4部署114
8.4.1遷移和版本114
8.4.2影響分析115
8.4.3變更模式115
8.4.4手動或自動化118
8.5小結118

第9章安全119
9 .1安全的目標119
9.1.1防止數據被竊119
9.1.2防止故意破壞120
9.1.3防止意外損壞120
9.1.4保護數據免於洩露120
9.1.5合規與審計標準120
9.2數據庫安全即功能121
9.2.1培訓與合作121
9.2.2自助服務122
9.2.3集成和測試122
9.2.4操作可見性123
9 .3漏洞和漏洞利用124
9.3.1 STRIDE 125
9.3.2 DREAD 125
9.3.3基本防禦措施126
9.3.4 DoS攻擊127
9.3.5 SQL注入129
9.3. 6網絡和身份驗證協議131
9.4數據加密131
9.4.1財務數據132
9.4.2個人健康數據132
9.4.3個人隱私數據132
9.4.4軍事數據或政府數據132
9.4.5機密或敏感的業務數據132
9.4.6傳輸中的數據133
9.4.7數據庫中的數據136
9.4.8文件系統中的數據138
9.5小結139

第10章數據存儲、索引和復制141
10.1數據的存儲結構141
10.1.1數據庫行的存儲141
10.1.2 SSTable和LSM樹144
10.1 .3索引146
10.1.4日誌和數據庫147
10.2數據複製148
10.2.1單leader複製148
10.2.2多leader複製158
10.3小結163

第11章數據存儲領域指南164
11.1數據存儲的概念屬性164
11.1.1數據模型165
11.1.2事務167
11.1.3 BASE 171
11.2數據存儲的內部屬性172
11.2.1存儲172
11.2 .2無處不在的CAP理論173
11.2.3一致性與延時的權衡174
11.2.4可用性175
11.3小結176

第12章數據架構示例177
12.1架構組件177
12.1.1前端數據庫177
12.1.2數據訪問層178
12.1.3數據庫代理179
12.1.4事件與消息系統180
12.1.5緩存和內存存儲182
12.2數據架構184
12.2.1 Lambda和Kappa 184
12.2.2事件溯源186
12.2.3 CQRS 186
12.3小結187

第13章數據庫可靠性工程師行為指南188
13.1數據庫可靠性工程文化188
13.1.1突破障礙189
13.1.2數據驅動決策192
13.1.3數據完整性和可恢復性193
13.2小結193

關於作者194
封面介紹194