Amazon web services 当在dynamodb中存储具有15个以上属性的对象时,最好将其作为对象存储在value中,还是将其分布在列中?

Amazon web services 当在dynamodb中存储具有15个以上属性的对象时,最好将其作为对象存储在value中,还是将其分布在列中?,amazon-web-services,nosql,amazon-dynamodb,Amazon Web Services,Nosql,Amazon Dynamodb,因此,当涉及到数据库时,我决定尝试一些新的东西。我正在遵循由以下人员概述的一个表设计: 我想知道的一件事是,如果我有一个项目要存储在数据库中,特别是dynamodb,那么如果我将属性分散到它们自己的列中,成本是相同的还是不同的,或者最好将一个对象(在本例中存储一个映射项目列表)存储在一列中而不是15列中?另外,在跨列读取与读取较大对象时,是否也存在性能差异 前。 |userid | itemid | dataObject | vs | userid | itemid | dataObjectAt

因此,当涉及到数据库时,我决定尝试一些新的东西。我正在遵循由以下人员概述的一个表设计:

我想知道的一件事是,如果我有一个项目要存储在数据库中,特别是dynamodb,那么如果我将属性分散到它们自己的列中,成本是相同的还是不同的,或者最好将一个对象(在本例中存储一个映射项目列表)存储在一列中而不是15列中?另外,在跨列读取与读取较大对象时,是否也存在性能差异

前。
|userid | itemid | dataObject | vs | userid | itemid | dataObjectAttribute1 | dataObjectAttribute2 |……| dataObjectAttribute15

简短回答:保存单独的属性

保存单独属性的原因:

  • 弹性指数
  • 保存项目大小。你可以在()
  • 限制属性返回
将嵌入属性保存为映射的原因:

  • 快速简单
  • 这些属性不需要任何索引,只需另存为原始数据并始终返回所有
  • 您需要数据非结构化/动态或分组属性