gpt4 book ai didi

amazon-web-services - 读取整个表的推荐方法(Lambda、DynamoDB/S3)

转载 作者:行者123 更新时间:2023-12-02 20:33:38 26 4
gpt4 key购买 nike

我是 AWS 新手,正在开发一个无服务器应用程序,其中一个函数需要读取大量数据。永远不会从表中读取单个项目,但所有项目都会通过计划功能定期更新。

对于处理这种情况的最有效方法,您有何建议?我当前的实现在 DynamoDB 表上使用 scan 操作,但由于我的经验有限,我不确定这是否会在生产中发挥作用。将数据作为 JSON 文件存储在 S3 上是否会更好?如果是这样,使用计划函数更新值会那么容易吗?

感谢您的宝贵时间。

PS:为了了解数据库的大小,将有约 1500 个项目,每个项目包含最多约 100 个字符串的数组

最佳答案

这取决于每个项目的大小,但是如何呢?

首先,要使用 DynamoDB 或 S3,您需要为两项服务付费(根据您的情况*):

1-每月请求

2- 每月存储空间

如果您有小项目,那么如果您从 DynamoDB 而不是 S3 读取项目,第一种情况会便宜多达 577 倍

方式:S3 每 1,000 个请求 0.01 美元,而 DynamoDB 每月 520 万次读取(每个请求最多 4 KB)。另外,您还应该为 S3 中的数据检索支付每 GB 0.01 美元的费用,这应该加到该价格中。但是,您对 S3 的写入将是免费的,而您需要为每次写入 DynamoDB 付费(这几乎比读取贵 4 倍)。

但是,如果您的项目每次读取需要如此多的 RCU,在这种情况下 S3 可能会更便宜。

关于存储成本,S3 更便宜,但您应该再次看到您的数据有多大,因为您为 S3 每 GB 支付最多 0.023 美元,而每月每 GB 支付 0.25 美元,几乎贵了 10 倍。

结论:如果您有如此多的请求并且您的项目较小,那么使用 DynamoDB 会更容易、更直接,因为您不会放弃使用 DynamoDB 所具有的任何查询功能,而如果您使用 S3,则显然不会有这些功能。否则,您可以考虑在 DynamoDB 中保留指向存储在 S3 中的对象位置的指针。

(*) 您为 S3 中的标签或 DynamoDB 中的索引支付的费用是您需要使用它们时需要考虑的另一个因素。

关于amazon-web-services - 读取整个表的推荐方法(Lambda、DynamoDB/S3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47860023/

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