gpt4 book ai didi

amazon-s3 - 存储大量图像 S3 与 DynamoDB

转载 作者:行者123 更新时间:2023-12-03 11:47:57 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7年前关闭。




Improve this question




我正在研究需要每秒存储大量图像的项目。如果我应该将我的图像存储在 S3 或 DynamoDB 中,我有点困惑。我的困惑是因为 S3 似乎不支持批量请求,如果需要,我必须能够批量获取所有图像;另一方面,我不确定将所有这些图像存储在 dynamoDB 的表中是否是个好主意。最好的方法是什么?

最佳答案

简短回答:使用 S3。

长答案:DynamoDB 将单个记录限制为 64 KB,因此除非您的图像很小,否则您可能无法使用 DynamoDB。

您提到想要在批处理请求中读取图像,但 DynamoDB 批处理请求最多返回 100 条记录或 1 MB(以较小者为准),因此无论如何您都无法一次检索所有图像。您可以通过一次读取一个页面来从 DynamoDB 中转储所有内容,这意味着大量请求一个接一个。不快。

DynamoDB 的延迟比 S3 低,并且支持可配置的吞吐量。但是,S3 支持开箱即用的尽可能多的并发性。想要一次上传 1000 张图片?去吧!如果每个对象需要 400 毫秒来写入并不重要,因为您可以同时传输任意数量的对象。类似地,您可以通过获取存储桶中所有内容的列表然后并行检索每个对象来转储 S3 中的所有内容。

使用 S3 的其他原因:

  • HTTP 兼容性,因此您可以将其他人或应用程序直接指向存储桶
  • 大大降低存储成本
  • 按请求付费,而不是预配置的吞吐量(DynamoDB 中 640 KB/s 的写入容量每月花费 460 美元,而 S3 中每 1000 次上传成本为 0.01 美元)

  • 我能想象的 DynamoDB 对图像存储可能有意义的唯一情况是,如果您的图像很小,经常更改,并且您对读取延迟非常敏感。除此之外,使用S3。

    关于amazon-s3 - 存储大量图像 S3 与 DynamoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12775012/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com