第4版权威学习地图
依据第4版完整目录覆盖7个节点:用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营
第4版权威学习地图
本课程对应Silvia Botros、Jeremy Tinley著,宁海元、周振兴、张新铭译《高性能MySQL(第4版)》,电子工业出版社2022年9月出版,纸书344页,ISBN 9787121442575。原版High Performance MySQL: Proven Strategies for Operating at Scale由O'Reilly于2021年11月发布,386页,ISBN 9781492080503。
官方中英文目录确认第4版为13章与附录A、B。课程按15个正式单元逐项重构,不沿用第3版的14章结构,也不复制原文;另设学习地图与总复习,共17页。本页覆盖7个正式节点。
学习目标
- 能解释“第4版权威学习地图”的7个目录节点,并连接到“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”主线。
- 能复现17页学习路线、章节依赖图、MySQL 8.0实验仓和全书验收表,保存MySQL版本、Schema、数据量、配置、负载、预期与实际结果。
- 能比较基线、压力与故障条件,证明“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”。
- 能设计反例推翻“把高性能等同参数调优,跳过用户SLO、查询语义、恢复演练和组织控制”,并给出上线门、回退与独立验收条件。
从用户SLO和一次故障开始
先预测:在30天窗口内,目标请求成功率、P95与P99延迟、允许错误分钟和恢复时间各是多少?再描述本章机制如何影响这些结果。不要先看图表再给故事;先固定服务目标、MySQL版本、数据规模、并发、缓存状态和故障点,实验后才允许用证据修正模型。
本页主问题是“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。最终交付不是一组建议,而是17页学习路线、章节依赖图、MySQL 8.0实验仓和全书验收表,由另一位工程师证明:13章与2附录全部有正式节点、实验基线、失败演练和独立交付物。
核心词汇与运行边界
↡SLO是“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”中的第1个核心概念;必须由版本、负载、机制、反例和指标定义、↡Performance Schema是“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”中的第2个核心概念;必须由版本、负载、机制、反例和指标定义、↡InnoDB是“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”中的第3个核心概念;必须由版本、负载、机制、反例和指标定义、↡GTID是“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”中的第4个核心概念;必须由版本、负载、机制、反例和指标定义、↡RPO是“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”中的第5个核心概念;必须由版本、负载、机制、反例和指标定义 构成本页词汇。每个词都要回答它改变哪个用户指标、由哪个MySQL或基础设施模块实现、在哪个压力或故障边界失效,以及用哪条独立证据发现失效。
第4版目录逐节点映射
架构与可靠性:第1-3章
节点合同 1/7 · 定义用户影响。 先写“架构与可靠性:第1-3章”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“本章服务目标”,下游是“硬件、配置与Schema:第4-6章”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
硬件、配置与Schema:第4-6章
节点合同 2/7 · 固定实验输入。 先写“硬件、配置与Schema:第4-6章”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“架构与可靠性:第1-3章”,下游是“索引与查询:第7-8章”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
索引与查询:第7-8章
节点合同 3/7 · 定位责任层。 先写“索引与查询:第7-8章”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“硬件、配置与Schema:第4-6章”,下游是“复制、恢复与扩展:第9-11章”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
复制、恢复与扩展:第9-11章
节点合同 4/7 · 推演正常路径。 先写“复制、恢复与扩展:第9-11章”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“索引与查询:第7-8章”,下游是“云与合规:第12-13章”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
云与合规:第12-13章
节点合同 5/7 · 注入失败条件。 先写“云与合规:第12-13章”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“复制、恢复与扩展:第9-11章”,下游是“附录A:升级MySQL”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
附录A:升级MySQL
节点合同 6/7 · 收集独立证据。 先写“附录A:升级MySQL”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“云与合规:第12-13章”,下游是“附录B:Kubernetes上的MySQL”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
附录B:Kubernetes上的MySQL
节点合同 7/7 · 定义用户影响。 先写“附录B:Kubernetes上的MySQL”影响的用户请求、MySQL状态和资源,再把它接入“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”。上游是“附录A:升级MySQL”,下游是“本章生产交付物”;若无法解释这条因果关系,术语记忆不能算完成。
在固定MySQL 8.0小型业务库中先预测成功率、实际扫描行、锁或版本、日志位置、资源等待和恢复终点,再只改变一个变量。用“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”验收正常与失败路径,并保存执行计划、Performance Schema摘要、状态变量或业务对账中真正支持结论的部分。
机制推演:从请求到资源与恢复
第4版不再追求从参数中榨取几个百分点,而是把MySQL当可持续运营的数据平台:先理解架构和用户目标,再建立观测,优化硬件、配置、Schema、索引与查询,随后用复制、备份、分片和云服务扩大规模,最终以升级和合规控制闭环。
生产推演始终拆成六层:用户请求与SLO、应用连接和事务、MySQL服务层、InnoDB页锁版本与日志、操作系统及硬件、复制备份和路由。先确定等待发生在哪一层,再选择指标和干预;参数、索引、分片与扩容属于不同层,不能用一个方案覆盖所有症状。
性能证据同时包含工作量和等待。工作量包括每秒请求、实际扫描行、返回字节、日志字节和脏页;等待包括CPU调度、I/O、锁、元数据锁、复制回放与队列。只有延迟下降且结果、持久性和错误预算没有恶化,优化才成立。
可靠性证据必须覆盖最坏时间点。对事务在提交前后崩溃,对副本在接收与应用之间中断,对备份在基线与binlog之间恢复,对分片在路由切换时重试。记录最后确认状态、数据损失上界、恢复步骤、恢复耗时和业务对账,避免把进程重新启动当作服务恢复。
证据解释与独立交接
服务证据固定为什么优化。保存SLI公式、SLO窗口、流量分母、延迟分位数和错误预算燃烧;若用户指标没有改善,底层计数器变漂亮也不能证明价值。缺失采样和维护窗口必须显式处理。
数据库证据解释发生了什么。保存Schema与统计、SQL和参数、计划估计与实际行、锁和版本、redo与binlog位置、状态变量及Performance Schema摘要。重置摘要或重启实例会改变基线,必须记录时间点。
资源证据定位限制。保存CPU利用率与运行队列、内存与交换、磁盘延迟和队列、网络、云盘限额及后台刷新。平均值不能替代分位数和饱和时段,客户端总延迟也不能自动归因于数据库执行。
故障证据证明可恢复。保存故障注入点、最后确认事务、晋升或恢复步骤、RPO/RTO实测、数据对账与旧源隔离。备份任务成功、副本在线或Pod重建都不是业务恢复的充分条件。
本章回顾
重新完成“用SLO和证据驱动从单实例架构、查询优化走向复制、恢复、云与合规运营”:先写SLO和结果合同,按7个目录节点建立因果模型,固定负载,采集基线,只改变一个变量,注入失败并独立对账。最终交付17页学习路线、章节依赖图、MySQL 8.0实验仓和全书验收表,证明“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”。
复习与生产验收
练习
问题 1:为什么“第4版权威学习地图”必须覆盖7个正式节点?
问题 2:本页最小运行不变量是什么?
问题 3:怎样构造最小反例?
问题 4:为什么平均延迟不足以验收优化?
问题 5:可靠性变更怎样验证?
问题 6:独立交接至少包含什么?
名词解释
本章出现的专业名词,用大白话再讲一遍。
- SLO
SLO以“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”为运行边界,并由正常、压力与故障证据共同验证。
- Performance Schema
Performance Schema以“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”为运行边界,并由正常、压力与故障证据共同验证。
- InnoDB
InnoDB以“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”为运行边界,并由正常、压力与故障证据共同验证。
- GTID
GTID以“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”为运行边界,并由正常、压力与故障证据共同验证。
- RPO
RPO以“13章与2附录全部有正式节点、实验基线、失败演练和独立交付物”为运行边界,并由正常、压力与故障证据共同验证。