Есть ли эффективный способ для динамо-базы данных дать моему веб-приложению все
записи, созданные между двумя датами?
Да, пожалуйста, взгляните на концепцию Первичный ключ в Модель данных Amazon DynamoDB , в частности, Первичный ключ типа хэша и диапазона :
В этом случае первичный ключ состоит из двух атрибутов. Первый
Атрибуты - это атрибут хеша, а второй - это диапазон
приписывать. Amazon DynamoDB строит неупорядоченный хеш-индекс на хеш
атрибут первичного ключа и отсортированный индекс диапазона в первичном диапазоне
ключевой атрибут. [...]
Перечисленные примеры точно соответствуют вашему варианту использования, а именно таблица Reply (Id, ReplyDateTime, ...) обеспечивает первичный ключ типа Hash и Range с атрибутом hash Id и атрибут диапазона ReplyDateTime .
Вы будете использовать это через Query API, подробности см. В RangeKeyCondition и в Запросе таблиц в Amazon DynamoDB для соответствующих примеров.
может Динамо БД дать мне все записи, в которых поле соответствует определенному
число. [...] Могу я попросить динамодба дать
мне все записи, которые имеют значение, например, 6
Это также возможно, хотя и только с помощью Scan API (т.е. требуется действительно читать каждый элемент в таблице), подробности см. ScanFilter и Сканирование таблиц в Amazon DynamoDB для соответствующих примеров.
Нужны ли обоим этим запросам сканирование всего набора данных (который я
Предположим, это проблема, учитывая размер набора данных?)
Как уже упоминалось, первый подход работает с Query , тогда как второй требует Scan и Как правило, операция запроса более эффективна, чем операция сканирования - это хороший совет для начала работы, хотя детали более сложны и зависят от вашего варианта использования, см. раздел Производительность сканирования и запросов в обзоре Запрос и сканирование в Amazon DynamoDB :
Для более быстрого времени отклика, спроектируйте свои таблицы так, чтобы они могли использовать
API-интерфейсы Query, Get или BatchGetItem. Или создай свой
приложение для использования операций сканирования таким образом, чтобы свести к минимуму влияние
на скорости запроса вашего стола. Дополнительную информацию см. В Рекомендации по пропускной способности в Amazon DynamoDB .
.
Так что, как обычно, при применении решений NoSQL, вам может потребоваться настроить вашу архитектуру с учетом этих ограничений.