TiDB之PCTP(數據庫專家)


 

考核⽬目標與要求

PCTP(PingCAP Certified TiDB Professional)是 PingCAP 公司認證 TiDB 數據庫專家的縮寫。PCTP 要求具備管理大型分布式關系型數據庫集群的能力。PCTP 需要學習並熟練掌握 TiDB 的深度原理及高級 Feature、性能調優、SQL 優化、Trouble Shooting 等進階內容。要成為 PCTP 必須先獲得 PCTA 認證。

考試范圍(理論考試 +上機實操考試)

PCTP 高級進階篇 - 理論筆試

考試形式和計分規則:

  1. 指定考試中心集中進行在線考試;
  2. 考試時長 75 分鍾,共 70 道題;

PCTP 理論考試范圍:

一、TiDB 計算內核體系

  1. 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 使用不同協議時的區別
    • 如何關閉連接
  • 常用對外端口
  1. TiDB Parser
  • Parser 基本原理
  • Parser 相關問題處理
    • 什么樣的錯誤是 Parser 報錯?
    • Parser 報錯信息怎么解讀?
  1. TiDB 關系型模型原理
  • TiDB 中表的分類
    • 物理表
    • Information Schema
    • mysql database
  • 關系型模型到 KV 的映射關系
  • Table Partition
    • TiDB Table Partition 的原理
    • 支持的 partition 類型
  1. DML 原理
  • 數據寫入原理
  • 數據讀取原理
  • Misc.
    • 幾種不同的 Insert 語句語義區別
    • Replace 和 Insert on duplicate 的區別
    • 何時檢測沖突?Insert 語句的 lazy check
    • 怎么改寫語句讓執行更快?
  1. DDL 原理
  • TiDB DDL 概述
  • TiDB drop table,truncate table,add column 等操作原理
  • TiDB DDL 問題診斷以及工具
  • TiDB Add index 操作原理以及調優

二、TiKV 存儲內核體系

  1. TiKV 整體架構
  2. 存儲引擎
  • RocksDB 介紹及主要特性
  • Column family 介紹
  • LSM 原理及優缺點
  • Compaction 原理
  • RocksDB 數據寫入流程
  • Key Value 分離 Titan 的設計與實現
  • RocksDB 主要參數介紹
  1. Raft 復制
  • Raft 介紹及主要特性
  • Raft 各個角色及內部機制
  • Raft 在 TiKV 中的使用
  • TiKV 自動分片機制(Region)
  • Multi - Raft 設計與實現
  • Raft 與 Paxos
  • TiKV 中的 Raft 讀寫流程
  1. Coprocessor
  • 算子下推
  • 執行引擎模型
  1. Placement Driver 調度內核體系
  • ETCD 原理介紹
  • TiKV 元信息及管理
    • 節點,region
    • 元信息上報流程
  • PD 調度算法
    • 調度策略解析
    • Region 遷移過程
    • 如果通過打 label 來增加調度策略
    • Region Split、Merge
    • 如何通過 pd-ctl 管理集群

