1. TiDB简介
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
架构图如下:
TiDB Server:SQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址,客户端的连接可以均匀地分摊在多个 TiDB 实例上以达到负载均衡的效果。TiDB Server 本身并不存储数据,只是解析 SQL,将实际的数据读取请求转发给底层的存储节点 TiKV(或 TiFlash)。
PD (Placement Driver) Server:整个 TiDB 集群的元信息管理模块,负责存储每个 TiKV 节点实时的数据分布情况和集群的整体拓扑结构,提供 TiDB Dashboard 管控界面,并为分布式事务分配事务 ID。PD 不仅存储元信息,同时还会根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的 TiKV 节点,可以说是整个集群的“大脑”。此外,PD 本身也是由至少 3 个节点构成,拥有高可用的能力。建议部署奇数个 PD 节点。
存储节点
- TiKV Server:负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range(从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region。TiKV 的 API 在 KV 键值对层面提供对分布式事务的原生支持,默认提供了 SI (Snapshot Isolation) 的隔离级别,这也是 TiDB 在 SQL 层面支持分布式事务的核心。TiDB 的 SQL 层做完 SQL 解析后,会将 SQL 的执行计划转换为对 TiKV API 的实际调用。所以,数据都存储在 TiKV 中。另外,TiKV 中的数据都会自动维护多副本(默认为三副本),天然支持高可用和自动故障转移。
- TiFlash:TiFlash 是一类特殊的存储节点。和普通 TiKV 节点不一样的是,在 TiFlash 内部,数据是以列式的形式进行存储,主要的功能是为分析型的场景加速。
详细内容可参见官网介绍。
2. 认证简介
PingCAP Education 面向数据库从业者,尤其是正在从事或即将从事 DBA、应用开发、架构师等工作的人员提供多样化的能力认证。
- PCTA: PingCAP 认证 TiDB 数据库专员(简称 PCTA)是 PingCAP 对于数据库从业者安装部署及日常运维分布式关系型数据库能力的认证,要求数据库从业者熟练掌握 TiDB 架构原理、安装部署、周边工具等基础知识。
- PCTP: PingCAP 认证 TiDB 数据库专家(简称 PCTP)是 PingCAP 对于数据库从业者管理大型分布式关系型数据库 TiDB 集群能力的认证,要求数据库从业者熟练掌握 TiDB 的深度原理及高级 Feature、性能调优、SQL 优化、Trouble Shooting 等进阶内容。 要获得 PCTP 认证,必须先获得 PCTA 认证.
3. 考试心得
本人有缘在半年前开始接触TiDB,也很幸运在近期通过了PCTA和PCTP的认证,简单分享一些心得。
这两个考试,都需要先看官方视频,再报名考试,强烈建议看视频的时候,同步做脑图,方便后面复习,尤其PCTP,知识点非常多,一定要写脑图。
1. PCTA: 这个比较简单,主要内容是两部分,第一部分是TiDB的架构知识,第二部分是集群部署、管理、认证、数据备份和恢复,如下:
2. PCTA,这个考试内容就很多了,分8大模块,PCTP考试大纲,PCTP 考试为远程在线考试,考试时长 90 分钟,共 70 道题(单选 35 道,多选 35 道,每题 1 分)满分 70 分,42 分为及格 (通过线以答题正确率 60% 为基准,根据试卷难度系数,略有小幅波动),需要注意的是,这个考试需要一个兑换码,而学完302教程的80%即送一个免费的兑换码,地址:302 TiDB 高级系统管理,一定要珍惜考试机会,这个考试的脑图我写了十几个,实在太多了,就不分享了,不过重点还是读和写的详细流程(必考)、读写热点的调试、系统的调优等章节,比如TiKV的知识点:
4. 最后
TiDB是这几年非常火的一款国产数据库,国内很多公司都有在使用,值得大家去学习一下,最后祝有兴趣的同学也顺利通过考试。
附上报名地址:认证中心