Я читал документацию по Amazon DynamoDB для сравнения глобального вторичного индекса (GSI) и локального вторичного индекса (LSI). Мне все еще неясно, имеет ли значение для меня то, что я использую в приведенном ниже случае использования? Я знаком с такими вещами, как LSI должен использовать тот же ключ раздела и т. Д.
Вот пример использования:
- Я уже знаю ключ сортировки для моего индекса.
- Мой ключ раздела одинаков в обоих случаях
- Я хочу спроецировать ВСЕ атрибуты из исходной таблицы на мой индекс
- Я уже знаю до создания таблицы, какой индекс мне нужен для моего варианта использования.
В приведенном выше случае использования нет абсолютно никакой разницы, кроме незначительного увеличения задержки в LSI по сравнению с GSI, поскольку LSI может оказаться в одном и том же сегменте. Я хочу понять Pro Vs Con в моем случае использования.
Вот несколько вопросов, на которые я пытаюсь найти ответ, и я не сталкивался с блогом, который явно об этом:
- Использовать GSI только потому, что ключ раздела отличается?
- Использовать GSI, даже если ключ раздела такой же, но я не знал при создании таблицы, что мне нужен такой индекс?
Существуют ли другие важные причины, по которым одна из них превосходит другую (за исключением базовых вещей, таких как ограничение на счет 5 против 20 и все).