我正在构建一个需要处理其用户上传的存储文件的应用程序(主要是图像和pdf文件)。一种档案应用程序。 为了以最有效的方式存储文件,我正在寻找一些关于在服务器上存储文件的最佳实践指南。
我试图在谷歌研究这个主题,但我找不到有用的知识 我很确定这是一个非常受欢迎的主题,我只是没有找到合适的地方。
也许有人可以推荐我这方面的文章,或者为我提供一些关键词,以便回答这些问题:
感谢您的帮助
答案 0 :(得分:0)
这取决于您需要多少用户,多少个同时连接,多少个文件。如果你的目标是数PB大小,那么事情总是复杂的(参见例如GlusterFS)!
我会生成文件名。您可能希望拥有数百个目录,每个目录都有几千个文件(这取决于很多文件系统; ext4 可能比 ext3 更好)。所以像dir034/file12345.jpeg
之类的东西(并在某个数据库中存储该文件路径)。
某些旧文件系统在大型目录中访问给定文件时具有线性复杂性。使用百万个文件的目录进行处理(例如自动完成)时,shell可能会感到不快。因此,我建议避免使用超过几千个文件的目录!
您可能会以不同的方式处理非常小的内容(例如,小于一千字节),可能直接将它们存储在某个数据库行中...