Database Reliability Engineering
作者: Laine Campbell and Charity Majors
语言: 英文
出版年份: 2017
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

第1章 数据库可靠性工程简介

  • 核心理念:数据库可靠性工程师(DBRE)需从传统DBA角色转向自动化、工程化运维,强调数据保护、自服务扩展、消除低效工作,并打破开发与运维壁垒。
  • 运维核心:以服务级别目标(SLO)为导向,构建分层需求模型(生存与安全、归属感、尊重、自我实现)。

第2章 服务级别管理

  • 核心指标:定义服务级别目标(SLO)需关注延迟(Latency)、可用性(Availability)、吞吐量(Throughput)、持久性(Durability)和成本效率。
  • 监控与报告:通过端到端监控(真实用户监控与合成监控)实时跟踪SLO达标情况,并结合预测分析提前识别风险。

第3章 风险管理

  • 风险框架:通过识别、评估、分类、控制、优先级排序和持续迭代管理风险,重点关注未知因素、资源可用性、人为与团队因素。
  • 控制策略:避免、减少或接受风险,强调快速恢复(MTTR)而非完全消除故障(MTBF)。

第4章 操作可见性

  • 监控体系:需覆盖应用层(分布式追踪、日志)、主机层(CPU、内存、存储)和数据库层(连接、复制、锁机制),聚焦关键指标(USE方法:利用率、饱和度、错误)。
  • 数据安全:确保数据备份、多副本冗余,并验证恢复流程的有效性。

第5-6章 基础设施工程与管理

  • 基础设施选项:物理服务器(高性能但扩展难)、虚拟化(灵活但I/O延迟高)、容器(轻量但存储挑战大)、DBaaS(便捷但可控性低)。
  • 配置管理:通过版本控制(如Git)和工具(如Chef、Ansible)实现基础设施即代码(IaC),确保配置的幂等性和一致性。
  • 编排与部署:支持水平扩展(分片、功能分区)和垂直扩展,结合服务发现实现动态环境管理。

第7章 备份与恢复

  • 备份策略:区分物理/逻辑备份、在线/离线备份、全量/增量备份,设计分层存储(快速在线存储、慢速存储、离线存储)。
  • 恢复测试:定期验证备份完整性,构建检测、工具多样化、测试驱动的恢复流程。

第8章 发布管理

  • 协作与集成:推动跨团队协作,将数据库变更纳入CI/CD流程,支持自动化迁移与回滚。
  • 测试实践:涵盖提交后测试、全数据集测试、下游影响测试及操作测试。

第9章 安全

  • 核心目标:防止数据盗窃、破坏、意外泄露,并满足合规审计要求。
  • 实践方法:结合教育、自服务工具、集成测试和操作可见性,防范SQL注入、拒绝服务攻击等威胁。

第10-12章 数据存储与架构

  • 存储模型:对比行存储、日志结构合并树(LSM)、索引机制,分析单主/多主复制的优缺点。
  • 架构模式:介绍Lambda/Kappa架构、事件溯源、CQRS等设计模式,强调数据管道与前端存储的协同。

第13章 推动DBRE文化

  • 文化转型:打破部门壁垒,倡导数据驱动决策,通过工具化(如Schemanator)赋能开发团队,构建弹性系统与自动化运维体系。
期待您的支持
捐助本站