запрос емкости чтения aws Dynamodb

Согласно DynamoDB ReadWriteCapacity

Единицы емкости, необходимые для записи = количество записей в секунду x размер элемента в блоках по 1 КБ

Единицы емкости, необходимые для чтения * = количество операций чтения в секунду x размер элемента в блоках по 4 КБ

  • Если вы используете в конечном итоге согласованные чтения, вы получите вдвое большую пропускную способность с точки зрения чтения в секунду.

Если размер ваших элементов меньше 1 КБ, то каждая единица емкости чтения даст вам 1 строго согласованное чтение в секунду, а каждая единица емкости записи даст вам емкость 1 запись в секунду. Например, если ваши элементы имеют размер 512 байт и вам нужно читать 100 элементов в секунду из вашей таблицы, тогда вам необходимо выделить 100 единиц емкости чтения.

Меня смущают блоки 4kb и пример 1kb, упомянутый выше. Если размер элемента составляет 512 байт, будет ли он округлен до 4 КБ и, следовательно, 1 единица чтения позволяет читать 1 элемент в секунду? Я предположил, что элемент будет округлен до 1 КБ, и, следовательно, 1 емкость чтения приводит к чтению 4 элементов в секунду (и 8 элементов в секунду с возможной согласованностью). Верно ли это предположение?


person suman j    schedule 08.10.2016    source источник


Ответы (1)


Пусть ceil() будет функцией, которая округляет нецелые значения до следующего наибольшего целого числа.

  • 1 единица записи позволяет записывать 1 / ceil(item_size / 1kB) элементов в секунду.

  • 1 единица чтения позволяет читать 1 / ceil(item_size / 4kB) элементов в секунду.

Так, например:

48 единиц емкости записи позволяют записывать 48 элементов размером от до 1 кБ, или 24 записи элементов размером от 1 до 2 кБ, или 16 записей размером от 2 до 3 кБ и т. Д.

48 единиц емкости чтения позволяют читать 48 элементов до 4 КБ или 24 элемента размером более 4 КБ до 8 КБ.

Вы не можете сделать больше, чем указанная вами ставка, и вы можете сделать только меньше, если элементы превышают размер блока для рассматриваемой операции.

Если размер ваших элементов меньше 1 КБ, то каждая единица емкости чтения даст вам 1 строго согласованное чтение в секунду, а каждая единица емкости записи даст вам емкость 1 запись в секунду.

Это верно, потому что элементы, имеющие ‹= 1 КБ (размер блока записи), также по определению =‹ 4 КБ (размер блока чтения).

person Michael - sqlbot    schedule 09.10.2016