ShardingJDBC 5.4.1 这门课,解决的是「单库单表撑不住」之后最实际的问题:数据量上来,读写变慢,怎么把一张大表拆成多张表、把一个库拆成多个库,同时让业务代码尽量不改。它不涉及复杂的中间件部署,而是以 Java 生态里最常见的 Spring Boot 为入口,把分片规则、分片算法、分布式主键这些概念落到可运行的配置上。如果你正在做电商、订单、日志类系统,或者面试时被问到分库分表,这门课能让你从「听过概念」变成「能自己搭一套分片环境」。

这门课适合什么基础

需要先会 Spring Boot 的基本用法,至少能跑通一个带数据库连接的工程。对 SQL 和 MyBatis 或 JPA 有常规使用经验,不需要懂底层源码。课程从 ShardingJDBC 是什么、和 MyCat 等产品有什么差异讲起,所以没有接触过分库分表的人也能跟上。但要注意,它默认你理解「为什么需要分片」——比如单表千万行后索引失效、写入压力大,这些背景不会花太多篇幅解释。如果你连水平拆分和垂直拆分都分不清楚,建议先补一点数据库基础再看。

建议先看哪几块

核心概念部分值得完整看一遍,尤其是「分片键与分片算法的关系」和「行表达式」。这两节决定了你后面配置时能不能看懂规则表达式。分片算法那节时间稍长,但不要跳过,因为实战里商品自动分片配置会直接用到。分布式主键粗讲可以快速过,知道雪花算法怎么用就行。实战部分从 Spring Boot 项目准备开始,数据源配置和商品自动分片配置是重点,建议跟着敲一遍,不要只看。如果你时间紧,可以先看「行表达式」和「商品自动分片配置」,再回头补概念。

学完能独立做什么

学完后,你能在一个 Spring Boot 项目中配置好分库分表的数据源,把一张商品表按指定规则拆到多个库和多个表里,让查询和写入自动路由到正确的分片。你能根据业务场景选择合适的分片算法,比如按取模、按日期、按哈希,并写出行表达式。你还能处理分布式主键的生成,避免多表插入时主键冲突。更进一步,你能判断哪些场景不适合分片,比如需要跨库 join 或全局唯一约束的业务,会知道要提前规避。这门课没有覆盖读写分离和治理功能,但作为分库分表的第一套实战,已经足够支撑你独立搭建一个可运行的演示项目。

资料配合练习的方法:先看一遍视频,再关掉视频,只参考课程里的配置片段,自己从零建一个 Spring Boot 项目,手动写数据源配置和分片规则。遇到报错再回看对应小节。不要只看不敲,因为分片规则写错一点,路由效果就完全不对。最好准备两个 MySQL 实例(或同一实例建多个库),实际插入数据验证分片结果。跑通后再试着改分片键,观察路由变化,这样才算真正掌握。

课程目录

课程目录16 集
  • 1-1 [ShardingJDBC简介] 01-ShardingJDBC分库分表课程介绍 (10:32).mp4
  • 1-2 [ShardingJDBC简介] 02-ShardingJDBC介绍与产品对比 (11:46).mp4
  • 2-1 [核心概念] 03-数据分片概念 (15:03).mp4
  • 2-2 [核心概念] 04-表相关概念 (08:53).mp4
  • 2-3 [核心概念] 05-分片键与分片算法的关系 (10:27).mp4
  • 2-4 [核心概念] 06-行表达式 (08:46).mp4
  • 2-5 [核心概念] 07-分布式主键粗讲 (06:40).mp4
  • 2-6 [核心概念] 08-分片算法讲解 (16:52).mp4
  • 3-1 [分库分表实战:] 09-SpringBoot项目准备 (15:02).mp4
  • 3-2 [分库分表实战:] 10-数据源配置 (13:12).mp4
  • 3-3 [分库分表实战:] 11-实战:商品自动分片配置 (42:22).mp4
  • 3-4 [分库分表实战:] 12-实战:用户表标准分片行表达式取模配置 (28:15).mp4
  • 3-5 [分库分表实战:] 13-实战:复杂业务自定义复合分片算法 (29:16).mp4
  • 3-6 [分库分表实战:] 14-实战:复杂业务分片算法编写 (57:20).mp4
  • 3-7 [分库分表实战:] 15-实战:Hint强制分片 (10:01).mp4
  • 4-1 [关于分库分表后的一些问题] 16-归并引擎和分页归并性能误区 (19:29).mp4