三、生態工具原理

  1. MySQL 數據同步到 TiDB 解決方案
  • DM 設計原理
    • DM 設計原理
    • DM 功能介紹
    • DM 數據同步處理單元設計原理
    • Relay log 實現原理
    • Binlog Replication 同步原理
  • Sharding DDL的實現與 checkpoint 機制
  • 常見錯誤和異常場景
    • 常見問題排查手段(不兼容 DDL 處理,借助 checkpoint 定位同步狀態等)
    • 同步異常定位和處理方法(sharding DDL 阻塞,relay-log 異常,同步連接中斷等問題
  1. TiDB 數據輸出訂閱解決方案
  • TiDB-Binlog 實現原理
    • TiDB binlog 概覽
    • Pump 設計和實現
    • Drainer 設計和實現
  • Binlog 運維
    • pump/drainer 下線
    • Binlog 日志和監控詳解
    • 常見的問題和處理手段
  1. 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

四、事務

  1. 數據庫事務概述
  • 事務概念介紹
  • OCC
  • 常見主流數據庫的事務隔離級別及其行為介紹(MySQL、Postgres、CockroachDB)
  • TiDB 支持的事務隔離級別及其行為介紹
  • MySQL Repeatable Read 與 TiDB 的區別
  • 兩階段提交
  1. 分布式事務原理
  • Percolator 的原理
    • 簡介
    • 寫入過程
    • 讀取過程
  • TiDB 事務原理
    • TiDB 怎么寫入
    • TiDB 怎么讀取
    • TiDB 如何清理鎖
  1. TiDB 事務處理
  • SQL 事務
    • 事務啟動
    • 事務中的DML
    • 語句提交和回滾
    • 事務提交和回滾
  • 常見提交錯誤
    • 寫沖突處理
    • 讀寫沖突處理
    • 網絡超時處理
  • 事務重試處理
    • 事務重試問題和實現
    • 重試行為控制
    • 重試相關日志和監控
  • select for update 處理
    • TiDB 和其他數據庫處理區別
    • 處理 can not retry select for update

五、系統性能優化

  1. TiDB Server 性能相關原理
  • TiDB 常見系統負載
  • 讀、寫后台處理流程及主要性能瓶頸
  • 讀熱點及解決思路
  • 寫熱點及解決思路
  • TiDB Server 性能相關監控
  • 主要的性能相關參數
  1. TiKV 性能相關原理
  • 寫入瓶頸分析和優化
  • 數據在 TiKV 中的讀取流程及常見瓶頸
  • 讀取瓶頸分析和優化及常見瓶頸
  • RocksDB 性能優化
  • RocksDB 主要的性能相關參數
  1. 集群系統負載
  • 常見 OS 負載處理
  • 性能定位 trace
  1. 常見性能優化 Case study
  • Sysbench 壓測演練
  • 讀熱點定位和處理演練
  • 寫熱點定位和處理演練
  • 慢查詢定位和處理演練
  • 其他瓶頸定位演練

六、SQL 優化

  1. 查詢優化器原理
  • TiDB Logical Optimization,列舉現有的優化規則
  • TiDB Physical Optimization,舉例講解物理優化過程中的 task type, expected row count, data order 等等物理屬性
  • TiDB Ranger:Filter 條件如何構造成 Key Ranges
  • TiDB Plan Cache for Prepared statements
  1. TiDB Statistics
  • 直方圖和 CM-Sketch 詳細介紹,Selectivity 估算原理
  • Analyze Table 語句如何更新直方圖和 CM-Sketch
  • Query Feedback 工作原理
  1. TiDB Execution Engine
  • Chunk 和 TiDB 向量化執行引擎原理介紹
  • TiDB 的表達式計算:向量化原理+SQL Mode Behaviors
  1. 表關聯算法
  • Hash Join, Merge Join
  • Index Join, NestedLoopApply
  1. 其他算子
  • 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
  1. SQL 執行計划
  • 如果查看執行計划
  • 執行計划解讀
  • CBO 模型
  • 驅動表
  • 數據尋址算法
  • 索引原理
  • 索引使用
  1. SQL 優化實踐

七、高可用及容災

  1. 高可用與思考(誤區)
  2. 基於 Raft 協議高可用(組件特性)
  3. 基於 Binlog 數據備份同步架構
  4. 高可用實操

PCTP 高級進階篇 - 上機實操考試

考試形式和計分規則:

  1. 指定考試中心集中上機考試,指定用機和雲環境
  2. 考試時長 90 分鍾
  3. 主要考核針對不同場景進行系統調優、SQL 優化、Trouble Shooting 等操作,強調解決問題的能力
  4. 考試期間需要將過程命令行及結果截圖復制在指定文檔上;考試期間對操作步驟進行錄屏

考試環境:

  1. 官方考試用機為 UCloud 雲環境 8-9 台 CPU:2C,內存:4G,磁盤:50G

考試題目舉例:

TiKV 損壞場景恢復

場景:模擬多數 TiKV 損壞場景的 TiDB 集群恢復操作,在一套正常運行的集群下,手動刪除其中兩個 TiKV 部署目錄、kill tikv-server 進程,進行災難恢復

要求:寫下具體操作步驟,並將命令返回的結果截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM