The What, Why, and When of Single-Table Design with DynamoDB (2020)
alexdebrie.com
alexdebrie.com
I'm still not sure where to draw the line on the single table. Should it be per application? Per account? Per collection? There are scaling benefits to going tall by distributing capacity units across more of the model.
On the other hand the idea of collections seems similar to foreign keys. In that case some kind of hybrid model where there is a DynamoDB table for each collection seems logical. But at that point I think we could still go "taller" and benefit from the shared capacity.
Food for thought.