在一个类似字典的 id-blob 结构中存储数千个文件的最佳文件系统是什么?

在一个类似字典的 id-blob 结构中存储数千个文件的最佳文件系统是什么?

哪种文件系统最适合我的需要?

  1. 一个目录中有数千个甚至数百万个文件。
  2. 良好(ext4 和 ntfs 级别或接近)的可靠性(包括容错能力)和访问速度。
  3. 实际上不需要目录,也不需要描述性名称,我所需要的只是一个类似字典的 id-blob 对结构。
  4. 不需要链接、属性和访问控制功能。
  5. 拥有存储级闭密钥数据加密(这样,如果硬盘丢失或被盗,没有人可以使用其内容)会很酷。

目的是文件存储,其中所有元数据(描述文件实际包含的内容以及谁可以访问它的所有事实的数据)都存储在 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/ 了解此列表的大小。

相关内容