Пакетное обновление в DynamoDB - PullRequest
0 голосов
/ 27 марта 2020

Мне нужно выполнить пакетное обновление до динамо-базы в java. Под обновлением я подразумеваю, что у меня есть первичный ключ элемента и я хочу обновить отдельный атрибут элемента. Сначала я попытался получить элементы через batchGetItem, изменить его и выполнить batchWriteItem. Даже batchSave картографа dynamicoDb не предоставляет обновлений. Я могу использовать этот метод, но есть ли способ, с помощью которого я могу выполнить batchUpdate для элементов напрямую, не получая весь элемент из БД?

1 Ответ

0 голосов
/ 28 марта 2020

На основании документации Amazon это невозможно, они просят использовать UpdateItem: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html

Таким образом, вы можете либо использовать свой подход, либо выполнить параллельное UpdateItem в своем В конце приложения, как указано в документации Amazon, преимущества использования BatchWriteItem заключаются в основном в затратах и ​​сложности:

BatchWriteItem выполняет указанные операции put и delete параллельно, предоставляя вам возможность Подход с использованием пула потоков без необходимости вносить сложности в ваше приложение.

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

...