Запрос максимального значения атрибута в DynamoDB с Java - PullRequest
0 голосов
/ 09 февраля 2020

Учитывая, что у моей DynamoDB есть столбец 'BlockNumber', как мне написать Java QuerySpe c, чтобы найти номер блока MAX в БД? (Он настроен как GSI.)

Ответы [ 2 ]

2 голосов
/ 09 февраля 2020

Как правило, ваш GSI будет иметь ключ разделения и ключ сортировки, как обычная таблица DynamoDB. Вы должны выполнить запрос по известному ключу раздела и установить ScanIndexForward = false и Limit = 1, чтобы он возвращал только один элемент, и это был бы элемент с соответствующим ключом раздела и максимальным значением ключа сортировки. Когда ScanIndexForward имеет значение false, DynamoDB считывает элементы в обратном порядке по значению ключа сортировки.

0 голосов
/ 10 февраля 2020

Если данные являются неизменяемыми, лучшим вариантом для этого является создание отдельной записи, содержащей совокупные значения. Всякий раз, когда вы добавляете элемент, который может изменить максимальное значение, вы обновляете совокупную запись. Наилучший подход к этому - использовать потоки DynamoDB для обновления сводной записи. Использование глобальных вторичных индексов для материализованных запросов агрегации

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