我需要一些幫助設計DynamoDB Hash + Range密鑰方案以實現快速單項寫入訪問以及對項目組的快速並行讀取訪問。用於在DynamoDB中快速訪問和檢索粉絲數據的高效架構
背景:
目前,每一個扇形編組鏈接存儲爲以下格式中的項目:
{
user_id : NUMBER
fanned_id : NUMBER
timestamp: NUMBER
},
其中user_id是散列鍵和fanned_id是範圍鍵。此方案允許快速訪問單個球迷項目(通過user_id + fanned_id),但是當從DynamoDB中讀取完整球迷時,如果用戶已成千上萬其他用戶轉移數據,則需要很長時間才能傳輸數據。
這是我如何查詢使用博託 Python庫DynamoDB:
table = Table("fanship_data", connection=conn)
fanship = []
uid = 10
for fanned in table.query_2(user_id__eq=uid):
fanship.append((fanned["fanned_id"],fanned["timestamp"]))
顯然吞吐量瓶頸是在博託查詢,因爲用戶的整個fanship必須以每秒25個項目被轉移,即使我已經爲DynamoDB指定了高吞吐量。
我的問題給你:
假設有大的讀吞吐能力,並且所有的數據存在於DynamoDB。我不介意訴諸多處理,因爲這對於並行傳輸數據是必要的。 Hash + Range鍵的什麼方案可以讓我快速傳輸用戶的完整粉絲?