Локальный вторичный индекс (LSI)
Вторичный индекс в распределённой базе, партиционируемый вместе с основными данными (по тому же ключу партиционирования): запись дешёвая (индекс обновляется локально на том же узле), но запрос без указания ключа партиции должен обойти все партиции.
Механика: индекс лежит рядом с данными — в каждой партиции свой локальный индекс только по её строкам. Выигрыш: запись обновляет лишь локальный индекс (никакого межузлового трафика, атомарно со строкой). Цена: запрос по значению индекса должен либо включать ключ партиции (тогда он идёт на один узел), либо выполняться как «scatter-gather» по всем партициям со слиянием результатов (дорого при большом числе узлов). Отличается от глобального вторичного индекса (партиционируется по значению индекса: дешёвое чтение, дорогая запись). В DynamoDB LSI к тому же нужно определить при создании таблицы, и он делит ключ партиции с таблицей. Обратный компромисс по сравнению с GSI.