哪种文件系统最适合我的需要?
- 一个目录中有数千个甚至数百万个文件。
- 良好(ext4 和 ntfs 级别或接近)的可靠性(包括容错能力)和访问速度。
- 实际上不需要目录,也不需要描述性名称,我所需要的只是一个类似字典的 id-blob 对结构。
- 不需要链接、属性和访问控制功能。
- 拥有存储级闭密钥数据加密(这样,如果硬盘丢失或被盗,没有人可以使用其内容)会很酷。
目的是文件存储,其中所有元数据(描述文件实际包含的内容以及谁可以访问它的所有事实的数据)都存储在 MySQL 数据库中。
据我所知,如果一个目录中放置了太多文件,像 NTFS 和 ext3/4 这样的常见文件系统就会变得非常慢 - 这就是我询问的原因。
答案1
- 问题并不在于文件系统(实际上 NTFS 可以处理几十万个文件)——而在于周围的所有工具。甚至不敢在 Windows 资源管理器中打开目录。如果目录返回 200 万个文件,则 Shell 脚本将花费很长时间。
文件夹层次结构更好。
为每个文件提供一个 16 字节十六进制代码
- 将文件夹/文件名设为 4 个字符段,
因此文件可能位于 affc/2548/2224.... 等等。
保持目录更短
并且您可能能够在这里实现挂载点(尽管 4 个符号文件级别对此来说太宽了)。
不要忘记,你可能需要备份/恢复
答案2
XFS:http://en.wikipedia.org/wiki/XFS
不要使用 ext3,因为它使用链接列表来存放目录内容 --> 包含大量文件的目录非常慢。此外,ext3 在删除文件时无法很好地清理此结构。
在 Linux 上,您可以使用 ls -lahd directory/ 了解此列表的大小。