Сканирование таблицы, содержащей 50 элементов, потребует 50 RCU только в том случае, если общий размер 50 элементов в совокупности равен 200 КБ (для строго согласованного чтения или 400 КБ для возможного согласованного чтения). Большинство элементов не такие уж большие, поэтому для хранения 50 элементов обычно требуется всего около 10 КБ, то есть полное сканирование таблицы из 50 элементов с возможной согласованностью будет стоить всего около 3 RCU.
Используемые единицы емкости чтения (RCU) зависят от нескольких факторов:
Если элемент считывается с помощью операции GetItem, то счет за потребленную емкость выставляется с шагом 4 КБ в зависимости от размера элемента (т. Е. Элемент 200 и элемент 3 КБ потреблял бы 1 RCU каждый, а элемент размером 5 КБ потребляет 2 RCU)
Если вы читаете несколько элементов с помощью операции Запрос или Сканировать, то потребляемая емкость зависит от совокупного размера элементов, к которым осуществляется доступ (вам выставляется счет даже для элементов, отфильтрованных из запроса или сканирования при использовании фильтров). Таким образом, если ваш запрос или сканирование обращается к 10 элементам размером примерно 200 байт каждый, то он будет использовать только 1 RCU. Если вы читаете 10 элементов, но каждый элемент имеет размер около 5 КБ, то общая потребляемая емкость будет 13 RCU (50 КБ / 4 КБ = 12,5, округленное вверх, равно 13).
Более того, если вы в конечном итоге выполните последовательное чтение, вы можете удвоить размер на единицу емкости. Таким образом, чтение 10 элементов размером 5 КБ будет стоить всего 7 RCU.
Вы можете прочитать дополнительную информацию о пропускной способности здесь.
Несколько замечаний:
- размер одного элемента может достигать 400 КБ, поэтому чтение элемента может занять до 100 RCU.
- при расчете размера предмета имена атрибутов также учитываются в размере предмета, а не только их значения!
person
Mike Dinescu
schedule
05.05.2018