At approximately 6:35, it is stated that a DynamoDB table supports "Max 5 local and 5 global secondary indexes". AWS docs state that up to 20 global secondary indexes are supported.
Is this an error, or have I misunderstood something?
Looks like AWS raised the limit of global secondary indexes to 20 in December. The slide needs an update.
What’s odd is the Github versions of the docs still show 5 as the limit…hah
5, or even 20 GSIs might not sound like a lot, but actually if you design your table correctly, 5 is more than enough.
There is an excellent talk from re:invent on how to structure your ddb tables, and Rick the presenter tells us that you shouldn’t need more than 5 GSIs if you structure your table correctly from the outset.
Warning – this is extreme 400 level!
Thanks for the link to that talk, awesome!
It is indeed a fantastic talk and really changed the way I think about Dynamo. It changed my perception from ‘DDB is not good for relational data’ to something more like ‘DDB is very powerful if you know your access patterns ahead of time. RDMS is more appropriate if your access patterns are not clear or may change’. Highly recommended!