定位与适用人群:直面存储底层复杂性
这门课解决的核心问题,是多数运维工程师和后端开发者在接触分布式存储系统时,只能停留在配置参数和调用接口层面,无法理解数据在磁盘、内存、内核态与用户态之间流动的真实路径。课程从 NVMe 设备的 LBA 寻址讲起,逐层向上构建文件系统、用户态文件系统框架、异步 I/O 模型,最终落地到 TiDB、Ceph、FastDFS 等主流分布式存储组件的部署与原理。它不适合完全没有 C 语言基础或 Linux 内核概念的初学者,因为大量内容涉及 page cache、block device、io_uring 等内核机制,需要读者具备一定的系统编程背景。但如果你是正在排查分布式存储性能瓶颈、或希望从「会用」转向「懂原理」的中级工程师,这门课提供的垂直深度能帮你建立完整的存储全栈认知框架。
建议学习路径与核心模块
不要按视频编号顺序观看,而是按技术层级重组学习节奏。先集中攻克前四节关于 NVMe 物理特性与文件系统分区布局的内容,这是后续所有模块的地基,理解 LBA 与 sector 大小如何影响读写性能,后面看 RocksDB 或 Ceph 的 I/O 路径才不会断片。接着看 io_uring 与 fuse 两组视频,重点对比同步阻塞 I/O 与异步事件驱动模型的差异,这是理解高并发存储服务性能天花板的关键。完成这两块后,再进入 SPDK 用户态文件系统实现,体会绕过内核带来的延迟收益与工程代价。最后将 KV 存储项目与 TiDB、Ceph、FastDFS 并列学习,关注它们在一致性模型、副本同步机制、高可用切换上的设计取舍。建议每看完一个技术层级,立即在测试环境中复现对应的性能测试用例,比如用 fio 对比不同 I/O 模型下的吞吐差异,或模拟 Ceph 集群的故障节点场景,让抽象原理变成可观测的现象。
学完后的能力边界与实操重点
学完这门课,你能够独立搭建包含用户态文件系统、分布式对象存储与事务型数据库的完整存储架构,并能针对具体业务场景选型:高吞吐日志写入选 NVMe 直写加 io_uring,海量小文件选 Ceph 配合 FUSE 挂载,强一致性事务数据选 TiDB。更重要的是,你具备了阅读存储组件源码中 I/O 路径的能力,能定位是内核调度、网络传输还是磁盘机械结构导致的延迟。资料中的视频内容侧重原理拆解与架构分析,建议配合官方文档中的基准测试脚本和故障注入工具进行实操,例如在 Kubernetes 环境部署 TiDB 并模拟磁盘满、节点宕机等极端场景,观察其副本同步与恢复机制的实际表现。不要只停留在观看视频,存储技术的价值最终体现在面对真实故障时的判断力,动手复现性能瓶颈与故障恢复流程,才是将知识转化为工程能力的唯一路径。
课程目录
📁 视频 039.【TiDB2】TiDB集群方案与Replication原理_.mp4
[238.5 MB] 038.【TiDB1】TiDB存储引擎的原理_.mp4
[237.8 MB] 037.【RockDB】不一样的kv存储RocksDB的使用场景_.mp4
[262.3 MB] 035.【ceph2】 docker安装ceph分布式存储系统(高可用)_.mp4
[235.6 MB] 036.【ceph3】分布式ceph存储集群部署_.mp4
[165.1 MB] 034.【ceph1】 内核级支持的分布式存储ceph_.mp4
[309.2 MB] 033.【fastdfs6】 产品上云公网发布测试用例_.mp4
[342.3 MB] 032.【fastdfs5】文件传输和接口设计_.mp4
[385.1 MB] 031.【fastdfs4】高负载nginxfastcgi_.mp4
[381.9 MB] 030.【fastdfs3】 fastdfs存储原理_.mp4
[353.3 MB] 028.【fastdfs1】fastdfs架构分析和配置_.mp4
[331.5 MB] 027.【KV项目-8】-kv存储测试用例与性能测试_.mp4
[190.2 MB] 029.【fastdfs2】FastDFS集群部署和同步机制分析_.mp4
[359.7 MB] 026.【KV项目-7】-为kv存储加上conf文件_.mp4
[232.4 MB] 024.【KV项目-5】btreehashmapradixtreerbtree之间的选择_.mp4
[272.8 MB] 025.【KV项目-6】-slab分配slot与释放slot_.mp4
[192.4 MB] 023.【KV项目-4】pagechunk的get与put_.mp4
[161.7 MB] 020.【KV项目-1】KV存储拆解 Set,Get,Mod,Del_.mp4
[284.0 MB] 022.【KV项目-3】kv service接口 set_get_modify_delete_.mp4
[192.7 MB] 021.【KV项目-2】bdev与blob对于kv存储的选择_.mp4
[264.3 MB] 019.【SPDK项目6】文件系统的性能测试(2)_.mp4
[195.2 MB] 018.【SPDK项目5】文件系统的性能测试(1)_.mp4
[148.0 MB] 017.【SPDK项目4】文件系统的posix api实现(2)_.mp4
[229.1 MB] 016.【SPDK项目3】文件系统的posix api实现(1)_.mp4
[175.9 MB] 015.【SPDK项目2】SPDK的工作原理与文件系统架构分析(2)_.mp4
[173.7 MB] 013.【fuse2】fuse协同事件 用户态文件系统(2)_.mp4
[289.8 MB] 014.【SPDK项目1】 SPDK的工作原理与文件系统架构分析(1)_.mp4
[155.7 MB] 011.【io_uring4】 io_uring的使用场景(2)_.mp4
[262.4 MB] 012.【fuse1】fuse协同事件 用户态文件系统(1)_.mp4
[203.1 MB] 010.【io_uring3】io_uring的使用场景(1)_.mp4
[153.3 MB] 009.【io_uring2】与epoll媲美的io_uring(2)_.mp4
[225.6 MB] 008.【io_uring1】与epoll媲美的io_uring(1)_.mp4
[161.8 MB] 007.【zerofs6】mkfs.zvvfs的partition layout完善与nvme读写_.mp4
[203.4 MB] 006.【zerofs5】mkfs.zvvfs实现partition layout的5步曲_.mp4
[185.5 MB] 005.【zerofs4】 文件系统partition layout设计与实现_.mp4
[167.2 MB] 004.【zerofs3】block_device对nvme的读写与sector大小代码实现_.mp4
[197.5 MB] 002.【zerofs1】文件系统需求分析与mkfs.zvvfs的两种实现方式_.mp4
[153.7 MB] 003.【zerofs2】nvme的lba与nblocks的重要性_.mp4
[151.1 MB] 001.存储课程技术点介绍视频_.mp4
[93.9 MB] 下载说明.txt [424.0 B]