botoを使用してdynamodbのアイテムを更新したいのですが、その方法は、get_item
とにかく最初にそれを行う必要があり、次にアイテムを変更しput
て元に戻し、違い、パフォーマンスの低下などがありますかupdate_item
? put
.
質問する
2997 次
2 に答える
6
私は2つの間のパフォーマンスの違いを認識していません。とにかく、DynamoDBを使用すると、保証されたスループットに対して料金を支払うことになります。
つまり、UpdateItem
アイテムの特定のサブセットのみを編集できます。さらに、これがアトミックインクリメントを使用する唯一の方法です。
非常に大きなアイテムがあり、単一の小さなフィールドを更新する場合は、代わりにUpdateItemを使用して、WriteCapacityを節約する必要があります。しかし、これが主なユースケースです。
于 2012-10-15T18:03:10.817 に答える
5
スループットを保存し、更新が必要なフィールドのみを更新します。update_itemの唯一の欠点は、バッチ関数として使用できないことです。
訂正:コメントに記載されているように、Dynamoは実際に最大のレコードを使用して書き込み容量を計算するため、1つのフィールドのみを更新した場合でも、既存のレコードの合計サイズに基づいて書き込みが計算されます。これは、次の場合にも適用されます。同じIDのレコードを配置します。
于 2012-10-15T23:32:37.520 に答える