我管理一个包含文件存储的应用程序,其中所有文件都以等于其md5和的文件名存储。所有文件都存储在一个目录中。当前有数千个,但很快它们应该在服务器上有数百万个文件。当前服务器在ext4文件系统上运行Ubuntu 11.10。
有人告诉我,将许多文件放在目录中是不明智的,因为这会大大增加查找时间和可靠性(他有一个故事,讲述一个目录可以指向的最大文件数,从而导致链表很大)。相反,他建议使用文件名的子字符串创建子目录。但是,这会使我的应用程序中的某些事情变得繁琐。
这是否仍然正确,或者现代文件系统(例如ext4)是否具有更有效的方式来处理此问题并自然扩展?维基百科上有一些有关文件系统的详细信息,但实际上并没有说每个目录的最大文件数或查找时间。