2012-02-21 11 views
8

Nie mogę znaleźć dokumentacji w serwisie Amazon na ten temat: czy ktoś wie, czy operacja usuwania jest liczona w zależności od zdolności odczytu lub zapisu?Dynamodb: czy liczba usunięć jest równa pojemności odczytu lub zapisu?

Spodziewałem się, że będzie to oznaczać "zapis", ale zachowanie, które widzę w testach, zdaje się wskazywać na coś przeciwnego. Czy ktoś może to potwierdzić?

+0

Jakie zachowanie pozwalają stwierdzić, że operacja usuwania nie jest liczony jako operacji zapisu? –

Odpowiedz

11

Dobre pytanie - podczas gdy ten nie wydaje się być wyraźnie określone, nadal istnieją dwa silne wskazówki wobec liczone jako operacji zapisu (jak można by oczekiwać w istocie):

1) Sekcja Czas serii danych Wzory i dostępu w Provisioned Throughput Guidelines in Amazon DynamoDB adresy efektywne usuwanie i odnosi się do dotkniętego przepustowości napisać:

usuwanie całej tabeli jest znacznie bardziej efektywny niż usuwanie przedmiotów jeden po drugim, który w zasadzie podwaja przepustowość zapisu jako wykonuje się tyle operacji kasowania, ile operacji wprowadzania.

2) Sekcja Odpowiedzi w listach DeleteItem API wartości zwracanej ConsumedCapacityUnits i odnosi się do jednostek pisać pojemność:

liczby jednostek pojemności zapisu spożywanych przez operację. Ta wartość pokazuje liczbę zastosowaną w stosunku do przewidywanej przepustowości. Dla więcej informacji patrz Provisioned Throughput in Amazon DynamoDB.

+5

Dwa lata później artykuł znajdujący się za linkiem zawiera jednoznaczne wyjaśnienie: "Kiedy wysyłasz żądanie DeleteItem, DynamoDB używa rozmiaru usuniętego elementu do obliczenia przewidywanego zużycia przepustowości." –

0

Tak, jest to. Dokumentacja wyraźnie mówi:

PutItem, UpdateItem i DeleteItem pozwalają zapisy warunkowe, gdzie musisz określić wyrażenie, które należy ocenić wartość true, aby operacja do osiągnięcia sukcesu. Jeśli wyrażenie ma wartość false, DynamoDB będzie nadal zużywają zapisu jednostek pojemności od stołu:

  • Jeśli przedmiot istnieje, liczba jednostek pojemności zapisu spożywane zależy od wielkości elementu. (Na przykład, udało warunkowego zapisu elementu 1 kb pochłonie jedną jednostkę pojemności zapisu, jeżeli element była dwukrotnie większa niż wielkość, nieudane zapisu warunkowego pochłonie dwie jednostki pojemności zapisu.)

  • Jeśli element nie istnieje, DynamoDB zużyje jedną jednostkę pojemności zapisu.

Źródło: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html#ItemSizeCalculations.Writes

Powiązane problemy