我有兩種不同的吞吐量需求定向到一個DynamoDB表的查詢。DynamoDB影響表配置容量中的全局二級索引(GSI)
- 第一個用例需要讀/寫只使用主鍵,但需要至少1700 /秒的寫入和8000 /秒的讀取
- 第二個用例利用每GSI,但使用GSI查詢並不多見之間。每分鐘少於10次查詢。
因此,我爲GSI提供的容量將遠小於爲主鍵提供的容量。這是否意味着當我在桌子上寫字時,性能上限是我爲GSI設置的?
我有兩種不同的吞吐量需求定向到一個DynamoDB表的查詢。DynamoDB影響表配置容量中的全局二級索引(GSI)
因此,我爲GSI提供的容量將遠小於爲主鍵提供的容量。這是否意味着當我在桌子上寫字時,性能上限是我爲GSI設置的?
問AWS支持同樣的問題,以下是他們的回答:
你的問題值得一問。在這種情況下,你提到GSI中的讀/寫請求會被扼殺,而10次寫入/分鐘將成爲有效限制。當您更新主表時,這會造成問題,更新將鏡像到GSI。因此,您應該爲GSI提供類似的寫入能力,或者不要在GSI中保留將經常更新的屬性。
這裏是鏈接到我們的文檔,這將有助於你: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.ThroughputConsiderations
我這麼認爲。當您添加新項目時,還需要將它們添加到GSI索引中,因此需要的容量也相同
爲了使表寫入成功,表的預置吞吐量設置和其所有全球二級指數都必須有足夠的寫入容量來適應寫入;否則,寫入表格將受到限制。
是有更多的細節和用例在這裏: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.ThroughputConsiderations