【经验分享】2023年1月PCTA & 2月PCTP考试分享

Ch1 技术能力介绍

先介绍个人背景,给大家一个标尺。CS专业,个人之前做过几年开发,也使用过几个数据库。后来做过几年架构师,了解市场上的各种分布式产品。然后有几年不怎么做具体技术了。22年底的时候开始接触TiDB数据库,感觉比较有意思。通过自学考了PCTA V6和PCTP V6的认证。

Ch2 学习方法

2.1 主要内容

学习TiDB相对还是比较容易的,主要的学习内容包括:

  • 视频课程:基本上课程质量都比较好,核心课程101和303(V6)。
  • 官网文档:https://docs.pingcap.com/zh/tidb/stable ,这个非常重要。因为学习期间的时候熟悉了文档和文档结构,更便于真正使用过程中去查询文档。
  • 社区:包括官网博客:https://cn.pingcap.com/blog/ ,里面有一些文章质量是很高的,可以和官网结合看。社区技术月刊 https://tidb.net/book/tidb-monthly/ ,可以看看其他使用者的一些经验。
  • 分布式论文:可以参考PingCAP的github完整,有大量相关的论文和书籍整理,https://github.com/pingcap/awesome-database-learning 。作为扩展学习用途。
  • 实验:数据库是实操课程,需要实验环境去熟悉命令,特别是PCTP认证。

2.2 具体的科目学习和考试考试特点

2.2.1 PCTA学习经验:

  • 以考试为目的的学习:建议就看101课程就好,仔细看完1-2遍,然后再复习一下重点内容就可以去考试,根据每个人的学习能力决定一次性的通过率。

  • 以学习为目的,考试只是手段的:建议看如下的三门课程 + 官方博客 + 论文(可选)。

  • 其他学习材料:

    • 建议可以看看官方的博客,https://cn.pingcap.com/blog/ ,可以找关于原理的内容浏览一下,特别是《三篇文章了解 TiDB 技术内幕》
    • 高级扩展部分】TiDB的数据库架构相比其他的数据库,如MySQL,Oracle等不太一样。TiDB使用了很多分布式概念,而分布式本来就是一个难点。在学习TiDB过程中需要了解Spanner / F1,Raft,LSM结构,RocksDB,Percolator事务等。如果不太熟悉这个领域,建议101看两遍。如果学有余力,建议去阅读一下Spanner / F1,Raft,LSM的论文原文,或者在知乎上看中文翻译或者论文分析。特别是数据库的从业者,建议看看论文。

2.2.2 PCTP学习经验:

  • 到了这个阶段,应该不存在以考试为目的的学习者了,更多是真正想深入了解TiDB数据库。PCTP的主要内容也侧重于DBA的日常工作,包括集群管理,备份和恢复,数据迁移和同步,另外就是高可用方案。如果是普通学生可以不用考这个PCTP认证,但是还是强烈建议学习一下303课程。

  • 另外V5和V6的PCTP范围差异比较大,V5的版本范围更宽,要求也更高。V6的版本更侧重于实操。

  • 以学习为目的,考试只是手段的:建议看如下的一门课程 + 官网文档 + 社区技术月刊 + 实验。

    • TiDB 数据库管理 [TiDB v6.1](303)https://learn.pingcap.com/learner/course/1110001
    • 303课程内容比较长,甚至可以说太长,建议看一遍就好。但是涉及到的实验都需要完成,甚至多做几遍实验去加深理解。实验环境建议在公有云上搭建一个最小版本的环境。
    • 另外TiDB Cloud可以去试用一下,加深对于DBaaS的理解(不必须)。
  • 其他学习材料:

    • 官网文档:强烈推荐大家要熟悉这个工具,基本上的产品内容都可以在这里找到。对于PCTP考试,建议快速浏览一下如下部分内容:部署标准集群、数据迁移、运维操作、监控与告警、教程、TiDB工具(官网左侧目录一级目录)。另外数据库安全方面的内容,需要以303为主,官网材料比较散。
    • 可以看看社区技术月刊,看看别的使用者的经验。
    • 高级扩展部分】源代码。可以搭建Golang + VS Code环境,从github上clone代码。熟悉一下相关工具的代码结构。这个部分比较难,学有余力可以尝试。
    • 学有余力建议看看V5的302课程(https://learn.pingcap.com/learner/course/120005 ),这个课程其实很好,可以加深对于产品的理解。这个课程包括数据表设计、事务、查询优化、系统优化、故障诊断,虽然不在V6的PCTP范围里面,但是其实课程的内容很重要,而且不过时。

Ch3 考试结果

1月12日考了PCTA,2月15日考了PCTP,都通过,平均分85。

PCTA的学习时间大概60个小时,主要花了部分时间去阅读论文和相关数据库的书籍。PCTP的学习时间大概80小时,主要是花了不少时间去做实验,并且大量时间去阅读官网文档。如果纯粹以考试为目的,应该实际时间可以折半。

考后体验:

  • PCTA不难,吃透了背后的原理和产品的具体实现就能过。
  • PCTP考得比较细,想拿高分不容易。把303提到的内容都深化了解可以便于拿高分。但是出于对实际更有作用,还是应该采用上面的建议,拓宽阅读面去了解产品,特别是官网材料。
3 个赞

恭喜恭喜 :100:

恭喜恭喜 :100:

恭喜恭喜

恭喜恭喜

恭喜,我等有时间也考个PTCP试一下。

量化学习么 :clap:

恭喜恭喜!!
个人觉得认证对应的视频课程,认真学习并掌握之后,考试通过的可能性就会很高了呢。

看得出up主是一个学习能力很强的人

最近开始学习,谢谢指导!

开始刷积分用来兑换考试名额,预计需要几个月吧,不知道可以坚持多久 :joy:

加油攒积分换考试 :fist:

感谢分享 很有用 有很多东西我也都加了标签了方便学习,博客和月刊感谢分享。
目前也在攒积分换考试 。
再次恭喜。

已阅 :grinning:

转眼,一年了

多谢分享 101 走起

恭喜恭喜,刚好今天学习,感谢指导!

1 个赞

5月8日考试,期待一把过

1 个赞