投影表达式有好处吗?

Bir*_*sky 2 amazon-web-services nosql amazon-dynamodb

阅读投影表达式文档并没有给我足够的技术细节来了解我们通过使用它们究竟能节省什么。

  1. 我保存了什么内存,如果有的话。它在 DynamoDB 端吗?或者只是在应用程序级别。如果是这样,它如何影响性能和定价?
  2. 与通过键查找条目相比,隔离 ddb 条目的嵌套属性的成本更高。

对于一些上下文,我正在尝试为多语言项目确定数据结构:

选项A:

{
  id: 'yes',
  en: 'Yes',
  es: 'Si'
},
{
  id: 'no',
  en: 'No',
  es: 'No'
}
Run Code Online (Sandbox Code Playgroud)

选项 B:

{
  id: 'en',
  yes: 'Yes',
  no: 'No'
},
{
  id: 'es',
  yes: 'Si',
  no: 'No'
}
Run Code Online (Sandbox Code Playgroud)

虽然选择选项 A 似乎很明显,但我有一个相互矛盾的用例:当客户端应用程序启动时,它需要获取 UI 的整批字符串。因此,对于选项 A,这可能意味着对 300 个项目进行批量查询。不理想。

cri*_*ium 5

坏消息:似乎对定价没有影响,因为它使用相同数量的 RCU,并且您仍然会达到 1MB 的扫描限制。

好消息:我已经看到在删除处理不一定需要的大列时网络使用、延迟和吞吐量方面的好处。例如,您创建一个最终返回 10000 个项目的扫描。如果您只需要 40kb 记录中的 10kb,您正在节省 300MB。