这套资料的主题是「自下而上存储全栈」,名字里已经把技术栈摊开了:TiDB、RocksDB、SPDK、FUSE、Ceph、NVMe。它的价值不在于堆砌名词,而在于把一条从硬件到 SQL 层的完整链路串起来讲——从 NVMe 设备与用户态驱动,到内核文件系统与用户态文件系统,再到分布式块/对象存储,最后落到单机存储引擎和分布式 SQL 层。对做存储、数据库内核…
这套资料的主题是「自下而上存储全栈」,名字里已经把技术栈摊开了:TiDB、RocksDB、SPDK、FUSE、Ceph、NVMe。它的价值不在于堆砌名词,而在于把一条从硬件到 SQL 层的完整链路串起来讲——从 NVMe 设备与用户态驱动,到内核文件系统与用户态文件系统,再到分布式块/对象存储,最后落到单机存储引擎和分布式 SQL 层。对做存储、数据库内核、云原生基础设施的开发者来说,这种贯穿式材料比单点文档更难找。
多数人的知识是断层的:会用 TiDB,但说不清一个写入请求最终怎么落到盘上;调过 SPDK,但没想过上层的 LSM-Tree 压缩策略会怎样反过来放大写放大;搭过 Ceph,却对客户端侧的 FUSE 挂载路径和内核态路径的差异只有模糊印象。这门课的结构就是针对这种断层设计的。
自下而上的顺序是有意为之:先搞清楚 NVMe 协议、队列机制和 SPDK 的用户态轮询模型,理解「一次 IO 的真实成本」;再往上到 FUSE,看用户态文件系统如何用一次内核往返换取灵活性,代价是什么;接着是 Ceph 这类分布式存储,为什么它要自己做 CRUSH 而不依赖中心元数据;最后才进入 RocksDB 与 TiDB,看 LSM-Tree 的写路径、Compaction 策略,以及 TiKV 如何在多副本一致性之上把这些能力组合成分布式事务。
这类资料最容易犯的错误是「看完就完」。更有效的用法是边看边在本地或测试集群里复现关键路径:用 fio 配合 SPDK 观察不同队列深度下的 IOPS 与延迟曲线;把同一个负载分别走 FUSE 和内核路径做对比;在单机上部署一个最小 TiDB 集群,用慢查询日志和 TiKV 的监控指标反推请求经过了哪些层。每看完一个模块,问自己一句:这个组件向上暴露了什么接口,又向下依赖了什么假设——能把这两点说清楚,才算真正拆开了一层。
如果你在做存储系统、数据库内核、云平台底层,或者需要为业务选型做技术判断,这份材料可以当作一条可对照的路线图。它不适合当作零基础入门课:涉及内核、分布式协议、C++ 用户态编程,需要读者有一定操作系统和数据库基础。另外,视频体例天然偏「讲原理+演示」,真正的工程细节(参数含义、版本差异、异常路径)还是要回到各项目的官方文档和源码里去核对。把它当成索引和地图,用动手实验去填充,收获会比单纯看视频大得多。
深入探索TiDB、RockDB等存储技术
全面解析自下而上存储全栈,涵盖TiDB、RockDB、SPDK、FUSE、Ceph等前沿技术,适合对存储系统架构有深入理解需求的学习者。
系统学习TiDB、RockDB等存储技术,掌握自下而上存储全栈架构。
📁 视频 024.【KV项目-5】btreehashmapradixtreerbtree之间的选择_.mp4 [272.8 MB] 026.【KV项目-7】-为kv存储加上conf文件_.mp4 [232.4 MB] 023.【KV项目-4】pagechunk的get与put_.mp4 [161.7 MB] 020.【KV项目-1】KV存储拆解 Set,Get,Mod,Del_.mp4 [284.0 MB] 025.【KV项目-6】-slab分配slot与释放slot_.mp4 [192.4 MB] 022.【KV项目-3】kv service接口 set_get_modify_delete_.mp4 [192.7 MB] 019.【SPDK项目6】文件系统的性能测试(2)_.mp4 [195.2 MB] 021.【KV项目-2】bdev与blob对于kv存储的选择_.mp4 [264.3 MB] 017.【SPDK项目4】文件系统的posix api实现(2)_.mp4 [229.1 MB] 015.【SPDK项目2】SPDK的工作原理与文件系统架构分析(2)_.mp4 [173.7 MB] 016.【SPDK项目3】文件系统的posix api实现(1)_.mp4 [175.9 MB] 018.【SPDK项目5】文件系统的性能测试(1)_.mp4 [148.0 MB] 014.【SPDK项目1】 SPDK的工作原理与文件系统架构分析(1)_.mp4 [155.7 MB] 012.【fuse1】fuse协同事件 用户态文件系统(1)_.mp4 [203.1 MB] 013.【fuse2】fuse协同事件 用户态文件系统(2)_.mp4 [289.8 MB] 009.銆恑o_uring2銆戜笌epoll濯茬編鐨刬o_uring(2)_.mp4 [225.6 MB] 010.【io_uring3】io_uring的使用场景(1)_.mp4 [153.3 MB] 011.【io_uring4】 io_uring的使用场景(2)_.mp4 [262.4 MB] 029.【fastdfs2】FastDFS集群部署和同步机制分析_.mp4 [359.7 MB] 032.【fastdfs5】文件传输和接口设计_.mp4 [385.1 MB] 027.【KV项目-8】-kv存储测试用例与性能测试_.mp4 [190.2 MB] 038.【TiDB1】TiDB存储引擎的原理_.mp4 [237.8 MB] 031.【fastdfs4】高负载nginxfastcgi_.mp4 [381.9 MB] 028.【fastdfs1】fastdfs架构分析和配置_.mp4 [331.5 MB] 036.【ceph3】分布式ceph存储集群部署_.mp4 [165.1 MB] 033.【fastdfs6】 产品上云公网发布测试用例_.mp4 [342.3 MB] 034.【ceph1】 内核级支持的分布式存储ceph_.mp4 [309.2 MB] 030.【fastdfs3】 fastdfs存储原理_.mp4 [353.3 MB] 039.【TiDB2】TiDB集群方案与Replication原理_.mp4 [238.5 MB] 037.【RockDB】不一样的kv存储RocksDB的使用场景_.mp4 [262.3 MB] 035.【ceph2】 docker安装ceph分布式存储系统(高可用)_.mp4 [235.6 MB] 006.【zerofs5】mkfs.zvvfs实现partition layout的5步曲_.mp4 [185.5 MB] 004.【zerofs3】block_device对nvme的读写与sector大小代码实现_.mp4 [197.5 MB] 003.【zerofs2】nvme的lba与nblocks的重要性_.mp4 [151.1 MB] …(已达 35 条上限,后续省略)
🎉 祝您学习愉快!