正版资源自下而上-存储全栈 (TiDB_RockDB_SPDK_fuse_ceph_NVMe)【VIP】【地址更新】
解决什么问题 存储系统开发长期存在“懂上层不懂底层”或“懂驱动不懂架构”的割裂。本课程从 NVMe 设备的 LBA 与扇区模型讲起,逐层构建 block_device 抽象,完成零拷贝文件系统的分区布局设计与实现,并引入 io_uring 替代传统 epoll 处理高并发 I/O。读者将直面 SPD
解决什么问题
存储系统开发长期存在“懂上层不懂底层”或“懂驱动不懂架构”的割裂。本课程从 NVMe 设备的 LBA 与扇区模型讲起,逐层构建 block_device 抽象,完成零拷贝文件系统的分区布局设计与实现,并引入 io_uring 替代传统 epoll 处理高并发 I/O。读者将直面 SPDK 用户态轮询、FUSE 协同事件以及 TiDB/RocksDB 在底层存储上的数据路径,理解存算分离架构中元数据与数据平面的关键决策点。
适合什么基础
适合已掌握 C/C++ 编程、熟悉 Linux 系统调用与基本文件系统概念,并且希望向存储内核方向深入的实际开发者。不需要先读完所有存储理论,但需要有动手能力,愿意对照源码修改 block layout、补全 mkfs 流程,并能在 FUSE 与 io_uring 场景下调试数据一致性。
建议先看哪几块
建议优先观看 NVMe LBA 基础、block_device 读写代码实现、partition layout 设计与 mkfs 五步实现这几节,建立从硬件寻址到文件系统结构的完整直觉。随后进入 io_uring 的使用场景与 FUSE 协同事件,再切换到 SPDK 用户态文件系统架构。最后结合 TiDB/RocksDB 数据面分析,明确上层查询如何与底层 IO 路径对齐。
学完能独立做什么
课程结束后,读者能够独立完成基于用户态轮询的小规模文件系统设计,掌握 nvme 直访、io_uring 异步提交、FUSE 接口实现与 SPDK 数据路径拼接。同时能够评估 RocksDB 在 NVMe 上的写入放大,并在 TiDB 存算分离架构里定位存储层的性能瓶颈与优化方向,形成可复用的存储模块参考。
资料怎么配合练习
建议把视频内容当作工程参考,配合分区布局实现、mkfs 流程补全、io_uring 读写样例和 FUSE 接口调试进行逐项实践。每完成一个模块,用真实 nvme 设备或模拟盘验证数据一致性与延迟表现,避免只看原理不动手,以保证课程素材能真正转化为可落地的工程能力。
课程目录
课程目录39 集
- 视频
- 001.存储课程技术点介绍视频_.mp4 93.94M
- 002.【zerofs1】文件系统需求分析与mkfs.zvvfs的两种实现方式_.mp4 153.69M
- 003.【zerofs2】nvme的lba与nblocks的重要性_.mp4 151.06M
- 004.【zerofs3】block_device对nvme的读写与sector大小代码实现_.mp4 197.47M
- 005.【zerofs4】 文件系统partition layout设计与实现_.mp4 167.22M
- 006.【zerofs5】mkfs.zvvfs实现partition layout的5步曲_.mp4 185.53M
- 007.【zerofs6】mkfs.zvvfs的partition layout完善与nvme读写_.mp4 203.38M
- 008.銆恑o_uring1銆戜笌epoll濯茬編鐨刬o_uring(1)_.mp4 161.84M
- 009.銆恑o_uring2銆戜笌epoll濯茬編鐨刬o_uring(2)_.mp4 225.62M
- 010.【io_uring3】io_uring的使用场景(1)_.mp4 153.34M
- 011.【io_uring4】 io_uring的使用场景(2)_.mp4 262.38M
- 012.【fuse1】fuse协同事件 用户态文件系统(1)_.mp4 203.09M
- 013.【fuse2】fuse协同事件 用户态文件系统(2)_.mp4 289.75M
- 014.【SPDK项目1】 SPDK的工作原理与文件系统架构分析(1)_.mp4 155.72M
- 015.【SPDK项目2】SPDK的工作原理与文件系统架构分析(2)_.mp4 173.66M
- 016.【SPDK项目3】文件系统的posix api实现(1)_.mp4 175.88M
- 017.【SPDK项目4】文件系统的posix api实现(2)_.mp4 229.09M
- 018.【SPDK项目5】文件系统的性能测试(1)_.mp4 148.03M
- 019.【SPDK项目6】文件系统的性能测试(2)_.mp4 195.22M
- 020.【KV项目-1】KV存储拆解 Set,Get,Mod,Del_.mp4 283.97M
- 021.【KV项目-2】bdev与blob对于kv存储的选择_.mp4 264.34M
- 022.【KV项目-3】kv service接口 set_get_modify_delete_.mp4 192.69M
- 023.【KV项目-4】pagechunk的get与put_.mp4 161.66M
- 024.【KV项目-5】btreehashmapradixtreerbtree之间的选择_.mp4 272.84M
- 025.【KV项目-6】-slab分配slot与释放slot_.mp4 192.44M
- 026.【KV项目-7】-为kv存储加上conf文件_.mp4 232.38M
- 027.【KV项目-8】-kv存储测试用例与性能测试_.mp4 190.16M
- 028.【fastdfs1】fastdfs架构分析和配置_.mp4 331.50M
- 029.【fastdfs2】FastDFS集群部署和同步机制分析_.mp4 359.69M
- 030.【fastdfs3】 fastdfs存储原理_.mp4 353.34M
- 031.【fastdfs4】高负载nginxfastcgi_.mp4 381.88M
- 032.【fastdfs5】文件传输和接口设计_.mp4 385.12M
- 033.【fastdfs6】 产品上云公网发布测试用例_.mp4 342.34M
- 034.【ceph1】 内核级支持的分布式存储ceph_.mp4 309.19M
- 035.【ceph2】 docker安装ceph分布式存储系统(高可用)_.mp4 235.56M
- 036.【ceph3】分布式ceph存储集群部署_.mp4 165.06M
- 037.【RockDB】不一样的kv存储RocksDB的使用场景_.mp4 262.28M
- 038.【TiDB1】TiDB存储引擎的原理_.mp4 237.78M
- 039.【TiDB2】TiDB集群方案与Replication原理_.mp4 238.53M
- 工具+图书带货自下而上-存储全栈 (TiDB_RockDB_SPDK_fuse_ceph_NVMe)/
- 002.【z




