那麼你的選擇是:
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編碼數據的單個塊存儲。
對於第二部分的確,您是對的,您不需要再次存儲用戶標識和日期時間作爲屬性的一部分,因爲它們是散列和範圍鍵,在您發出請求時會返回。
只是跟隨上下文術語:檢索屬性的子集=投影 – Alireza