我正在设计一个存储许多大文件的解决方案。从我在stackoverflow上读到的内容来看,像Mongodb这样的数据库系统是存储大量文件的最佳方式(来源:Scalable File Storage)。为什么?当然,我最好将文件存储在文件系统中的可扩展系统上,比如亚马逊,并给每个文件一个ID。许多大文件的PHP存储
,试图寻找一个答案我已经看过:
- Image upload storage strategies
- MySQL Binary Storage using BLOB VS OS File System: large files, large quantities, large problems
- Large scale image storage
- Difference between Object Storage And File Storage
- Scalable File Storage
到目前为止,我一个ppreciate:
- 存储在文件系统上会使服务器迁移困难得多。
- 对于可以保存在目录中的文件和文件夹的数量是有限制的。
这两点似乎都没有说服我,值得编程文件的额外工作保存在数据库中。如果我在其中存储大文件而不是直接存储在文件系统中,它也会增加数据库灾难性损坏的风险。我目前正在考虑将这些文件存储在Amazon S3解决方案中。你能否让我知道是否疯狂和/或如果我忽视了什么?
我不确定你在做什么,但如果涉及金钱,我会使用第三方来确保他们将被安全地存储。然而,在大多数情况下,我会将它们存储在文件系统中。事情是,你需要想出一个好的数据库模式来组织文件和他们所有的信息。你必须问自己的另一个问题是,这些文件是否应该受到保护?如果是这样,您需要采取额外步骤以确保无法通过URL操作轻松访问它们。 – 2013-04-27 11:16:00
存储大文件的最佳方式是在服务器的文件系统上,或在cdn上,而不是在数据库中 - 只存储对数据库中文件的引用 – 2013-04-27 11:16:13
我会使用S3。我会考虑开发自己的系统的唯一条件是是否存在符合S3要求的合规要求。在小范围内,建立一个系统来构建一个与s3具有相同性能/可靠性的系统将是非常昂贵的。 – datasage 2013-04-27 11:21:34