gpt4 book ai didi

amazon-web-services - Dynamodb 一次批量扫描与多次单次获取

转载 作者:行者123 更新时间:2023-12-03 08:54:35 28 4
gpt4 key购买 nike

假设我有一个 lambda 函数,并且作为事件参数,我得到了大约 50 个主 id,我必须在 dynamodb 表中查找它们,那么更好的方法是什么 - 50 个查询,每个查询都由不同的主 id或者一次扫描,然后将扫描主 ID 结果与作为参数接收的主 ID 进行比较?

我认为 50 个 get 查询在性能方面会更好,因为如果明天我将有 100 万条记录,那么扫描所有记录然后仅过滤其中的 50 条将浪费时间和内存,但另一方面是浪费时间和内存向 dynamodb 发出 50 个请求是否会产生性能问题并需要更多配置?

最佳答案

你说得对,假设您只需要读取一百万条记录中的 50 条,那么 Scan 操作可能是最糟糕的解决方案。它会非常慢,并且会花费你一大笔钱,因为当你扫描时,你需要向亚马逊付费来读取你的所有数据 - 即使如果你过滤掉大部分数据。

发出 50 个单独的 GetItem 请求并不是那么糟糕 - 它肯定比扫描更好。您只需为实际检索到的商品向亚马逊付费 - 您无需支付更多费用,因为这是 50 个单独的请求。当然,如果您不想要巨大的延迟,请不要一个接一个地启动这些请求 - 并行启动它们。

但对于此用例,DynamoDB 提供了更好的操作 BatchGetItem。通过此操作,您只需在一个 HTTP 请求中向 DynamoDB 提供 50 个所需 key 的列表,它就会(并行)获取所有这些 key 并向您返回所有响应。看来 BatchGetItem 最适合您的用例。

关于amazon-web-services - Dynamodb 一次批量扫描与多次单次获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56536291/

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