TiDB 分布式架构深度解析
候选人小李在字节 P7 架构面中,面试官问:
"你们考虑过用 TiDB 吗?它和 MySQL 有什么区别?"
小李说:"TiDB 是分布式数据库,兼容 MySQL 协议。"
面试官追问:"TiDB 底层是怎么存储数据的?RocksDB?"
小张说:"好像是...KV 存储?"
面试官继续追问:"TiKV 和 PD 是什么关系?"
小李答不上来了。
【面试官心理】 这道题我用来测试候选人对分布式数据库的理解深度。能说出 TiDB 兼容 MySQL 的占 40%,能讲清 TiKV 架构的占 15%,能说清 PD 作用的占 5%。
一、TiDB 整体架构 🔴
1.1 组件架构
1.2 TiDB Server
1.3 计算与存储分离
二、TiKV 存储引擎 🔴
2.1 TiKV 架构
2.2 Region
2.3 RocksDB
三、PD 调度器 🟡
3.1 PD 的作用
3.2 调度策略
3.3 故障恢复
四、HTAP 架构 🟡
4.1 TiFlash
4.2 混合查询
五、和 MySQL 的区别 🟡
5.1 核心区别
5.2 适用场景对比
【面试官心理】 能说出"Raft 协议"和"计算存储分离"的候选人,基本都有分布式系统的背景。这是 P7 的水准。