Имеет ли смысл ограничивать атрибуты при запросе / сканировании DynamoDB? - PullRequest
0 голосов
/ 06 марта 2020

Мой вопрос заключается в том, имеет ли смысл ограничивать возвращаемые атрибуты при выполнении запроса / сканирования для DynamoDB.

Я делаю запрос напрямую из Lambda и собираю около 100 записей в одной go. После этого я возвращаю данные в пользовательский интерфейс, используя API-шлюз. Мне не нужны все атрибуты, поэтому мой вопрос - имеет ли смысл их ограничивать? Т.е. вместо получения:

{a, b, c, d, e, f, g}

я буду запрашивать только

{a, b, c }

Буду ли я экономить деньги, ограничивая размер передаваемых / запрашиваемых / возвращаемых данных или просто уменьшу только размер ответа?

1 Ответ

1 голос
/ 07 марта 2020

Нет, вы не будете экономить деньги, проецируя только несколько атрибутов вместо целых элементов, а также не будете экономить деньги, отфильтровывая целые элементы (с помощью выражения FilterExpression). Как вы говорите, вы «только уменьшите размер ответа».

Вот соответствующая цитата из документации DynamoDB, https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html

DynamoDB вычисляет количество единиц емкости чтения, потребляемых в зависимости от размера элемента, а не от объема данных, возвращаемых приложению. Количество потребляемых единиц мощности будет одинаковым независимо от того, запрашиваете ли вы все атрибуты (поведение по умолчанию) или только некоторые из них (с использованием выражения проекции). Число также будет одинаковым независимо от того, используете ли вы FilterExpression.

...