TiDB认证之PCTP
考试对象
即将或已经从事 DBA 、架构师等职位的人员,希望掌握和使用 TiDB,并以此谋求更高职业发展。
考核⽬目标与要求
PCTP(PingCAP Certified TiDB Professional)是 PingCAP 公司认证 TiDB 数据库专家的缩写。PCTP 要求具备管理大型分布式关系型数据库集群的能力。PCTP 需要学习并熟练掌握 TiDB 的深度原理及高级 Feature、性能调优、SQL 优化、Trouble Shooting 等进阶内容。要成为 PCTP 必须先获得 PCTA 认证。
考试范围(理论考试 +上机实操考试)
PCTP 高级进阶篇 - 理论笔试
考试形式和计分规则:
- 指定考试中心集中进行在线考试;
- 考试时长 75 分钟,共 70 道题;
PCTP 理论考试范围:
一、TiDB 计算内核体系
- TiDB Server
- TiDB Server 概览
- TiDB Server 的启动、停止
- 对 TiDB Server 启动有影响的启动参数和它们的作用
- 怎么知道 TiDB 已经启动成功了?
- 集群里不同 TiDB 有什么区别?怎么找到 DDL/Stats/GC 的 owner?
- 客户端连接管理
- 几种常见的连接方式(客户端/JDBC)/(TCP/Unix Socket)
- SSL 的配置
- 创建连接时,TiDB 都做了哪些工作?
- 权限管理
- Token Limit 的作用
- TCP Keep Alive 的作用
- prepare/execute 使用不同协议时的区别
- 如何关闭连接
- 常用对外端口
- TiDB Parser
- Parser 基本原理
- Parser 相关问题处理
- 什么样的错误是 Parser 报错?
- Parser 报错信息怎么解读?
- TiDB 关系型模型原理
- TiDB 中表的分类
- 物理表
- Information Schema
mysql
database
- 关系型模型到 KV 的映射关系
- Table Partition
- TiDB Table Partition 的原理
- 支持的 partition 类型
- DML 原理
- 数据写入原理
- 数据读取原理
- Misc.
- 几种不同的 Insert 语句语义区别
- Replace 和 Insert on duplicate 的区别
- 何时检测冲突?Insert 语句的 lazy check
- 怎么改写语句让执行更快?
- DDL 原理
- TiDB DDL 概述
- TiDB drop table,truncate table,add column 等操作原理
- TiDB DDL 问题诊断以及工具
- TiDB Add index 操作原理以及调优
二、TiKV 存储内核体系
- TiKV 整体架构
- 存储引擎
- RocksDB 介绍及主要特性
- Column family 介绍
- LSM 原理及优缺点
- Compaction 原理
- RocksDB 数据写入流程
- Key Value 分离 Titan 的设计与实现
- RocksDB 主要参数介绍
- Raft 复制
- Raft 介绍及主要特性
- Raft 各个角色及内部机制
- Raft 在 TiKV 中的使用
- TiKV 自动分片机制(Region)
- Multi - Raft 设计与实现
- Raft 与 Paxos
- TiKV 中的 Raft 读写流程
- Coprocessor
- 算子下推
- 执行引擎模型
- Placement Driver 调度内核体系
- ETCD 原理介绍
- TiKV 元信息及管理
- 节点,region
- 元信息上报流程
- PD 调度算法
- 调度策略解析
- Region 迁移过程
- 如果通过打 label 来增加调度策略
- Region Split、Merge
- 如何通过 pd-ctl 管理集群
三、生态工具原理
- MySQL 数据同步到 TiDB 解决方案
- DM 设计原理
- DM 设计原理
- DM 功能介绍
- DM 数据同步处理单元设计原理
- Relay log 实现原理
- Binlog Replication 同步原理
- Sharding DDL的实现与 checkpoint 机制
- 常见错误和异常场景
- 常见问题排查手段(不兼容 DDL 处理,借助 checkpoint 定位同步状态等)
- 同步异常定位和处理方法(sharding DDL 阻塞,relay-log 异常,同步连接中断等问题
- TiDB 数据输出订阅解决方案
- TiDB-Binlog 实现原理
- TiDB binlog 概览
- Pump 设计和实现
- Drainer 设计和实现
- Binlog 运维
- pump/drainer 下线
- Binlog 日志和监控详解
- 常见的问题和处理手段
- TiDB 数据物理加载解决方案
- Background
- Why TiDB Lightning was created
- Characteristics of TiDB Lightning
- Import Process
- Import mode
- Core import process (Lightning, Importer)
- Post-process (Checksum, Analyze, Auto-inc ID)
- Deployment
- Hardware requirement
- Configurations
- Extra Features
- Table filter
- Checkpoints
- Monitoring
- Introducing Grafana panels
四、事务
- 数据库事务概述
- 事务概念介绍
- OCC
- 常见主流数据库的事务隔离级别及其行为介绍(MySQL、Postgres、CockroachDB)
- TiDB 支持的事务隔离级别及其行为介绍
- MySQL Repeatable Read 与 TiDB 的区别
- 两阶段提交
- 分布式事务原理
- Percolator 的原理
- 简介
- 写入过程
- 读取过程
- TiDB 事务原理
- TiDB 怎么写入
- TiDB 怎么读取
- TiDB 如何清理锁
- TiDB 事务处理
- SQL 事务
- 事务启动
- 事务中的DML
- 语句提交和回滚
- 事务提交和回滚
- 常见提交错误
- 写冲突处理
- 读写冲突处理
- 网络超时处理
- 事务重试处理
- 事务重试问题和实现
- 重试行为控制
- 重试相关日志和监控
- select for update 处理
- TiDB 和其他数据库处理区别
- 处理 can not retry select for update
五、系统性能优化
- TiDB Server 性能相关原理
- TiDB 常见系统负载
- 读、写后台处理流程及主要性能瓶颈
- 读热点及解决思路
- 写热点及解决思路
- TiDB Server 性能相关监控
- 主要的性能相关参数
- TiKV 性能相关原理
- 写入瓶颈分析和优化
- 数据在 TiKV 中的读取流程及常见瓶颈
- 读取瓶颈分析和优化及常见瓶颈
- RocksDB 性能优化
- RocksDB 主要的性能相关参数
- 集群系统负载
- 常见 OS 负载处理
- 性能定位 trace
- 常见性能优化 Case study
- Sysbench 压测演练
- 读热点定位和处理演练
- 写热点定位和处理演练
- 慢查询定位和处理演练
- 其他瓶颈定位演练
六、SQL 优化
- 查询优化器原理
- TiDB Logical Optimization,列举现有的优化规则
- TiDB Physical Optimization,举例讲解物理优化过程中的 task type, expected row count, data order 等等物理属性
- TiDB Ranger:Filter 条件如何构造成 Key Ranges
- TiDB Plan Cache for Prepared statements
- TiDB Statistics
- 直方图和 CM-Sketch 详细介绍,Selectivity 估算原理
- Analyze Table 语句如何更新直方图和 CM-Sketch
- Query Feedback 工作原理
- TiDB Execution Engine
- Chunk 和 TiDB 向量化执行引擎原理介绍
- TiDB 的表达式计算:向量化原理+SQL Mode Behaviors
- 表关联算法
- Hash Join, Merge Join
- Index Join, NestedLoopApply
- 其他算子
- TiDB 的 Aggregate 算法:Hash Aggregate, Stream Aggregate
- TIDB 的 Readers:IndexReader, TableReader, IndexLookupReader
- TiDB Insert/Update/Delete/Replace implementations
- DistSQL 中 Cop 请求如何发送的,CopIterator 如何工作的
- Elastic OLTP&OLAP, Batch Size Control
- SQL 执行计划
- 如果查看执行计划
- 执行计划解读
- CBO 模型
- 驱动表
- 数据寻址算法
- 索引原理
- 索引使用
- SQL 优化实践
七、高可用及容灾
- 高可用与思考(误区)
- 基于 Raft 协议高可用(组件特性)
- 基于 Binlog 数据备份同步架构
- 高可用实操
PCTP 高级进阶篇 - 上机实操考试
考试形式和计分规则:
- 指定考试中心集中上机考试,指定用机和云环境
- 考试时长 90 分钟
- 主要考核针对不同场景进行系统调优、SQL 优化、Trouble Shooting 等操作,强调解决问题的能力
- 考试期间需要将过程命令行及结果截图复制在指定文档上;考试期间对操作步骤进行录屏
考试环境:
- 官方考试用机为 UCloud 云环境 8-9 台 CPU:2C,内存:4G,磁盘:50G
考试题目举例:
TiKV 损坏场景恢复
场景:模拟多数 TiKV 损坏场景的 TiDB 集群恢复操作,在一套正常运行的集群下,手动删除其中两个 TiKV 部署目录、kill tikv-server 进程,进行灾难恢复
要求:写下具体操作步骤,并将命令返回的结果截图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