数据库可靠性工程数据库系统设计与运维指南
出版时间:
2020-11
版次:
1
ISBN:
9787115548863
定价:
89.00
装帧:
平装
开本:
其他
页数:
212页
字数:
289千字
7人买过
-
数据是当今企业的宝贵资产,设计、构建并维护数据存储的重要性不言而喻,而技术的快速迭代给数据库可靠性带来了更多挑战,也向数据库管理员提出了更高要求。本书从可靠性这一视角就数据库的构建和运维展开细致讨论。全书内容分为两大部分:前一部分介绍运维基础知识,包括行为准则、服务等级管理、风险管理和运维可见性;后一部分深入研究数据本身,包括基础设施、备份和恢复、安全、存储和复制、架构等。 莱恩.坎贝尔(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
-
内容简介:
数据是当今企业的宝贵资产,设计、构建并维护数据存储的重要性不言而喻,而技术的快速迭代给数据库可靠性带来了更多挑战,也向数据库管理员提出了更高要求。本书从可靠性这一视角就数据库的构建和运维展开细致讨论。全书内容分为两大部分:前一部分介绍运维基础知识,包括行为准则、服务等级管理、风险管理和运维可见性;后一部分深入研究数据本身,包括基础设施、备份和恢复、安全、存储和复制、架构等。
-
作者简介:
莱恩.坎贝尔(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
查看详情
-
全新
广东省广州市
平均发货17小时
成功完成率93.9%
-
2
全新
广东省广州市
平均发货16小时
成功完成率93.64%
-
全新
广东省广州市
平均发货18小时
成功完成率95.74%
-
全新
广东省广州市
平均发货18小时
成功完成率96.09%
-
全新
湖北省武汉市
平均发货24小时
成功完成率81.03%
-
2
全新
广东省广州市
平均发货16小时
成功完成率93.34%
-
全新
北京市朝阳区
平均发货14小时
成功完成率95.67%
-
九品
北京市东城区
平均发货21小时
成功完成率90.66%
-
九品
北京市昌平区
平均发货23小时
成功完成率87.43%
-
九品
北京市海淀区
平均发货19小时
成功完成率91.39%
-
全新
湖南省长沙市
平均发货33小时
成功完成率83.31%
-
全新
湖北省武汉市
平均发货20小时
成功完成率90.24%
-
全新
北京市朝阳区
平均发货18小时
成功完成率83.82%
-
全新
江苏省南京市
平均发货20小时
成功完成率77.74%
-
全新
湖北省武汉市
平均发货25小时
成功完成率91.63%
-
全新
北京市朝阳区
平均发货14小时
成功完成率93.62%
-
2
全新
浙江省嘉兴市
平均发货14小时
成功完成率93.28%
-
全新
浙江省嘉兴市
平均发货9小时
成功完成率93.61%
-
全新
北京市西城区
平均发货20小时
成功完成率91.14%
-
2
全新
广东省广州市
平均发货8小时
成功完成率94.4%
-
全新
山东省泰安市
平均发货22小时
成功完成率92.5%
-
九五品
河北省廊坊市
平均发货11小时
成功完成率92.08%
-
全新
北京市丰台区
平均发货8小时
成功完成率90.66%
-
全新
北京市东城区
平均发货10小时
成功完成率96.58%
-
5
全新
北京市丰台区
平均发货26小时
成功完成率84.2%
-
全新
天津市西青区
平均发货14小时
成功完成率91.56%
-
全新
山东省泰安市
平均发货25小时
成功完成率88.14%
-
全新
北京市通州区
平均发货9小时
成功完成率92.51%
-
全新
北京市西城区
平均发货17小时
成功完成率91.44%
-
全新
广东省广州市
平均发货10小时
成功完成率93.05%
-
全新
山东省泰安市
平均发货8小时
成功完成率92.14%
-
全新
北京市海淀区
平均发货9小时
成功完成率88.56%
-
全新
北京市通州区
平均发货14小时
成功完成率93.62%
-
全新
天津市河东区
平均发货21小时
成功完成率91.34%
-
全新
江苏省南京市
平均发货20小时
成功完成率77.74%
-
全新
江苏省无锡市
平均发货14小时
成功完成率93.91%
-
全新
天津市西青区
平均发货20小时
成功完成率84.91%
-
全新
北京市东城区
平均发货24小时
成功完成率81.61%
-
全新
江苏省无锡市
平均发货7小时
成功完成率96.38%
-
全新
江苏省南京市
平均发货10小时
成功完成率91.73%
-
全新
江苏省无锡市
平均发货10小时
成功完成率91.73%
-
全新
江苏省无锡市
平均发货7小时
成功完成率96.66%
-
全新
广东省广州市
平均发货16小时
成功完成率84.85%
-
全新
北京市朝阳区
平均发货14小时
成功完成率93.62%
-
全新
四川省成都市
平均发货19小时
成功完成率86.59%
-
全新
北京市通州区
平均发货10小时
成功完成率89.97%
-
全新
江苏省无锡市
平均发货8小时
成功完成率95.55%
-
全新
北京市通州区
平均发货10小时
成功完成率91.4%
-
2
全新
河北省保定市
平均发货15小时
成功完成率88.13%
-
2
全新
江苏省无锡市
平均发货11小时
成功完成率92.59%