存储在Heroku上的数据库图像最简单的方法?(Easiest way to store image

2019-07-31 04:06发布

我们使用他们的生产一线PostgreSQL数据库Heroku的一个回报率3.2网站。

我们的网站用户偶尔上传图片0.5 - 2MB大小。 出于不同的原因,我们希望将这些图像存储在数据库中,而不是在S3或类似的文件。

如果我们的网站是图像重,即Facebook的克隆,在一定分贝存储图像不会是一件好事。

无论如何,这是没有,所以这里有一些原因想存储在数据库中的用户提供图片:

  • 控制了一切:S3停机时间和第三方的宝石不能打破图像处理/访问图像。
  • 易删除:如果用户取消他的帐户,我们可以很容易地通过我们的轨道模型(关系依赖)删除与该帐户的所有相关图像。
  • 更简单的用户数据导出:当用户想离开我们的网站,并把他的数据和他在一起,我们可以更轻松导出自己的图像,而不必从S3出口
  • 成本:不是一个沉重的说法,但既然我们已经付出的数据库会比使用S3花费的钱(少量)便宜。
  • 备份:不是一个沉重的说法,但我们的数据库将包括与本网站相关的一切(除了RoR的代码,当然)的备份。

什么是存储在Heroku的PostgreSQL数据库图像最简单的方法? 示例代码或链接到步行通过的将是最受欢迎的。

谢谢 :)

Answer 1:

我鼓励你不使用你的数据库来存储大小的图像。

S3可以非常有效地进行备份,并极度硬化 。 从数据丢失的角度来看,它是有效的安全再发展Postgres数据库与Heroku的计划。

成本方面也是在这个例子并不是真正的最佳实践。 虽然你是对的,他们只是执行行限制,我认为这是令人难以接受的储存大量影像 - 在开发数据库计划(0.5 2MB)。

最后,从EC2(其中Heroku的托管)转移到S3的速度是非常快的,由于亚马逊的内部网络。

知道了,我也希望你重新考虑你来存储大小的图像数据库中的愿望。 见这个问题上的利弊进行更深入的分析。

还有一个开发中心的文章有关使用S3和Heroku的。



Answer 2:

正如其他人所提到的更好的选择将是S3什么的存储图像。

不过看看下面的链接,在Heroku的PostgreSQL数据库存储图像

上传数据库图像



文章来源: Easiest way to store images in database on Heroku?