Как вычисляются единицы потребляемой мощности чтения в запросе DynamoDB - PullRequest
0 голосов
/ 04 мая 2018

Я видел страницу на amazon и понимаю, что 1 RCU - это предмет размером 4 КБ.

Если у меня есть таблица с 50 предметами, я прочитал, что при сканировании будут считаны полные 50 предметов и использованы 50 RCU. Но допустим, что я выполнил запрос, моя таблица 10 на 5, она все еще будет использовать 50 RCU?

1 Ответ

0 голосов
/ 05 мая 2018

Сканирование таблицы, содержащей 50 элементов, потребляет 50 RCU только в том случае, если общий размер 50 элементов в сумме равен 200 КБ (для строго согласованного чтения или 400 КБ для возможного согласованного чтения). Большинство элементов не такие большие, поэтому для хранения 50 элементов обычно требуется около 10 КБ, а это означает, что полное сканирование таблицы из 50 элементов с возможной последовательностью будет стоить всего около 3 RCU.

Потребляемые единицы считывающей емкости (RCU) зависят от нескольких факторов:

Если элемент читается с использованием операции GetItem , то потребляемая емкость оплачивается с шагом 4 КБ, исходя из размера элемента (т. Е. Элемент 200 Б и элемент 3 КБ будут расходовать по 1 КБ каждый , в то время как предмет на 5 КБ потребует 2 RCU)

Если вы читаете несколько элементов с помощью операции Запрос или Сканирование , то потребляемая емкость зависит от совокупного размера элементов, к которым обращаются (вы получаете счет даже для элементов, отфильтрованных из запроса или сканирования при использовании фильтров). Таким образом, если ваш запрос или сканирование получит доступ к 10 элементам размером примерно 200 байт каждый, он будет использовать только 1 RCU. Если вы прочитали 10 статей, но каждый элемент имеет размер около 5 КБ, то общая потребляемая емкость составит 13 RCU (50 КБ / 4 КБ = 12,5, округлено до 13)

Более того, если вы выполните последовательное последовательное чтение, вы можете удвоить размер на единицу емкости. Таким образом, будет стоить 7 RCU только для чтения 10 5КБ элементов.

Подробнее о пропускной способности можно прочитать здесь.

Несколько замечаний:

  • один элемент может достигать 400 КБ, поэтому чтение элемента может потреблять до 100 RCU.
  • при расчете размера элемента имена атрибутов учитываются также и для размера элемента, а не только для его значений!
...