我想存储项目列表到一些父对象。DynamoDB:如何存储项目列表
父对象将会像如下:
user_id - hash key
timestamp - range key
attributeA - String
attributeB - Number
listC - List of objects
listC是对象(如JSON),其中,每个对象可以有几个字段的列表:
attrX - number
attrY - string
attrZ - string
的大小该列表可以变化,从少数元素到追踪。
我应该如何储存它们?
由于DynamoDB的限制,恐怕我无法将此列表作为父对象的属性。我想把这些清单移到另一张桌子上。不过,我不知道我应该:
- 保持每个列表的项目作为一个单独的记录,
- 分割清单的项目很多单独的记录,其中每个数据库记录有几个项目。
方法(1):
-------------------------------------
| parent_id | attrX | attrY | attrZ |
-------------------------------------
| 178 | 2 | "abc" | "xyz" |
-------------------------------------
| 178 | 2.4 | "klm" | "qwe" |
-------------------------------------
方法(2):
------------------------------------------------------------------------
| parent_id | Chunk | ListC |
------------------------------------------------------------------------
| 178 | 1 | [{ X: "2", Y: "abc" }, { X: "2.4", Y: "klm" } ] |
-------------------------------------------------------------------------
| 178 | 2 | [{ X: "2.8", Y: "nop" }, { X: "3.2", Y: "qrs" } ] |
------------------------------------------------------------------------
你有什么建议吗?