Dynamodb cost for index writes

1

Hey all,

I have an on-demand dynamodb table. It contains 5 local secondary indexes and 4 global secondary indexes.

Dynamodb charges per kb for writes. My base table attributes mostly deals with Boolean values. Which is about 200 bytes per write. So each and every index of my mine is less than 200 bytes.

My question is, when I write to the base table will I be charged for 10 different writes (10 kb) or based on total size (2 kb) ?

Thanks.

Vir2020
已提问 4 年前1113 查看次数
2 回答
1

A write unit is any write operation up to 1 KB. If none of your secondary indexes are sparse, then inserting an item into your table (the primary index) will result in an additional write unit consumed for each of your secondary indexes - total of 10. This is to propagate the record. Deleting the item from the primary index will also consume 10 write units.

One nuance regarding updates to the item in the primary index - if the attribute updated is part of the primary key for an index, then propagating the change to that index will consume 2 write units - one to delete the original propagated item in the index, and another to write a replacement with the new primary key for the index.

I would recommend testing some of this by making some writes to the table, and using the "ReturnConsumedCapacity" option - it will tell you how much throughput was consumed. It's a great way to get a feel for the efficiency of your design.

已回答 4 年前
0

Thanks for the ReturnConsumedCapacity option. That's what I was looking for.

Have a nice day.

Vir2020
已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则