底层存储原理与工程实践
许多后端开发者在排查高并发下的 I/O 瓶颈时,往往止步于调整应用层参数,缺乏对数据从应用层到底层硬件完整链路的理解。本课程聚焦存储全栈技术,旨在解决“黑盒”问题:当数据库响应变慢时,你能否判断是文件系统日志写入延迟、NVMe 设备队列饱和,还是分布式一致性协议开销?课程不追求罗列所有存储产品,而是通过自下而上的视角,拆解文件系统构建、IO 调度机制以及分布式存储核心逻辑。适合具备 Linux 系统编程基础、熟悉 C++ 或 Go 语言,并有一定数据库使用经验的工程师。若你仅会调用 API 而不懂底层原理,或希望在面试中展示对存储引擎的深度理解,这门课能提供实质性帮助。
核心模块学习与实操路径
建议优先关注“文件系统构建”与“高性能 IO”两个板块。视频前半部分通过从零实现一个基于 NVMe 的文件系统,详细剖析了 Partition Layout 设计、Block Device 读写以及 LBA 与 Nblocks 的关系。这部分内容极具含金量,它不仅教你如何使用工具,更让你理解数据在磁盘上的物理排列如何影响性能。随后,课程引入 io_uring,对比 epoll 在高并发场景下的效率差异,并通过 FUSE 实现用户态文件系统,打通内核态与用户态的交互壁垒。对于想深入高性能计算或内核开发的读者,这部分是核心收获点。
分布式存储与独立开发能力
后半部分转向工程化应用,涵盖 SPDK、FastDFS、Ceph 以及 RocksDB 和 TiDB。这里不再局限于理论,而是直接切入集群部署、同步机制和高可用架构。例如,在 Ceph 部分,你不仅学习安装配置,更需理解其内核级支持的分布式逻辑;在 TiDB 部分,则重点解析存储引擎原理与 Replication 机制。学完这些内容,你应能独立完成以下任务:针对特定业务场景(如海量小文件或大对象存储)选型并搭建分布式存储集群;编写基于 io_uring 的高性能文件读写服务;利用 FUSE 开发自定义的用户态文件系统插件;以及深入 RocksDB 或 TiDB 源码级排查性能问题。资料包中的视频建议配合源码阅读,特别是在实现 KV 存储拆解和 B-tree 选择环节,动手复现代码是验证理解的最佳方式。
课程目录
视频 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.【io_uring1】与epoll媲美的io_uring(1)_.mp4 161.84M 009.【io_uring2】与epoll媲美的io_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.mp4



![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


