这门课解决什么实际问题?

Java 开发者在实际工作中,最常遇到的瓶颈不是 CRUD 写不出来,而是当业务量上来后,单库扛不住、架构撑不起。很多教程只教语法,不教选型;或者只讲单一数据库,不讲多数据源协同。这门课的核心价值在于:它不再把数据库当作孤立的技术点,而是结合社交新零售、电商、内容社区等具体业务场景,教你在复杂业务下如何做“存储架构设计”。

它解决的是这样一个问题:面对高并发、多租户、海量数据的业务需求,如何根据场景从 MySQL、Redis、MongoDB、Elasticsearch、HBase、ClickHouse 这六类数据库中,组合出最合适的存储方案?学完这套逻辑,你在面试中能讲清楚“为什么选这个”,在工作中能独立画出“数据流向图”,而不是拿到需求就只会建表。

适合什么基础?建议先看哪几块?

本课程偏向进阶与实战,不适合完全零基础的编程新手。如果你还没有掌握 Java 基础、JDBC、Spring Boot 基本用法,或者对 MyBatis 不熟悉,直接看会吃力。建议具备以下基础再入手:JavaSE 熟练、Spring Boot 能搭建简单项目、MySQL 基础 SQL 没问题、了解基本的分布式概念(如缓存、分库分表)。

学习路径建议如下:
第一,务必认真看第一章。虽然只有 7 节,但它建立了“没有万能技术,只有适合场景的方案”这一核心思维,后面所有章节都是在这个框架下展开的。跳过这一步,后面容易陷入“为用技术而用技术”的误区。
第二,重点精读第二章关于“社交新零售”的案例。这里通过 Docker 部署 MySQL、Spring Boot + MyBatis Plus 快速构建用户模块,展示了从 0 到 1 的架构雏形。注意观察讲师如何用 MyBatis Plus 的进阶能力(如条件构造器、自动填充、分页插件)提升开发效率,这部分代码可以直接复用。
第三,后续章节按你当前业务最痛点的领域去选读。例如,如果你做内容平台,重点看 Redis 缓存与 Elasticsearch 检索的结合;如果做即时通信或物联网,关注 MongoDB 与 HBase 的应用差异。

学完能独立做什么?资料如何配合练习?

完成本课程后,你应该能独立做到:一是具备数据库选型能力,面对新业务能分析出需要几种数据库、各承担什么角色;二是具备架构分层意识,能在设计数据库时考虑读写分离、冷热数据分离、缓存击穿规避等非功能性需求;三是能手写典型场景的代码骨架,比如基于 MyBatis Plus 的多租户隔离方案、基于 Redis 的热点数据缓存方案。

资料中的视频节奏较快,建议采用“倍速听思路 + 暂停敲代码”的方式配合练习。对于第二章的工程实践部分,不要只看视频,一定要自己在本地复现 Docker 部署和 MyBatis Plus 的配置。特别是要动手调整 MyBatis Plus 的全局配置和实体映射,理解它如何替代传统 XML Mapper 开发。遇到讲师未详细展开的“课后习题”模块,尝试自己写出 SQL 语句和对应 Java 代码,再对照答案复盘。这种“先做后看”的模式,比被动观看更能转化为你的实际工作能力。

课程目录

第1章 如何用更优的数据存储方案,打造更稳定的架构? 试看 7 节 | 27分钟 1-1 没有“万能”的技术手段,只有适合业务场景的解决方案 (06:09).mp4
 1-2 服务端架构常见的分层方案 (03:53).mp4
 1-3 为什么要做服务端架构分层 (02:05).mp4
 1-4 为什么存储数据库在架构分层中那么重要 (04:23).mp4
 1-5 数据库存储的瓶颈与短板效应 (01:38).mp4
 1-6 为什么互联网没有万能的解决方案 (04:39).mp4
 1-7 数据库解决方案不仅仅是CRUD那么简单 (04:06).mp4
 第2章 社交新零售业务场景的演进与架构方案设计 

15 节 | 128分钟 2-1 社交新零售业务场景的发展 (09:49).mp4
 2-2 全局视角看问题,实现全景的技术支撑架构(上) (05:11).mp4
 2-3 全局视角看问题,实现全景的技术支撑架构(中) (09:49).mp4
 2-4 全局视角看问题,实现全景的技术支撑架构(下) (05:19).mp4
 2-5 高效部署之容器化利器Docker (17:38).mp4
 2-6 使用docker解决mysql的高效部署 (13:57).mp4
 2-7 SpringBoot与Mybatis Plus组合 (10:13).mp4
 2-8 Mybatis Plus基础能力搭建用户模块(上) (10:23).mp4
 2-9 Mybatis Plus基础能力搭建用户模块(下) (14:03).mp4
 2-

