我们正在考虑用 SQL 构建一个虚拟文件系统。有几种已知的方法可以在 SQL 中实现类似结构的文件系统(Materialized path,adjency lists ...)。
一段时间后,我们想到了使用 NFS 来存储目录/文件结构和平面键值存储来存储自定义属性。
NFS 上的目录/文件结构将仅存储 ID。
Dxxxxx1
Fxxxxx1
Dxxxxx2
Fxxxxx1
Fxxxxx2
Fxxxxx3
还有一个像这样的平面表:
Dxxxxx1: {'name': 'mydir A', ... }
Dxxxxx2: {'name': 'mydir B', ... }
Fxxxxx1: {'name': 'file A', size: '', ... }
我们将受益于符号链接、挂载点和 UNIX 权限。
这种架构的缺点是什么?