我在这里读了几个答案,说明为什么SQL中的二进制文件/图像可能是一个坏主意(例如增加备份时间,可能会使查询变慢)。我们的项目是:
我们必须在线存储大约5000张图像,每张最多1MB,因此大约有5GB的存储空间以及每张图像的少量元数据。它未来不太可能变得更加复杂。
我们有一个CMS,可让您修改/上传照片。可能一次只有一个人会使用它。
我们有一个应用程序在一台计算机上运行,该计算机将保留所有照片的副本以提高显示速度(即当CMS添加照片时,我们会有一些方法将此图像同步到应用程序)。为了举个例子,假设这个应用程序是一个不断运行的幻灯片。
计划是使用AWS或Heroku之类的东西来托管具有自动备份的SQL数据库,元数据+图像将存储在数据库中。
这个使用例如图像的S3 +元数据的数据库很简单。鉴于数据库使用率低,我无法看出速度是一个问题。慢速备份似乎也不是问题。对于这个项目,成本和低维护也很重要。
这看起来是一个合理的设计还是会遇到问题?有什么简单的东西有我缺少的优势吗?
答案 0 :(得分:0)
我相信pg_dump会将您的图像blob转储为十六进制,因此转储文件可能很大。我也不会假设1MB的图像在db中只消耗1MB。
用一千张相同的图像运行测试,看看你的假设是否有效。