小编Jam*_*ead的帖子

最快的文件访问/存储?

我需要将大约750,000,000个文件存储在磁盘上.更重要的是我需要能够在最短的时间内随机访问这些文件 - 任何给定的文件.要使访问这些文件的速度最快,我需要做些什么?

可以把它想象成哈希表,只有哈希键是文件名,关联的值是文件的数据.

一位同事说要将它们组织成这样的目录:如果我想存储一个名为"foobar.txt"的文件并将其存储在D:驱动器上,请将文件放入"D:\ f\o\o\b\a\r \吨\ X\t"的.他无法解释为什么这是一个好主意.这个想法有什么意义吗?

有任何想法吗?

这方面的关键是找到一个档案.按姓名打开文件的最快方法是什么?

编辑:

  • 我无法控制存储此数据的文件系统.它将是NTFS或FAT32.
  • 文件数据存储在数据库中不是一种选择.
  • 文件将非常小 - 最大可能为1 kb.
  • 驱动器将变为固态.
  • 数据访问几乎是随机的,但我可能会根据请求的频率为每个文件找出优先级.某些文件将比其他文件访问得更多.
  • 项目将不断添加,有时会被删除.
  • 将多个文件合并为单个文件是不切实际的,因为文件之间没有逻辑关联.
  • 我希望通过对这些东西进行测试来收集一些指标,但这种努力可能会像项目本身一样消耗!
  • EDIT2:

    我想提出几个彻底的答案,不管它们是否是正确的,并且由于我的新手状态而不能.对不起大家!

    storage file

    6
    推荐指数
    1
    解决办法
    1590
    查看次数

    .NET:System.IO.Path

    给定一个目录的字符串,我如何确保有一个结束\字符?例如,C:\foo是一个目录,同样如此C:\foo\.有没有一种System.IO.Path方法可以确保结束\

    .net path

    3
    推荐指数
    1
    解决办法
    424
    查看次数

    标签 统计

    .net ×1

    file ×1

    path ×1

    storage ×1