我们在Heroku上使用他们的生产层PostgreSQL数据库有一个RoR 3.2站点。
我们的网站用户偶尔会上传大小为0.5 - 2MB的图片。出于不同的原因,我们希望将这些图像存储在数据库中,而不是存储在S3或类似文件上。
如果我们的网站图片很重,即Facebook克隆,肯定会将数据存储在数据库中并不是一件好事。
无论如何,它不是,所以这里有一些想要在数据库中存储用户图像的原因:
在Heroku PostgreSQL数据库中存储图像的最简单方法是什么?我们非常欢迎示例代码或指向演练的链接。
谢谢:)
答案 0 :(得分:9)
我建议您不要使用数据库存储该大小的图像。
S3可以非常有效地备份,并且是extremely hardened。从数据丢失的角度来看,它实际上比使用Heroku的development postgres database计划更安全。
在此示例中,成本方面也不是最佳实践。虽然你是对的,但他们只强制执行行限制,我认为在开发数据库计划中存储大图像(0.5 - 2mb)是不礼貌的。
最后,由于亚马逊的内部网络,从EC2(主办Heroku)转移到S3的速度非常快。
知道这一点,我建议你重新考虑将这种大小的图像存储在数据库中的愿望。有关优缺点的更深入分析,请参阅this question。
还有一个关于使用S3和Heroku的dev center article。
答案 1 :(得分:4)