10 Mybatis Plus进阶,高效的ORM代码实现(上) (09:33).mp4
 2-

11 Mybatis Plus进阶,高效的ORM代码实现(中) (08:50).mp4
 2-

12 Mybatis Plus进阶,高效的ORM代码实现(下) (12:06).mp4
 2-

13 本章小结 (01:02).mp4
 2-14 重难点梳理.mp4
 2-15 【课后习题】阶段练练练.mp4
 第3章 发挥Mysql选型优势,构建新零售核心门店与商品能力 

21 节 | 199分钟 3-1 本章概览 (00:58).mp4
 3-2 Mysql选型优劣势 (07:47).mp4
 3-3 Mysql如何提供事务_索引_读写的基础能力(1) (08:17).mp4
 3-4 Mysql如何提供事务_索引_读写的基础能力(2) (10:58).mp4
 3-5 Mysql如何提供事务_索引_读写的基础能力(3) (11:10).mp4
 3-6 Mysql如何提供事务_索引_读写的基础能力(4) (03:34).mp4
 3-7 Mysql如何提供事务_索引_读写的基础能力(5) (11:38).mp4
 3-8 Mysql高性能配置-读写能力提升的秘诀(上) (15:24).mp4
 3-9 Mysql高性能配置-读写能力提升的秘诀(下) (10:19).mp4
 3-

10 领域驱动设计-领域模型的重要性(上) (10:42).mp4
 3-

11 领域驱动设计-领域模型的重要性(下) (06:48).mp4
 3-

12 发布基石:商家与门店(上) (09:34).mp4
 3-

13 发布基石:商家与门店(下) (10:08).mp4
 3-14 导购核心:商品-类目-品牌-属性库模型的发布(上) (08:10).mp4
 3-15 导购核心:商品-类目-品牌-属性库模型的发布(下) (15:20).mp4
 3-

16 交易核心:SKU-库存模型的发布(上) (16:45).mp4
 3-

17 交易核心:SKU-库存模型的发布(下) (12:42).mp4
 3-

18 导购流程:搜索与详情浏览(上) (18:23).mp4
 3-

19 导购流程:搜索与详情浏览(下) (10:11).mp4
 3-20 重难点梳理.mp4
 3-21 【课后习题】阶段练练练.mp4
 第4章 高事务保证要求的交易核心能力 

15 节 | 162分钟 4-1 下单交易:使用流程串联下单动作(上) (05:32).mp4
 4-2 下单交易:使用流程串联下单动作(下) (19:49).mp4
 4-3 如何用分布式事务保证下单流程一致性(上) (07:45).mp4
 4-4 如何用分布式事务保证下单流程一致性(中) (17:02).mp4
 4-5 如何用分布式事务保证下单流程一致性(下) (06:29).mp4
 4-6 Seata对分布式事务的支持 (14:07).mp4
 4-7 使用Seata改造下单流程(上) (12:07).mp4
 4-8 使用Seata改造下单流程(中) (12:39).mp4
 4-9 使用Seata改造下单流程(下) (04:59).mp4
 4-

10 支付成功:支付及防重流程(上) (12:41).mp4
 4-

11 支付成功:支付及防重流程(下) (15:50).mp4
 4-

12 用户操作完整性:手动取消订单流程 (12:19).mp4
 4-

13 保证生命周期完整性:自动取消订单流程(上) (07:45).mp4
 4-

14 保证生命周期完整性:自动取消订单流程(下) (12:34).mp4
 4-15 重难点梳理.mp4
 第5章 内存数据库Redis及读写分离解决查询性能瓶颈 

17 节 | 159分钟 5-1 Redis选型优劣势 (05:27).mp4
 5-2 为什么Redis那么快(上) (10:15).mp4
 5-3 为什么Redis那么快(中) (15:20).mp4
 5-4 为什么Redis那么快(下) (06:15).mp4
 5-5 实用的Redis分布式解决方案(1) (08:11).mp4
 5-6 实用的Redis分布式解决方案(2) (09:43).mp4
 5-7 实用的Redis分布式解决方案(3) (10:42).mp4
 5-8 实用的Redis分布式解决方案(4) (06:03).mp4
 5-9 如何规避Redis缓存的短板 (13:25).mp4
 5-

