В документации AWS:
Всякий раз, когда происходит запись в таблицу, все индексы таблицы должны обновляться. В среде с большими объемами записи с большими таблицами это может потреблять большое количество системных ресурсов. В среде «только для чтения» или «в основном для чтения» это не так важно. Однако вы должны убедиться, что индексы действительно используются вашим приложением, а не просто занимают место.
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SQLtoNoSQL.Indexes.html
Однако, если Я создаю глобальный вторичный индекс, в котором не происходит никаких изменений в атрибутах этого индекса. Будет ли он переписываться?
Например, предположим, что у меня есть следующая таблица:
КЛЮЧЕВОЕ СЛОВО (ха sh) | НОМЕР ТЕЛЕФОНА (ассортимент) | АТРИБУТ 1 ... N | ИД СЧЕТА
KEYWORD
, PHONE NUMBER
и ACCOUNT ID
не изменится (но весь элемент может быть удален).
И глобальный вторичный индекс:
ИД СЧЕТА (га sh) | НОМЕР ТЕЛЕФОНА (ассортимент) | КЛЮЧЕВОЕ СЛОВО
Вариант использования: мне нужно найти все элементы первой таблицы, которые имеют одинаковые ACCOUNT ID
и PHONE NUMBER
. Тогда мне понадобится атрибут KEYWORD
. Однако это не должно случаться часто. Ни в коем случае ни один атрибут глобального вторичного индекса не изменится в исходной таблице.
Документы не ясны (для меня). Я предполагаю, что глобальный вторичный индекс не будет иметь запись, если ACCOUNT ID
, PHONE NUMBER
и KEYWORD
не изменятся (но другие атрибуты могут). (Но это приведет к перезаписи, если исходный элемент таблицы будет удален).