存储文件的最佳实践

时间:2013-12-26 07:33:20

标签: php linux web-applications storage archive

我正在构建一个需要处理其用户上传的存储文件的应用程序(主要是图像和pdf文件)。一种档案应用程序。 为了以最有效的方式存储文件,我正在寻找一些关于在服务器上存储文件的最佳实践指南。

我试图在谷歌研究这个主题,但我找不到有用的知识 我很确定这是一个非常受欢迎的主题,我只是没有找到合适的地方。

也许有人可以推荐我这方面的文章,或者为我提供一些关键词,以便回答这些问题:

  1. 应该存储文件并共享应用程序使用的同一服务器吗?或者它们是否应该存储在与Web应用程序服务器分开的不同专用服务器中?
  2. 在服务器上存储文件时需要执行哪些操作,以使其尽可能少地使用资源。
    1. 安全问题
    2. 这个领域最受欢迎的平台是什么?
  3. 感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这取决于您需要多少用户,多少个同时连接,多少个文件。如果你的目标是数PB大小,那么事情总是复杂的(参见例如GlusterFS)!

我会生成文件名。您可能希望拥有数百个目录,每个目录都有几千个文件(这取决于很多文件系统; ext4 可能比 ext3 更好)。所以像dir034/file12345.jpeg之类的东西(并在某个数据库中存储该文件路径)。

某些旧文件系统在大型目录中访问给定文件时具有线性复杂性。使用百万个文件的目录进行处理(例如自动完成)时,shell可能会感到不快。因此,我建议避免使用超过几千个文件的目录!

您可能会以不同的方式处理非常小的内容(例如,小于一千字节),可能直接将它们存储在某个数据库行中...