预见猿份
主题
首页面试题模拟面试SQL练习在线工具关于我们老苗一对一私教学员评价
实战项目
零基础学习路线项目前置基础创新WMS项目Java微服务框架与实战云岚到家项目闪聚支付项目学成在线项目青橙电商项目JVM原理与实战调优分布式事务专题Java高频面试题MySQL从入门到精通达梦数据库从入门到实战MongoDB从入门到实战PostgreSQL从入门到实战TiDB从入门到实战Java数据结构与算法Java 并发编程(JUC)实战课程老苗一对一私教学员评价
blog我的会员
  • TiDB从入门到实战|做过分库分表的Java程序员的分布式SQL课程

    • 课程介绍
    • 第1章 认识TiDB与整体架构
    • 第2章 MySQL兼容性与差异清单
    • 第3章 TiDB vs 分库分表全面对比
    • 第4章 数据建模与分布式特性
    • 第5章 Java集成实战
    • 第6章 HTAP、执行计划与调优
    • 第7章 迁移与日常运维







----- 到底线了 -----

TiDB 从入门到实战|Java 程序员的分布式 SQL 数据库课程 ​

为什么要学 TiDB? ​

当业务数据涨到千万、亿级,MySQL 单表开始变慢,你的第一反应大概率是分库分表——本站云岚到家项目第九章就完整演练过用 ShardingSphere-JDBC 对订单库做水平拆分。但只要你真上过分库分表,就会被这些问题反复折磨:

  • 分片键怎么选、怎么记:查询不带分片键就要扫所有分片,业务 SQL 处处被分片逻辑绑架。
  • 跨库 JOIN / 聚合 / 分页失效:LIMIT 翻页、GROUP BY、事务都要在应用层或中间件里自己拼。
  • 全局唯一 ID 要额外造:雪花算法、号段模式,一个自增都得专门设计。
  • 扩容 = rebalance 搬家:加机器要迁移数据、双写、灰度、校验,运维一顿操作心惊胆战。
  • DDL 铺到 N 个库:加一列要在几十上百张表上逐个执行。

TiDB 的定位就是「让你不用再分库分表」:它是 PingCAP 开源的分布式 SQL 数据库,兼容 MySQL 协议、对外呈现为一个「大到几乎不需要拆」的单一逻辑库,数据在底层自动按 Region 切分、多副本 Raft 一致性、在线扩缩容对应用透明,还自带 HTAP(事务 + 分析一体)。你用 MySQL 的写法和 Java 的 MySQL 驱动连它,但省掉了分库分表在开发和运维上的绝大部分复杂度。

本课程参考 TiDB 官方中文文档 的知识体系重新组织,面向做过分库分表的 Java 程序员,所有示例用 Java 代码书写(沿用 MySQL Connector/J + Spring Boot + MyBatis-Plus),每个能力都给出「MySQL / 分库分表 vs TiDB」的对照。

一条主线贯穿全课:TiDB 不是另一个 MySQL,而是「替代 MySQL + 分库分表中间件 + 一堆运维工具」的一整套方案。 学它的重点,是把你在分库分表上攒下的经验「翻译」成 TiDB 的原生能力。

🎯 章节与学习目标总览 ​

