我有一個dynamodb表,其中屬性名稱是大字符串,但整個項目只有1KB。我應該減少屬性名稱爲小字符串的網絡和存儲性能,因爲每個項目將具有屬性名稱以及價值或dynamodb會自動壓縮到短代碼,然後存儲?dynamodb屬性名稱壓縮
0
A
回答
2
除基本表和索引的主鍵外,屬性名稱是用戶確定的,因此DynamoDB無法優化存儲屬性名稱。此外,寫入以1KB的增量收費。如果您的項目大小是600或1000字節,則無關緊要;這樣的項目將招致1個WCU寫入。出於可用性目的,最好有可讀的屬性名稱,所以如果您的應用程序允許它,也許保留屬性名稱原樣?
0
雖然這是事實,單項讀取4KB的增量通過置備容量單元間接帶電而寫在1KB的增量充電時,查詢或表掃描過程中這些計算是針對求和總的使用讀取或寫入數據大小。
換句話說,使用短屬性名稱確實有助於顯着提高查詢的吞吐量(對於相同的配置價格),因爲每個項目的尺寸較小,所以需要更多的項目讀取容量達到4 KB或容量單位耗盡時寫入1 KB。
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html
「注意 我們建議您選擇較短的屬性名稱,而不是長期的。這將幫助你優化容量單耗降低存儲你的數據所需的時間。」
還要注意,與字符串相比,數字存儲更緊湊,每個字節有2個數字。因此,包含字母的ISO格式日期時間(例如2018-02-21T10:17:44.123Z)將佔用比將其存儲爲數字(例如20180221101744.123)多得多的空間(24字節),而省去佔用較少空間的字母10個字節 - 每個數字對是一個字節加一個字節的符號和小數位)
相關問題
- 1. C#屬性名稱縮寫
- 2. ElasticSearch 5字段名稱壓縮
- 3. JavaScript壓縮和對象屬性問題
- 4. kivy:「無效的屬性名稱」爲有效的屬性名稱
- 5. .NET:獲取屬性名稱屬性
- 6. 名單壓縮機
- 7. NSCache的名稱屬性
- 8. nHibernate Session.Load屬性名稱
- 9. PHP類屬性名稱
- 10. 對象的屬性名稱
- 11. FLURL:映射屬性名稱
- 12. Win32Api - 窗口名稱屬性
- 13. ZK InputElement名稱屬性
- 14. 屬性類中的名稱
- 15. 按名稱排序屬性
- 16. XSL顯示屬性名稱
- 17. MVC EditorFor屬性名稱
- 18. @RequestParam,名稱與值屬性
- 19. 更改xml屬性名稱
- 20. 佈局XML屬性名稱
- 21. 按名稱檢索屬性
- 22. WMI更改名稱屬性
- 23. AutoMapperMappingException獲取屬性名稱
- 24. 動態屬性名稱
- 25. 獲取屬性名稱
- 26. JavaScript中的屬性名稱
- 27. 通過屬性名稱
- 28. TextBox - 綁定屬性名稱
- 29. .NET有效屬性名稱
- 30. textfield的屬性名稱