Global secondary indexes (GSIs) in DynamoDB were introduced to allow querying on attributes other than the primary key. Previously, workarounds like parent-child models or separate query tables were needed. GSIs automatically manage a secondary index table that can be queried using attributes from the primary table. Writes go to both the primary table and GSIs. GSIs have their own throughput capacity and are eventually consistent. They support different projection types and allow fetching missing attributes from the primary table. The document discusses how GSIs implement a read model pattern and provide more flexible querying capabilities than previous workarounds, though they have some limitations and costs.