数据库可靠性工程:数据库系统设计与运维指南
Laine Campbell, Charity Majors
张海深, 夏梦禹, 林建桂 译
出版时间:2020年11月
页数:194
信息技术领域的基础设施即代码革命正在影响着数据库管理。本书从实践角度介绍如何将网站可靠性工程的实践应用于数据库架构和运维,为想成为数据库可靠性工程师的专业人士提供一个指导框架,开发人员、系统管理员和初中级数据库管理员等都能从中受益。
本书首先介绍数据库可靠性工程师需要掌握的核心运维概念,然后介绍各种数据库持久性选项,包括如何利用关键技术提供有弹性、可扩展、高性能的数据存储和检索。有了数据库可靠性工程的坚实基础,读者便能深入研究任何现代数据库的架构和运维。
● 服务等级要求和风险管理
● 构建并演进具有运维可见性的架构
● 基础设施工程和基础设施管理
● 如何推动发布管理流程
● 数据存储、索引和复制
● 明确数据存储的特性和用例
● 数据存储架构组件和数据驱动的架构
  1. 前言 
  2. 第1章 数据库可靠性工程介绍 
  3. 1.1 数据库可靠性工程师的指导原则 
  4. 1.1.1 保护数据 
  5. 1.1.2 大量自助服务 
  6. 1.1.3 消除琐事 
  7. 1.1.4 数据库并不特殊 
  8. 1.1.5 消除软件和运维之间的障碍
  9. 1.2 运维核心概述
  10. 1.3 需求层次 
  11. 1.3.1 生存和安全
  12. 1.3.2 爱和归属感 
  13. 1.3.3 尊重
  14. 1.3.4 自我实现 
  15. 1.4 小结 
  16. 第2章 服务等级管理
  17. 2.1 为何需要SLO 
  18. 2.2 服务等级指标 
  19. 2.2.1 延时 
  20. 2.2.2 可用性 
  21. 2.2.3 吞吐量 
  22. 2.2.4 持久性 
  23. 2.2.5 成本或效率 
  24. 2.3 定义服务目标 
  25. 2.3.1 延时指标 
  26. 2.3.2 可用性指标 
  27. 2.3.3 吞吐量指标 
  28. 2.4 SLO的监控和报告 
  29. 2.4.1 可用性监控 
  30. 2.4.2 延时监控 
  31. 2.4.3 吞吐量监控 
  32. 2.4.4 监控成本和效率 
  33. 2.5 小结 
  34. 第3章 风险管理 
  35. 3.1 风险考量因素 
  36. 3.1.1 未知因素和复杂性 
  37. 3.1.2 可用资源 
  38. 3.1.3 人为因素 
  39. 3.1.4 团队因素 
  40. 3.2 可以做什么 
  41. 3.3 不可以做什么 
  42. 3.4 工作流程:初始版本 
  43. 3.4.1 服务风险评估 
  44. 3.4.2 架构清单 
  45. 3.4.3 优先级 
  46. 3.4.4 风险控制和决策制定 
  47. 3.5 持续迭代 
  48. 3.6 小结 
  49. 第4章 操作可见性 
  50. 4.1 操作可见性的新规则 
  51. 4.1.1 把操作可见性视为商业智能系统 
  52. 4.1.2 分布式易失环境成为趋势 
  53. 4.1.3 高频存储关键度量值 
  54. 4.1.4 保持架构简洁 
  55. 4.2 操作可见性框架 
  56. 4.3 数据输入 
  57. 4.3.1 遥测/度量值 
  58. 4.3.2 事件 
  59. 4.3.3 日志 
  60. 4.4 数据输出 
  61. 4.5 监控的初始版本 
  62. 4.5.1 数据安全吗 
  63. 4.5.2 服务运行正常吗 
  64. 4.5.3 用户受影响了吗 
  65. 4.6 度量应用程序 
  66. 4.6.1 分布式追踪 
  67. 4.6.2 事件与日志 
  68. 4.7 度量服务器或实例 
  69. 4.8 度量数据存储 
  70. 4.9 数据存储连接层 
  71. 4.9.1 利用率
  72. 4.9.2 饱和度 
  73. 4.9.3 错误 
  74. 4.10 数据库内部可见性 
  75. 4.10.1 吞吐量和延时度量值 
  76. 4.10.2 提交、重做和日志 
  77. 4.10.3 复制状态 
  78. 4.10.4 内存结构 
  79. 4.10.5 锁与并发 
  80. 4.11 数据库对象 
  81. 4.12 数据库查询 
  82. 4.13 数据库报警和事件 
  83. 4.14 小结 
  84. 第5章 基础设施工程 
  85. 5.1 主机 
  86. 5.1.1 物理服务器 
  87. 5.1.2 系统或内核的运维 
  88. 5.1.3 存储区域网络 
  89. 5.1.4 物理服务器的优点 
  90. 5.1.5 物理服务器的缺点 
  91. 5.2 虚拟化 
  92. 5.2.1 虚拟机管理程序 
  93. 5.2.2 并发 
  94. 5.2.3 存储 
  95. 5.2.4 用例 
  96. 5.3 容器 
  97. 5.4 DaaS 
  98. 5.4.1 DaaS面临的挑战
  99. 5.4.2 数据库可靠性工程师与DaaS 
  100. 5.5 小结 
  101. 第6章 基础设施管理 
  102. 6.1 版本控制 
  103. 6.2 配置定义 
  104. 6.3 基于配置的构建 
  105. 6.4 维护配置 
  106. 6.5 基础设施定义和编排 
  107. 6.5.1 单一基础设施定义 
  108. 6.5.2 垂直拆分 
  109. 6.5.3 分层(水平定义) 
  110. 6.6 验收测试和合规性 
  111. 6.7 服务目录 
  112. 6.8 完成拼图 
  113. 6.9 开发环境 
  114. 6.10 小结 
  115. 第7章 备份和恢复 
  116. 7.1 核心概念 
  117. 7.1.1 物理与逻辑 
  118. 7.1.2 在线与离线 
  119. 7.1.3 全量、增量和差量 
  120. 7.2 恢复的考量 
  121. 7.3 恢复场景 
  122. 7.3.1 计划内的恢复场景 
  123. 7.3.2 计划外的场景 
  124. 7.3.3 场景的范围 
  125. 7.3.4 不同场景的影响 
  126. 7.4 恢复策略分解 
  127. 7.4.1 策略第1步:检测 
  128. 7.4.2 策略第2步:分层存储 
  129. 7.4.3 策略第3步:多样的工具集 
  130. 7.4.4 策略第4步:测试 
  131. 7.5 既定恢复策略 
  132. 7.5.1 在线快速存储的全量备份和增量备份 
  133. 7.5.2 在线慢速存储的全量备份和增量备份 
  134. 7.5.3 离线存储 
  135. 7.5.4 对象存储 
  136. 7.6 小结 
  137. 第8章 发布管理 
  138. 8.1 培训与合作 
  139. 8.1.1 收集并分享相关资讯 
  140. 8.1.2 促进对话 
  141. 8.1.3 特定领域知识 
  142. 8.1.4 协作 
  143. 8.2 集成 
  144. 8.3 测试 
  145. 8.3.1 测试友好的开发实践 
  146. 8.3.2 变更签入后的测试 
  147. 8.3.3 完整的数据集测试 
  148. 8.3.4 下游测试 
  149. 8.3.5 操作测试 
  150. 8.4 部署 
  151. 8.4.1 迁移和版本 
  152. 8.4.2 影响分析 
  153. 8.4.3 变更模式 
  154. 8.4.4 手动或自动化 
  155. 8.5 小结 
  156. 第9章 安全 
  157. 9.1 安全的目标 
  158. 9.1.1 防止数据被窃 
  159. 9.1.2 防止故意破坏 
  160. 9.1.3 防止意外损坏 
  161. 9.1.4 保护数据免于泄露 
  162. 9.1.5 合规与审计标准 
  163. 9.2 数据库安全即功能 
  164. 9.2.1 培训与合作 
  165. 9.2.2 自助服务 
  166. 9.2.3 集成和测试 
  167. 9.2.4 操作可见性 
  168. 9.3 漏洞和漏洞利用 
  169. 9.3.1 STRIDE 
  170. 9.3.2 DREAD 
  171. 9.3.3 基本防御措施 
  172. 9.3.4 DoS攻击 
  173. 9.3.5 SQL注入 
  174. 9.3.6 网络和身份验证协议 
  175. 9.4 数据加密 
  176. 9.4.1 财务数据 
  177. 9.4.2 个人健康数据 
  178. 9.4.3 个人隐私数据 
  179. 9.4.4 军事数据或政府数据 
  180. 9.4.5 机密或敏感的业务数据 
  181. 9.4.6 传输中的数据 
  182. 9.4.7 数据库中的数据 
  183. 9.4.8 文件系统中的数据 
  184. 9.5 小结 
  185. 第10章 数据存储、索引和复制 
  186. 10.1 数据的存储结构 
  187. 10.1.1 数据库行的存储 
  188. 10.1.2 SSTable和LSM树 
  189. 10.1.3 索引 
  190. 10.1.4 日志和数据库 
  191. 10.2 数据复制 
  192. 10.2.1 单leader复制 
  193. 10.2.2 多leader复制 
  194. 10.3 小结 
  195. 第11章 数据存储领域指南 
  196. 11.1 数据存储的概念属性 
  197. 11.1.1 数据模型 
  198. 11.1.2 事务 
  199. 11.1.3 BASE 
  200. 11.2 数据存储的内部属性 
  201. 11.2.1 存储 
  202. 11.2.2 无处不在的CAP理论 
  203. 11.2.3 一致性与延时的权衡 
  204. 11.2.4 可用性 
  205. 11.3 小结 
  206. 第12章 数据架构示例 
  207. 12.1 架构组件 
  208. 12.1.1 前端数据库 
  209. 12.1.2 数据访问层 
  210. 12.1.3 数据库代理 
  211. 12.1.4 事件与消息系统 
  212. 12.1.5 缓存和内存存储 
  213. 12.2 数据架构 
  214. 12.2.1 Lambda和Kappa 
  215. 12.2.2 事件溯源 
  216. 12.2.3 CQRS 
  217. 12.3 小结 
  218. 第13章 数据库可靠性工程师行为指南 
  219. 13.1 数据库可靠性工程文化 
  220. 13.1.1 突破障碍 
  221. 13.1.2 数据驱动决策 
  222. 13.1.3 数据完整性和可恢复性 
  223. 13.2 小结 
  224. 关于作者 
  225. 封面介绍 
书名:数据库可靠性工程:数据库系统设计与运维指南
译者:张海深, 夏梦禹, 林建桂 译
国内出版社:人民邮电出版社
出版时间:2020年11月
页数:194
书号:978-7-115-54886-3
原版书书名:Database Reliability Engineering
原版书出版商:O'Reilly Media
Laine Campbell
 
莱恩·坎贝尔(Laine Campbell)是Facebook生产工程总监,曾任Fastly生产工程高级总监,PalominoDB/Blackbird创始人、前CEO,为众多公司提供数据库需求咨询服务,在运行大型数据库和分布式系统方面有近20年经验。
 
 
Charity Majors
 
夏丽蒂·梅杰斯(Charity Majors)是Honeycomb公司联合创始人和CTO,曾任Facebook生产工程经理,是一位有15年以上经验的高级系统工程师。
 
 
购买选项
定价:89.00元
书号:978-7-115-54886-3
出版社:人民邮电出版社