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
posta 4 anni fa838 visualizzazioni
2 Risposte
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.

con risposta 4 anni fa
0

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

Have a nice day.

Vir2020
con risposta 4 anni fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande