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

时间:2022-07-31 08:46:14

I need to store a large number of images in the cloud (Amazon EC2). They are already stored on NFS (as a prototype). However, my questions are:

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

  1. Is it better to store them in any db(e.g. NoSQL) or NFS is a good option. (Is it easily scalable?)
  2. 将它们存储在任何数据库(例如NoSQL)中是不是更好,或者NFS是一个不错的选择。 (它可以轻松扩展吗?)

  3. I need to query these images based on their metadata and make them accessible for users based on query results. Can you compare db and NFS based on accessibility and performance?
  4. 我需要根据元数据查询这些图像,并根据查询结果让用户可以访问它们。您可以根据可访问性和性能比较db和NFS吗?

  5. Is there any appropriate db for this purpose?
  6. 为此目的有没有合适的数据库?

2 个解决方案

#1


0  

You probably want to store your images in Amazon S3 if you want to have them accessible in the cloud. Databases either SQL or NoSQL are generally not a common option to store images.

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

SQL or NoSQL database are generally used to store data or "metadata" so you could store your images (jpg, gif, tiff, bitmap) on Amazon S3 and and your metadata that points to image file in a SQL or NoSQL database. As another option, you could also store your metadata on files in Amazon S3 if all your metadata is in files.

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

NFS across servers in a share LAN has decent performance but it really depends on how much time and money you want to spend in making your storage system reliable, scalable, etc. (also, if you want to covert it into some sort of object storage mechanism like Amazon S3) Why reinvent the wheel initially when Amazon S3 provides that for you? As your data grows you can probably experiment with having your custom storage solution.

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

Hope this helps.

希望这可以帮助。

#2


0  

I had to do exactly this for a job a year ago and we decided to store them in S3 and then store their metadata (including the s3 link to the image) in a datastore like DynamoDB (if you won't query on arbitrary metadata) or SimpleDB (if you want to query on any metadata fields).

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

The S3 Bucket size is theoretically unlimited so you will never run out of space. But by storing the metadata in a faster data store you can write more expressive queries, get better performance and limit the costs of your S3 downloads.

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

#1


0  

You probably want to store your images in Amazon S3 if you want to have them accessible in the cloud. Databases either SQL or NoSQL are generally not a common option to store images.

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

SQL or NoSQL database are generally used to store data or "metadata" so you could store your images (jpg, gif, tiff, bitmap) on Amazon S3 and and your metadata that points to image file in a SQL or NoSQL database. As another option, you could also store your metadata on files in Amazon S3 if all your metadata is in files.

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

NFS across servers in a share LAN has decent performance but it really depends on how much time and money you want to spend in making your storage system reliable, scalable, etc. (also, if you want to covert it into some sort of object storage mechanism like Amazon S3) Why reinvent the wheel initially when Amazon S3 provides that for you? As your data grows you can probably experiment with having your custom storage solution.

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

Hope this helps.

希望这可以帮助。

#2


0  

I had to do exactly this for a job a year ago and we decided to store them in S3 and then store their metadata (including the s3 link to the image) in a datastore like DynamoDB (if you won't query on arbitrary metadata) or SimpleDB (if you want to query on any metadata fields).

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

The S3 Bucket size is theoretically unlimited so you will never run out of space. But by storing the metadata in a faster data store you can write more expressive queries, get better performance and limit the costs of your S3 downloads.

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