我应该存储同一个文件的多个实例吗?

我应该存储同一个文件的多个实例吗?

问题描述:

我正在研究一个很多用户可以上传文件的Web应用程序。我可以存储存储文件的散列,并检查文件是否已经存在于服务器上,只存储一些元数据(文件名,所有者...),并在用户需要检索文件时将用户重定向到该文件。当所有用户软删除他们的文件时,我可以删除该文件。我应该存储同一个文件的多个实例吗?

我的问题是我应该在企业应用程序上做还是额外的编程工作,以衡量它的好处,云驱动器......?

这个问题的一般方法是什么?邮件服务器,社交网络和类似于SE的网站呢?

+0

不要重新发明[方向盘](https://blogs.oracle.com/bonwick/entry/zfs_dedup)。 – eggyal

+0

对不起,这样的问题是不可能以一般的方式回答的。因为这显然取决于你的情况。如果你期望许多这样的重复,那么你当然想要实现它。如果不是,那么可能不是。我们无法分辨您的情况。 – arkascha

如果您可以预见正在上传的大量重复项,则只执行散列策略。否则,不值得添加您必须排除和维护的不必要的复杂性。