2012-02-21 14 views
8

Non riesco a trovare la documentazione all'interno di Amazon su questo: qualcuno sa se l'operazione di cancellazione conta contro la capacità di lettura o scrittura?Dynamodb: elimina il conteggio dalla capacità di lettura o scrittura?

Mi aspettavo che potesse essere considerato come una "scrittura", ma il comportamento che sto vedendo nei test sembra indicare il contrario. Qualcuno può confermarlo?

+0

cui il comportamento consentono di concludere che un'operazione di eliminazione non viene conteggiato come un'operazione di scrittura? –

risposta

11

Buona domanda - mentre questo non sembra essere specificato in modo esplicito, ci sono ancora due forti sentori verso l'essere contato come un'operazione di scrittura (come ci si aspetterebbe in effetti):

1) Sezione dati di serie storiche e modelli di accesso raggio Provisioned Throughput Guidelines in Amazon DynamoDB indirizzi efficiente soppressione e rinvia interessato throughput in scrittura:

Eliminazione di un'intera tabella è significativamente più efficiente di rimozione articoli uno per uno, che essenzialmente raddoppia il throughput in scrittura come esegui tutte le operazioni di eliminazione quante le operazioni put.

2) Sezione Risposte all'interno delle liste DeleteItem API il valore restituito ConsumedCapacityUnits e si riferisce a dare unità a capacità:

Il numero di unità di capacità di scrittura consumate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva approvata. Per informazioni su , vedere Provisioned Throughput in Amazon DynamoDB.

+5

Due anni dopo, l'articolo dietro il collegamento ha una chiara spiegazione: "Quando si invia una richiesta DeleteItem, DynamoDB utilizza la dimensione dell'elemento eliminato per calcolare il consumo di throughput fornito." –

0

Sì, lo fa. La documentazione dice chiaramente:

PutItem, UpdateItem, e DeleteItem permettono scrive condizionali, dove si specifica un'espressione che deve essere valutata come vera in modo che l'operazione per avere successo. Se l'espressione restituisce falso, DynamoDB comunque consuma unità di capacità di scrittura dalla tabella:

  • se esiste l'articolo, il numero di unità di capacità di scrittura consumato dipende dalle dimensioni dell'oggetto. (Ad esempio, un fallito condizionale scrittura di un elemento 1 KB consumerebbe tutt'uno capacità di scrittura, se l'articolo era due volte quella dimensione, la scrittura condizionale fallito consumerebbe due unità di capacità di scrittura.)

  • Se l'articolo non esiste, DynamoDB impiegherà una unità di capacità di scrittura.

Fonte: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html#ItemSizeCalculations.Writes