недавно я использовал DynamoDB для создания некоторого API.
В таблице с именем pl anet есть атрибут в виде Список карт (массив объектов) . По сути, атрибут выглядит следующим образом. Я называю это buildingMap, поскольку это карта множества зданий.
[
{
id: 'some id',
status: 'processing',
...
},
{
id: 'other id',
status: 'done',
...
}
]
Первоначально я указываю на индекс и напрямую обновляю этот объект в массиве, как при использовании такого типа UpdateExpression.
REMOVE buildingMap[2]
или UpdateExpression, как это
SET buildingMap[0].#status = :status
И я думал, что это заставит DynamoDB потреблять меньше емкости, чем если бы я взял * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 10 * * ". ConsumedCapacity для обоих методов, и он был абсолютно одинаковым!
Может кто-нибудь помочь мне ответить, как DynamoDB действительно вычисляет Емкость записи & Чтение емкости при обновлении элемента в таблицах?
Я имею в виду, если я просто обновляю одну карту в списке, почему она потребляет такую же емкость, как если бы я перезаписывала весь список карт?
Кроме того, когда я выбираю вернуть ALL_NEW
для обновления, это st плохо потребляет ту же емкость, что и когда я решаю вернуть UPDATED_NEW
. Но я думал, что при выборе возврата ALL_NEW
будет потребляться больше Емкость чтения , чем UPDATED_NEW
?