从多个 dynamodb 表中获取项目的好方法(低延迟)?

good way (with low latency) to get items from multiple dynamodb tables?

我有几个 dynamodb tables,table A,table B,table C 和 table D。

我想从 table A 中获取项目 A,从 table B 中获取项目 B,从 table C 中获取项目 C,从 table D 中获取项目 D。

目前我对 4 tables 进行了 4 次 dynamodb getItem 调用以按顺序获取项目。每次通话花费约 12 毫秒,总计约 50 毫秒。

ItemA a = tableA.getItem("A");
ItemB b = tableB.getItem("B");
ItemC c = tableC.getItem("C");
ItemD d = tableD.getItem("D");

是否有更好的调用方式来减少延迟?不知道我怎样才能让它在这里平行。

如果请求(如您的示例中所示)彼此不依赖 - 换句话说,您无需知道第一个请求的结果即可发送第二个请求,则无需执行它们按顺序(一个接一个)- 您可以同时启动所有四个。

如何并行启动四个请求取决于您使用的特定编程,但您有一个更简单的选择:只发送一个 BatchGetItem 请求 - 其中包含四个请求。 DynamoDB 将为您并行处理所有这些请求。