在社交网络上存储文件的最佳方式

时间:2017-01-15 08:34:36

标签: php node.js mongodb bigdata

我正在使用 Mongo databasePHPNodes.js ,并且在保存文件方面存在问题。

因为:文件大小可能超过1PB(1000 TB)。

在我看来有两种方法可以做到:

  1. 将文件保存在服务器上(jpg,mp3,mp4,...)
  2. 在post(bit,...)
  3. 上保存Mongo数据库上的文件

    女巫更好?

    如果您有其他解决方案,请告诉我。

1 个答案:

答案 0 :(得分:2)

对于大数据存储,您通常不希望将巨型数据文件(如图像,音乐文件,视频文件)本身存储在数据库中。

相反,将大文件存储在文件系统中(可能跨多个驱动器/服务器),您可以在数据库中存储文件名/卷引用以及任何其他相关元数据。

这也允许您直接从文件系统将这些文件流式传输给用户(在浏览器请求时),而不是必须将它们从数据库格式转换为您发送给用户的内容。

而且,如果您将拥有大量存储空间,您可能应该从一开始就设计您的系统,以便能够轻松使用AWS等云存储服务。我知道一些受欢迎的照片共享服务背后的人,他们转而使用AWS进行图像存储,节省了大量资金,获得了更好的性能和更轻松的冗余。如果您还没有计划从托管服务开始,那么您应该考虑如何随着时间的推移将至少部分服务转移到一个服务。