因此,我决定在使用数据库方面尝试一些新的东西。我遵循以下概述的一张表设计:Rick video here .
我想知道的一件事是,如果我有一个项目要存储在数据库中,特别是 dynamodb,如果我将属性分散到它们自己的列中,成本会相同还是不同,或者最好存储一个对象(在在这种情况下,将 map 项列表存储在一列而不是 15 列中?另外,跨列读取与读取较大对象时是否也存在性能差异?
例如。 |userid|itemid|dataObject| vs |userid|itemid|dataObjectAttribute1|dataObjectAttribute2|...|dataObjectAttribute15
最佳答案
简短回答:保存单独的属性。
保存单独属性的原因:
- 灵活索引
- 保存项目大小。您可以在( https://zaccharles.github.io/dynamodb-calculator/ ) 处查看
- 限制属性返回
将嵌入属性保存为 map 的原因:
- 快速而简单。
- 您不需要对这些属性建立任何索引,只需保存为原始数据并始终返回全部
- 您需要一些数据非结构/动态或分组属性
关于amazon-web-services - 当在 dynamodb 中存储具有超过 15 个属性的对象时,最好将其存储为 value 内部的对象还是将它们分布在列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59656512/