Database DynamoDB表设计:一个属性与嵌套的json或多个属性
在阅读AWS dynamoDB文档时,我发现它不建议创建多个表。但是,当我们将json格式的数据放在DynamoDB表中时,应该创建一个具有多个级别(如10)的嵌套json内容的属性,还是创建具有较少级别的多个属性?我想是逐案的。但我想知道的是设计dynamoDB表时的一般规则。在阅读了AWS文档之后,我仍然感到困惑,所以我在这里发帖提问。谢谢 虽然没有任何标准规则,但我认为作为指导方针的最佳方法是审查Database DynamoDB表设计:一个属性与嵌套的json或多个属性,database,nosql,amazon-dynamodb,Database,Nosql,Amazon Dynamodb,在阅读AWS dynamoDB文档时,我发现它不建议创建多个表。但是,当我们将json格式的数据放在DynamoDB表中时,应该创建一个具有多个级别(如10)的嵌套json内容的属性,还是创建具有较少级别的多个属性?我想是逐案的。但我想知道的是设计dynamoDB表时的一般规则。在阅读了AWS文档之后,我仍然感到困惑,所以我在这里发帖提问。谢谢 虽然没有任何标准规则,但我认为作为指导方针的最佳方法是审查 DynamoDB功能(键、索引) 极限 定价模型 在设计桌子之前。在您的案例中,拥有属性
- DynamoDB功能(键、索引)
- 极限
- 定价模型
- 为高效查询建立索引的可能性(避免扫描的性能更好,IOPS利用率低,从而降低成本)
- 仅投影所需的属性
- 但是限制了建模的灵活性
- 更多的属性和结构上的灵活性
- 更倾向于文档结构从键值性质转移
- 但限制了深层嵌套属性的高效查询
- IOPS成本更高,因为即使读取嵌套属性也需要检索整个嵌套属性(这也会增加成本)