Not really a question, just seeking out some confirmation.
On the DynamoDB lecture, it is presented a pattern of using GSIs with projection ALL to replicate the table and provide different tiered users access to each of these distinct DBs, saying that the table will have higher RCU/WCU than the GSI. But writing to the table is constrained by WCU on the GSI (and gets throttled if DDB goes over WCU on the GSI). I’m not sure if I’m missing something or if the lecture is missing out on mentioning that WCUs must match between tables.
In that example, I was thinking more about the read capacity…we could have a higher RCU for the Premium Users and lower RCU for the Free Users.
You are correct that constraining WCU for the table and GSI will be USUALLY the lesser of the two–assuming a full projection. The consumption rules are kind of complex depending on what sort of update and whether the attribute is projected to a GSI or not. For example, if I’m updated an attribute on the base table that does not exist in the GSI, no WCU in the GSI is consumed. AWS suggests having your WCU equal to or greater than the base table to make sure you don’t get throttled on the base table.