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



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

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

如果你想让图像在云中访问,你可能想把它们存储在AmazonS3中。SQL或NoSQL数据库通常不是存储图像的常用选项。

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

共享局域网中跨服务器的NFS具有不错的性能,但这实际上取决于您想花费多少时间和金钱来使存储系统可靠、可扩展等?随着数据的增长,您可能可以尝试使用自定义存储解决方案。

希望这能有所帮助。

一年前,我不得不为一项工作做到这一点,我们决定将它们存储在S3中,然后将它们的元数据(包括指向图像的S3链接)存储在DynamoDB(如果您不想查询任意元数据)或SimpleDB(如果你想查询任何元数据字段)这样的数据存储中。

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

最新更新