Ich möchte eine Liste von Elementen speichern, die zu einem übergeordneten Objekt gehören.DynamoDB: So speichern Sie eine Liste von Elementen
Geordnetes Objekt wäre wie folgt:
user_id - hash key
timestamp - range key
attributeA - String
attributeB - Number
listC - List of objects
listC ist eine Liste von Objekten (wie JSON), wobei jedes Objekt ein paar Felder haben:
attrX - number
attrY - string
attrZ - string
Die Größe Die Liste kann variiert werden, von wenigen Elementen bis zu Hundreads.
Wie soll ich sie speichern?
Aufgrund der Grenzen von DynamoDB habe ich Angst, dass ich diese Liste nicht als Attribut des übergeordneten Objekts behalten kann. Ich denke, diese Listen in eine andere Tabelle zu verschieben. Allerdings bin ich nicht sicher, ob ich sollte:
- jedes Einzelteils halten Liste als separater Datensatz,
- Split Liste der Elemente zu viele separate Datensätze, wobei jeder Datensatz der Datenbank paar Elemente hat.
Approach (1):
-------------------------------------
| parent_id | attrX | attrY | attrZ |
-------------------------------------
| 178 | 2 | "abc" | "xyz" |
-------------------------------------
| 178 | 2.4 | "klm" | "qwe" |
-------------------------------------
Approach (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" } ] |
------------------------------------------------------------------------
Was würden Sie mir empfehlen?