阅读投影表达式文档并不能为我提供足够的技术细节来了解我们通过使用它们究竟节省了什么。
- 我保存了什么内存,如果有的话。是在 DynamoDB 方面吗?或者只是在应用程序级别。如果是这样,它如何影响性能和定价?
- 与通过键查找条目相比,隔离 ddb 条目的嵌套属性的成本有多高。
对于一点上下文,我正在尝试确定多语言项目的数据结构:
选项 A:
{
id: 'yes',
en: 'Yes',
es: 'Si'
},
{
id: 'no',
en: 'No',
es: 'No'
}
选项 B:
{
id: 'en',
yes: 'Yes',
no: 'No'
},
{
id: 'es',
yes: 'Si',
no: 'No'
}
虽然选择选项 A 似乎很明显,但我有一个相互矛盾的用例:当客户端应用程序启动时,它需要获取 UI 的整批字符串。因此,对于选项 A,这可能意味着对大约 300 个项目进行批量查询。不理想。
坏消息:似乎对定价没有影响,因为它使用相同数量的 RCU,并且您仍然会达到 1MB 的扫描限制。
好消息:我已经看到了在删除处理不一定需要的大型列时对网络使用、延迟和吞吐量的好处。 例如,您创建一个最终返回 10000 个项目的扫描。 如果您只需要 40kb 记录中的 10kb,则可以节省 300mb。