Запрос основной таблицы и сканирование вторичного индекса в DynamoDB - PullRequest
0 голосов
/ 04 августа 2020

Если у меня есть таблица DynamoDB с pk и sk, где pk таково, что я могу запросить таблицу для данного pk и получить все элементы в данной категории, чем это отличается от сканирования разреженный вторичный индекс, который содержит только элементы из указанной категории? Я знаю, что блоки чтения / записи GSI отделены от основной таблицы, но мне интересно, есть ли задержка или другие преимущества, которые могут быть получены при использовании одного над другим.

1 Ответ

1 голос
/ 06 августа 2020

AFAIK, по идее, разницы в производительности между ними быть не должно. Прежде всего, основная таблица и GSI используют одни и те же базовые узлы хранения, поэтому производительность ввода-вывода должна быть одинаковой. Во-вторых, независимо от того, запрашиваете ли вы основную таблицу или просматриваете разреженный GSI, ключ раздела извлекаемых вами записей будет одинаковым, что означает, что все эти записи находятся в одном разделе (не разбиты на сегменты).

Некоторые преимущества, которые я могу придумать для выполнения запросов в основной таблице:

  1. Экономия RCU, WCU и затрат на хранение GSI
  2. У вас есть возможность выполнять согласованные чтения
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...