10 动手使用Redis (02:53).mp4
 5-

11 商品详情缓存化提升查询性能(上) (14:13).mp4
 5-

12 商品详情缓存化提升查询性能(下) (09:09).mp4
 5-

13 mysql读写分离的原理 (14:12).mp4
 5-

14 动手部署Mysql读写分离集群 (20:53).mp4
 5-

15 改造项目兜底住Mysql性能极限 (05:43).mp4
 5-

16 主从不一致我们该怎么办 (05:49).mp4
 5-17 重难点梳理.mp4
 第6章 搜索型存储ElasticSearch引擎实现全文搜索能力 

14 节 | 161分钟 6-1 ElasticSearch选型优劣势 (07:30).mp4
 6-2 为什么ElasticSearch适合做全文搜索(1) (11:55).mp4
 6-3 为什么ElasticSearch适合做全文搜索(2) (06:29).mp4
 6-4 为什么ElasticSearch适合做全文搜索(3) (13:31).mp4
 6-5 为什么ElasticSearch适合做全文搜索(4) (07:43).mp4
 6-6 ES性能提升及高可用方案(上) (14:18).mp4
 6-7 ES性能提升及高可用方案(下) (14:13).mp4
 6-8 动手使用ES (16:24).mp4
 6-9 全量索引构建 (12:50).mp4
 6-

10 全量索引构建 (13:17).mp4
 6-

11 增量索引构建(上) (14:58).mp4
 6-

12 增量索引构建(下) (18:20).mp4
 6-

13 改造商品搜索能力 (08:42).mp4
 6-14 重难点梳理.mp4
 第7章 社交图关系下的图数据库Neo4J解决方案 8 节 | 80分钟 7-1 图形数据结构存储如何支撑 (11:27).mp4
 7-2 动手使用neo4j(上) (14:49).mp4
 7-3 动手使用neo4j(下) (10:54).mp4
 7-4 关注粉丝能力设计(上) (06:57).mp4
 7-5 关注粉丝能力设计(中) (18:04).mp4
 7-6 关注粉丝能力设计(下) (04:48).mp4
 7-7 Neo4J分布式集群方案 (12:55).mp4
 7-8 重难点梳理.mp4
 第8章 Feed流时序性数据存储场景下的HBase解决方案 

17 节 | 175分钟 8-1 Feed流的场景支撑难在哪里 (06:36).mp4
 8-2 HBase原理及优劣势(上) (07:03).mp4
 8-3 HBase原理及优劣势(中) (07:14).mp4
 8-4 HBase原理及优劣势(下) (08:37).mp4
 8-5 动手使用HBase (14:14).mp4
 8-6 HBase中的RowKey为什么那么重要 (15:41).mp4
 8-7 使用Java API接入HBase消息实体(上) (15:35).mp4
 8-8 使用Java API接入HBase消息实体(中) (11:25).mp4
 8-9 使用Java API接入HBase消息实体(下) (05:14).mp4
 8-10 Feed流之经典推拉设计模式(1) (16:18).mp4
 8-11 Feed流之经典推拉设计模式(2) (11:16).mp4
 8-12 Feed流之经典推拉设计模式(3) (10:11).mp4
 8-13 Feed流之经典推拉设计模式(4) (08:46).mp4
 8-

14 推拉混合模式的实践(上) (11:27).mp4
 8-

15 推拉混合模式的实践(下) (14:55).mp4
 8-

16 深度分页的高效解决方案 (09:55).mp4
 8-17 重难点梳理.mp4
 第9章 最像关系型数据库的非关系型数据库mongoDB满足点赞评论场景 9 节 | 82分钟 9-1 点赞评论场景解析 (03:12).mp4
 9-2 MongoDB原理及优劣势 (11:35).mp4
 9-3 动手使用mongodb (12:19).mp4
 9-4 使用Java API实现点赞评论能力(上) (05:11).mp4
 9-5 使用Java API实现点赞评论能力(中) (13:09).mp4
 9-6 使用Java API实现点赞评论能力(下) (10:50).mp4
 9-7 削峰聚集能力的脉冲方案解决评论及点赞数量叠加问题(上) (08:20).mp4
 9-8 削峰聚集能力的脉冲方案解决评论及点赞数量叠加问题(下) (11:08).mp4
 9-9 MongoDB分布式扩展 (05:23).mp4