章节主题学完你将能够
第1章认识 TiDB 与整体架构讲清计算存储分离的四大组件(TiDB Server/PD/TiKV/TiFlash)各自职责;理解它为何能免掉分库分表;用 tiup 起一个 playground 集群,用 MySQL 驱动跑通 Java 首连(端口 4000)
第2章MySQL 兼容性与差异清单分得清「高度兼容」和「不支持/行为不同」:无存储过程/触发器/外键/FULLTEXT,自增 ID 会跳号、默认排序规则、隔离级别 RC/SI、事务模型差异,避免带着 MySQL 惯性踩坑
第3章TiDB vs 分库分表全面对比拿你在 yunlan 第九章 的 ShardingSphere 方案逐项对照,从开发(分片键/跨库 JOIN/分布式事务/全局 ID/扩容)与运维(rebalance/双写/迁移/监控)两维,量化 TiDB 到底省了哪些事
第4章数据建模与分布式特性理解主键与 _tidb_rowid、用 SHARD_ROW_ID_BITS/AUTO_RANDOM 打散写入热点、PRE_SPLIT_REGIONS 预分裂、Region 多副本与 Placement、全局索引与 TiFlash 列存副本
第5章Java 集成实战用 MySQL Connector/J + HikariCP 连 TiDB、MyBatis-Plus DbType.MYSQL 正确分页、配置悲观/乐观事务 tidb_txn_mode、按 TiDB 错误码做重试,吃透 Java 连 TiDB 的常见坑清单
第6章HTAP、执行计划与调优读 EXPLAIN (ANALYZE) 执行计划、理解 Coprocessor 下推与统计信息、用 TiFlash 列存 + MPP 加速分析、READ_FROM_STORAGE hint、定位热点与资源管控 Resource Control
第7章迁移与日常运维用 DM 做 MySQL/分库分表 → TiDB 的全量+增量迁移、用 Lightning 大批量导入、BR 备份恢复、理解 GC 机制、在线扩缩容、Prometheus+Grafana+Dashboard 监控、生产上线 checklist

🧭 建议学习路径 ​

  1. 系统学习:按章节顺序。第 1~2 章建立架构认知并校准 MySQL 惯性(约 2 天),第 3 章是全课灵魂——把「分库分表经验」映射成 TiDB 思维(约 1 天),第 4~5 章进入建模与 Java 落地(约 3 天),第 6~7 章补齐性能与运维全景(约 3 天)。
  2. 做过分库分表、想评估要不要上 TiDB:直奔 第3章 对比表 + 第2章 不兼容清单,两章读完基本能做技术选型决策。
  3. 急着写代码:第 1 章 tiup 起集群 → 第 5 章 Java 连接与 MyBatis-Plus 跑通 → 语法回查第 2 章 → 上线前务必读第 4 章热点、第 6 章执行计划、第 7 章迁移。

前置要求

本课程默认你:熟悉 MySQL 的 CRUD/索引/事务/主从;最好读过本站 云岚到家第九章·分库分表,对 ShardingSphere-JDBC、分片键、全局 ID 有实战体感;会用 Java + Maven + Spring Boot。TiDB 从零讲起,不需要分布式理论基础。

🛠 配套环境 ​

  • 数据库:TiDB v8.5 LTS(开源版,兼容 MySQL 8.0 协议与生态)
  • 起集群:tiup playground(单机体验)/ tiup cluster(生产拓扑)
  • Java 驱动:直接用 MySQL Connector/J(com.mysql.cj.jdbc.Driver),无需专用驱动
  • 框架:Spring Boot 3.x + MyBatis-Plus 3.5.x(DbType.MYSQL)
  • 工具:MySQL 客户端 / Navicat / DBeaver 均可连;TiDB Dashboard(Web 管控)

📚 站内的黄金搭档 ​

  • 分库分表前史:云岚到家第九章·分库分表与 ShardingSphere(本课程第 3 章的对照基准)
  • 关系型基础:MySQL 从入门到精通
  • 同为 MySQL 生态的国产分布式/单机方案对照:达梦数据库从入门到实战
  • 分布式事务专题:分布式事务(TiDB 的 Percolator 两阶段提交可与之一并理解)
  • 文档数据库的扩容思路对照:MongoDB 从入门到实战·分片
  • 手写 SQL 没处练?上 SQL 练习场

官方参考资料:TiDB 文档中心(中文)、MySQL 兼容性对比。本课程是其「Java 程序员 + 分库分表背景视角」的中文精编实战版。

老师介绍 ​

老苗一对一私教:https://yjoffer.com/aboutus/one2one/one2one.html

学员评价:https://yjoffer.com/aboutus/one2one/reviews.html

关于我们:https://yjoffer.com/aboutus/readme.html

第1章 认识TiDB与整体架构 →








如果发现文档内容有错误或排版错乱,请及时联系站长老苗修改,不胜感激。联系我们
关于我们 | 隐私政策 | 豫ICP备2026003386号-4 | 豫公网安备41010202004008号
目录

本页无章节