There is an existing table in DynamoDB with few billion records and I want to add a Global Secondary Index (GSI) to it. Does this consume any Read Request Units (RRU) from the table capacity OR a Write Request Units (WRU) for the index. I am interested to understand any costing involved related to this operation.
I am aware of the storage costs involved with respect to GSI (post creation).
2
Answers
Enabling a GSI won’t cause more RRUs to be consumed on the base table. It uses a similar mechanism to DynamoDB streams for the replication to the underlying index table.
The GSI will consume its own Write Request Units when changes are written to it. Reading from the GSI also causes RRUs for that index to be consumed.
For cost estimation, you can focus on the number and size of items replicated to the index and the frequency of changes.
Adding GSI won’t use any RCUs. it only uses WRUs and no. of WRUs depends on size of data and projection attributes. for any data up to 1 KB, it uses 1 WRUs. here is the official document from AWS: using global secondary indexs