先别急着问「有没有基于数据库的文件系统」——反过来才对:文件系统本身就是一棵带索引的专用数据库。下面点一个文件看它怎么被查出来,再在你浏览器里真跑一次「存 N 个小文件 vs 一个库」,亲眼看那笔固定开销差多少。
| inode | 路径 | 类型 |
|---|
关掉索引开关,看查找如何从「沿树几步」退化成「逐行扫表」。
所以问题从来不是「有没有基于数据库的文件系统」,而是文件系统和数据库本就是同一件事的两种极端形态,工程上按 workload 在这条光谱上取点:要 POSIX 语义、要人类可读目录树,就偏左;要事务、要并发、要结构化查询,就偏右。NTFS 的 MFT、ext4 的 HTree 是左端的数据库;S3、JuiceFS、GridFS 是中段的折中;WinFS 想一路冲到右端,结果败给了阻抗失配。