Global Secondary Indexes, or GSIs, are a great way to enable a variety of access patterns that a regular key/value document store might not be able to handle. GSIs allow us to create sparse indexes and choose what data is projected into our indexes. Using GSIs effectively is critical to building up single table designs.