猜你喜欢
数据库可靠性工程 数据库系统设计与运维指南

数据库可靠性工程 数据库系统设计与运维指南

书籍作者:莱恩·坎贝尔 ISBN:9787115548863
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4757
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

数据是当今企业的宝贵资产,设计、构建并维护数据存储的重要性不言而喻,而技术的快速迭代给数据库可靠性带来了更多挑战,也向数据库管理员提出了更高要求。本书从可靠性这一视角就数据库的构建和运维展开细致讨论。全书内容分为两大部分:前一部分介绍运维基础知识,包括行为准则、服务等级管理、风险管理和运维可见性;后一部分深入研究数据本身,包括基础设施、备份和恢复、安全、存储和复制、架构等。

作者简介

莱恩.坎贝尔(Laine Campbell)是Facebook生产工程总监,曾任Fastly生产工程高级总监,PalominoDB/Blackbird创始人、前CEO,为众多公司提供数据库需求咨询服务,在运行大型数据库和分布式系统方面有近20年经验。
夏丽蒂.梅杰斯(Charity Majors)是Honeycomb公司联合创始人和CTO,曾任Facebook生产工程经理,是一位有15年以上经验的高级系统工程师。

编辑推荐

1.从实践角度介绍如何将网站可靠性工程的实践应用于数据库架构和运维,为想成为数据库可靠性工程师的专业人士提供一个指导框架,开发人员、系统管理员和初中级数据库管理员等都能从中受益。
2.首先介绍数据库可靠性工程师需要掌握的核心运维概念,然后介绍各种数据库持久性选项,包括如何利用关键技术提供有弹性、可扩展、高性能的数据存储和检索。有了数据库可靠性工程的坚实基础,读者便能深入研究任何现代数据库的架构和运维。

-服务等级要求和风险管理
-构建并演进具有运维可见性的架构
-基础设施工程和基础设施管理
-如何推动发布管理流程
-数据存储、索引和复制
-明确数据存储的特性和用例
-数据存储架构组件和数据驱动的架构

目录
序 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
短评

非常完美,棒棒哒,好评(o^^o)满分

2021-01-19 22:03:42

挺薄的一本书,内容也是一些指南,并没有实操。

2021-01-06 22:22:04

放公司图书馆的,很专业

2020-12-24 13:37:36

书的内容不错,纸质不错

2020-12-04 15:02:48

数据库领域的SRE,挺不错的,研发和DBA都适合,买了基本送给同事

2020-11-11 23:27:23

书不错的,一直在购买的

2020-11-13 23:18:08

标签
数据库,计算机科学