Как DynamoDB GSI обрабатывает недостающие атрибуты? - PullRequest
0 голосов
/ 05 января 2019

Глядя на эту документацию DynamoDB о GSI , я нашел следующий комментарий:

Глобальный вторичный индекс отслеживает только те элементы данных, для которых фактически существуют его ключевые атрибуты.

Что из следующего это точно означает?

  1. Отсутствие Partition Key и / или Sort Key с точки зрения GSI не приведет к добавлению дополнительного элемента в GSI
    например, "GameTitle" и "TopScore" требуются
  2. Отсутствие данных для любых атрибутов, указанных вами как часть GSI с параметром INCLUDE, не приведет к добавлению дополнительного элемента в GSI
    например, все атрибуты, прогнозируемые GSI, даже «Победы», «Потери» обязательны

Я подозреваю, что "ключевые атрибуты" относятся к 1., и любые пропущенные данные с точки зрения опции INCLUDE просто вернутся как пустые, когда GSI запрашивается, но хотел проверить, если мой понимание правильное.

Кроме того, не будет ли разницы между GSI и LSI в этом пространстве?

1 Ответ

0 голосов
/ 07 января 2019

На странице, на которую вы ссылаетесь Глобальные вторичные индексы

Тогда следующие две строки из того, что вы процитировали:

Глобальный вторичный индекс отслеживает только те элементы данных, для которых фактически существуют его ключевые атрибуты. Например, предположим, что вы добавили еще один новый элемент в таблицу GameScores, но предоставили только необходимые атрибуты первичного ключа:
Поскольку вы не указали атрибут TopScore, DynamoDB не будет распространять этот элемент в GameTitleIndex.

Так что, если у вас есть GSI over атрибут GSIKey и вы добавляете запись в таблицу без этого атрибута, GSI не получит запись для этой записи.

Если вы добавите запись с помощью GSIKey, то GSI будет иметь запись для этой записи.

Любые дополнительные прогнозируемые атрибуты будут либо присутствовать, либо нет. То же, что и с самой таблицей.

Технический термин для этого: разреженный индекс ; он не должен содержать столько записей, сколько базовая таблица.

Локальные вторичные индексы также редки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...