したがって、オプションは次のとおりです。
Hash Key | Range Key | Attributes
----------------------------------
user id | utc time | json data
----------------------------------
user123 | 1357306017 | {UserID1:0, UserID2:0, Message:"", DateTime:0}
また
Hash Key | Range Key | Attributes
--------------------------------------------------------------
user id | utc time | UserID1 | UserID2 | Message | DateTime
--------------------------------------------------------------
user123 | 1357306017 | 0 | 0 | "" | 0
どちらも実行可能なオプションであり、選択はデータの読み取り方法に帰着します。各アイテムの属性がある場合は、それらの属性を個別に要求できます。
私たちは、使用パターンに基づいてハイブリッド アプローチを使用する傾向があります。個別にアクセスする必要がある要素には、独自の属性が与えられます。他の要素のコレクションと一緒にアクセスしたいだけの要素には、すべて単一の属性が割り当てられ、JSON 文字列または base64 でエンコードされたデータの単一のブロブとして保存されます。
パート 2 については、確かにそのとおりです。ユーザー ID と日時を属性の一部として再度保存する必要はありません。これらは、リクエストを行ったときに返されるハッシュ キーと範囲キーであるためです。