将图像作为数据URI存储在数据库BLOB中是不是很糟糕?

时间:2013-10-09 03:41:04

标签: html mysql image blob innodb

我正在创建一个可以查看文章的移动应用。这些文章只是简单的html,每个都有几个图像。我目前正在将所有内容存储在数据库中。稍后,我将需要以简单的格式将文章本地保存到设备。出于这个原因,我选择使用数据URI方案将Base64图像存储在数据库中(查看信息http://en.wikipedia.org/wiki/Data_URI_scheme)。

我的问题是:将这么多数据存储在一个数据库条目中是否可以?我有一个表只适用于这些大型记录,文章元数据表指向这些。如果我使用TEXT字段而不是BLOB会更好吗?

如果有帮助,我将使用带有InnoDB引擎的MySQL。

4 个答案:

答案 0 :(得分:2)

避免使用数据库存储映像是一种很好的做法,将数据保留在数据库中不仅会降低数据库性能,还会增加其大小和备份,如果您使用云服务,则还存在成本问题。

为此目的使用S3或Azure,并且只有db.Files中的映像的url可以直接上载到存储服务,从而减少数据库服务器上的负载。剩下要做的唯一事情是你的移动应用程序连接这两个服务(数据库和图像服务),我发现this web tool来管理我的移动应用程序数据库,因为它连接到我的图像云服务,这是Azure但我认为他们也支持Amazon S3。

答案 1 :(得分:1)

另一种选择是将图像存储在以下内容中:

Amazon S3

然后在数据库中只有一个字段,用于存储每个图像的URL。

答案 2 :(得分:1)

只要你没有像facebook那样大的数据库或类似的数据,它应该没问题。 最好只将图像的路径和图像本身存储在文件夹中。

希望有所帮助

答案 3 :(得分:0)

您还可以查看Azure Blob存储。我一直在使用它并且它运作良好。