如何在云上存储大量图像?

时间:2014-02-19 23:49:30

标签: database amazon-ec2 nosql

我需要在云中存储大量图像(Amazon EC2)。它们已经存储在NFS上(作为原型)。但是,我的问题是:

  1. 将它们存储在任何数据库(例如NoSQL)中是否更好,或者NFS是一个不错的选择。 (它是否可以轻松扩展?)
  2. 我需要根据元数据查询这些图像,并根据查询结果让用户可以访问这些图像。您可以根据可访问性和性能比较db和NFS吗?
  3. 是否有适当的数据库用于此目的?

2 个答案:

答案 0 :(得分:0)

如果您希望在云端访问图片,则可能希望将图片存储在Amazon S3中。 SQL或NoSQL数据库通常不是存储图像的常用选项。

SQL或NoSQL数据库通常用于存储数据或“元数据”,因此您可以在Amazon S3上存储图像(jpg,gif,tiff,位图)以及指向SQL或NoSQL数据库中的图像文件的元数据。作为另一种选择,如果所有元数据都在文件中,您还可以将元数据存储在Amazon S3中的文件中。

共享局域网中服务器之间的NFS具有不错的性能,但它实际上取决于您希望在使存储系统可靠,可扩展等方面花费多少时间和金钱。(另外,如果您想将其转换为某种类型)像Amazon S3这样的对象存储机制)为什么在Amazon S3为您提供时最初重新发明轮子?随着数据的增长,您可以尝试使用自定义存储解决方案。

希望这有帮助。

答案 1 :(得分:0)

我必须在一年前完成这项工作,我们决定将它们存储在S3中,然后将其元数据(包括图像的s3链接)存储在DynamoDB等数据存储区中(如果您不查询任意元数据)或SimpleDB(如果您想查询任何元数据字段)。

S3 Bucket size理论上是无限的,所以你永远不会用完空间。但是,通过将元数据存储在更快的数据存储中,您可以编写更具表现力的查询,获得更好的性能并限制S3下载的成本。