面向已经掌握 TiDB 基本概念和具备基础运维能力的 DBA 、数据库开发人员和架构师,希望全面掌握和深度使用 TiDB,并以此谋求更高职业发展。
PCTP(PingCAP Certified TiDB Professional)是 PingCAP 公司认证 TiDB 数据库专家的缩写。 PCTP 要求具备管理大型分布式关系型数据库集群的能力。 PCTP 需要学习并熟练掌握 TiDB 的深度原理及高级 Feature、性能调优、SQL 优化、故障排除和高可用架构等进阶内容。 要成为 PCTP 必须先获得 PCTA 认证。
PCTP 考试为远程在线考试,考试时长 90 分钟,共 70 道题(单选 35 道,多选 35 道,每题 1 分)满分 70 分,42 分为及格 (通过线以答题正确率 60% 为基准,根据试卷难度系数,略有小幅波动)
| 一级大纲 | 二级大纲 | 三级大纲 |
|---|---|---|
| 深入 TiDB 体系架构 | TiDB 数据库架构概述 | TiDB Server |
| TiKV | ||
| PD(Placement Driver) | ||
| TiFlash | ||
| TiDB Server | TiDB Server 架构 | |
| TiDB Server 主要功能 | ||
| SQL 语句的解析和编译 | ||
| 关系型数据与 KV 的转化 | ||
| SQL 读写相关模块 | ||
| 在线 DDL 相关模块 | ||
| GC 机制与相关模块 | ||
| TiDB Server 的缓存 | ||
| TiKV | TiKV 架构和作用 | |
| RocksDB | ||
| 分布式事务 | ||
| MVCC | ||
| Raft | ||
| 数据的写入 | ||
| 数据的读取 | ||
| Coprocessor | ||
| PD (Placement Driver) | PD(Placement Driver)架构 | |
| PD(Placement Driver)主要功能 | ||
| 路由功能 | ||
| TSO 分配 | ||
| 调度 | ||
| Label | ||
| TiDB 数据库 SQL 执行流程 | DDL 流程 | |
| SQL 的 Parse 与 Compile | ||
| 读取的执行 | ||
| 写入的执行 | ||
| DDL 的执行 | ||
| TiDB 数据库 schema 设计 | TiDB 数据库表结构设计 | 数据对象 |
| Schema 的设计 | ||
| Schema 的限制 | ||
| Schema 设计建议 | ||
| TiDB 数据库索引设计 | 索引的 KV 映射原理 | |
| 索引的设计 | ||
| 运维技巧 | ||
| TiDB 数据库系统表使用 | TiDB 系统表存储位置 | |
| INFORMATION_SCHEMA 数据库 | ||
| 系统慢日志查询 | ||
| 系统读写热点查询 | ||
| SQL 阻塞查询 | ||
| TiDB 数据库 HTAP 技术 | TiDB 数据库 HTAP 概述 | HTAP 技术 |
| OLTP 与 OLAP | ||
| TiDB 的 HTAP 架构 | ||
| TiDB 的 HTAP 特性 | ||
| MPP | ||
| TiFlash | TiFlash 架构 | |
| TiFlash 核心特性 | ||
| TiFlash 部署 | ||
| TiFlash 使用 | ||
| TiDB 数据库事务设计 | 分布式事务基本原理 | 事务定义 |
| 隔离级别 | ||
| 事务在分布式系统的挑战 | ||
| TCC | ||
| Saga | ||
| 2PC(Two-Phase Commit) | ||
| Percolator 事务模型原理 | Percolator 背景 | |
| 快照隔离级别 (Snapshot Isolation) | ||
| 分布式时钟 | ||
| Percolator 事务执行流程 | ||
| TiDB 数据库事务的实现与优化 | 事务在 TiDB 中的存储 | |
| 事务执行过程 | ||
| TiDB 数据库悲观锁 | ||
| 事务的去中心化 | ||
| TiDB 数据库的锁 | ||
| 写偏斜(write skew) | ||
| TiDB 数据库查询优化 | TiDB 优化器原理 | TiDB 优化器架构 |
| 理解优化器预处理优化的方法 | ||
| 逻辑优化 | ||
| 物理优化 | ||
| 理解执行计划 | 查看执行计划 | |
| 管理执行计划 | ||
| 统计信息管理 | 统计信息原理 | |
| 统计信息收集方法 | ||
| 导入导出统计信息方法 | ||
| 基于索引的优化 | 索引管理的方法 | |
| 增加索引对于线上业务的影响 | ||
| 索引扫描的方式 | ||
| 索引选择的规则 | ||
| TiDB SQL 优化实战 | 问题 SQL 与慢 SQL 的定位 | |
| DML 语句优化 | ||
| 基于执行计划的优化 | ||
| TiDB 数据库系统优化 | TiDB Server 关键性能参数与优化 | 操作系统参数 |
| TiDB Configuration | ||
| TiDB System Variables | ||
| PD 关键性能参数与优化 | PD 调度基本概念 | |
| 调度流程 | ||
| 调度 limit 参数 | ||
| 存储空间阈值参数 | ||
| pd-ctl 基本操作 | ||
| 常见问题的处理 | ||
| TiKV 关键性能参数与优化 | TiKV 主要模块和线程 | |
| TiKV 数据写入流程 | ||
| 写入瓶颈分析 | ||
| 写入参数优化 | ||
| TiKV 数据读取流程 | ||
| 读取瓶颈分析 | ||
| 读取参数优化 | ||
| 常见问题处理 | ||
| TiDB 集群常用监控指标 | TiDB Server 相关监控 | |
| TiKV 相关监控 | ||
| PD 相关监控 | ||
| 重要告警项 | ||
| TiDB 数据库故障处理 | 数据丢失快速恢复 | 数据丢失快速恢复的重要性 |
| TiDB 快速恢复与其他恢复技术对比 | ||
| TiDB 数据快速恢复原理 | ||
| 数据恢复前置条件 -- GC | ||
| 数据快速恢复操作方式 | ||
| 设置 tidb_snapshot 参数来读取历史数据 | ||
| FLASHBACK TABLE | ||
| RECOVER TABLE | ||
| dumpling --snapshot | ||
| 数据库 OOM 问题诊断及处理之 TiDB Server | TiDB Server OOM 的诊断方法 | |
| 造成 TiDB Server OOM 的原因 | ||
| Grafana TiDB-Runtime 监控 | ||
| 定位内存占用大的 SQL | ||
| TiDB Dashboard 慢查询 | ||
| TiDB Dashboard SQL 语句分析 | ||
| TiDB Server 日志 -- expensive query | ||
| 缓解 TiDB Server OOM 的措施 | ||
| 数据库 OOM 问题诊断及处理之 TiKV | TiKV Server OOM 的诊断方法 | |
| 造成 TiKV Server OOM 的原因 | ||
| 数据库热点诊断及处理 | 为什么要解决热点 | |
| 形成写热点的原因 | ||
| 形成读热点的原因 | ||
| 定位热点 | ||
| 写热点打散 | ||
| 读热点打散 | ||
| PD 调度常见问题诊断及处理 | 调度的产生与执行 | |
| 常见的调度类型 | ||
| 调度的控制 | ||
| PD 调度典型场景 | ||
| TiDB 数据库写入慢常见处理方式 | 写入慢排查思路 | |
| TiDB 数据库读取慢常见处理方式 | 读取慢排查思路 | |
| TiDB 数据库高可用设计 | TiDB 数据库高可用概述 | 计划外系统不可用原因 |
| 计划内系统不可用原因 | ||
| TiDB 系统不可用解决方案 | ||
| 高可用的评判指标 | ||
| TiDB Server 的高可用特性 | ||
| TiKV 的高可用特性 | ||
| PD 的高可用特性 | ||
| CAP 与 TiDB | ||
| TiDB 数据库的高可用特性 | ||
| TiDB 数据库常用高可用架构 | 高可用架构设计中考虑的问题 | |
| 同城三中心架构 | ||
| 同城两中心架构 | ||
| 两地三中心架构 | ||
| 异步复制 | ||
| 集群升级方案 |