在数据库Vs文件系统中存储文件



我的一个客户要求一个文档管理系统来处理数千个不同格式的文档,例如pdf、doc、docx等。我的问题是什么是最好的方式来存储这个文件在数据库或文件系统?在这两种方法之间保护文档有多容易?

文件的快速检索是关键要求…

如果有帮助,我正在使用mysql

问候。

您可能希望将其直接存储到文件系统中。

使用文件系统时要注意:

  • 机密性:将文档放在Apache文档根目录之外。然后PHP控制器将输出文档。
  • 分片路径:不把上千个文档放在同一个目录下,做不同的目录。例如,您可以在文件名上使用散列进行分片。如/documents/A/F/B/AFB43677267ABCEF5786692/myfile.pdf.
  • Inode编号:如果您存储大量小文件(如果主要存储PDF和office文档可能不是您的情况),您可能会耗尽Inode。

如果你需要搜索这些文档(日期/标题等),你可能需要将元数据存储到数据库中以获得更好的性能。

供参考,在这个问题中,MS SQL Server有文件系统列类型(像一个混合),但目前MySQL没有替代。

对于大型数据块使用文件系统访问通常意味着比将它们存储在mysql数据库中更快的访问速度和更少的开销。

一个有趣的和可能相关的帖子:在数据库中存储图像-是还是不是?

对于高性能,您应该使用文件系统,使用php glob函数和JS接口。我在三月份完成了这样的项目。

相关内容

  • 没有找到相关文章

最新更新