Я получу лучшую пропускную способность DynamodB с этим изменением? - PullRequest
0 голосов
/ 02 мая 2018

Сейчас у меня есть мобильные приложения, работающие на безсерверной конечной точке лямбды aws и пишущие 1 запись. Время от времени мобильное приложение записывает несколько таких записей снова и снова (50–300). Пример того, как выглядит 1 запись, можно увидеть ниже:

    {
      "name": "John Doe",
      "miscValue": "1f2ea989-5b33-49e5-a88a-19c7594afd9d",
      "ratio": "1.7777777777777777",
      "new": true,
      "timestamp": "1524156952325"
    }

Теперь, если я изменю его, чтобы вместо записи 1 записи на лямбда-вызов он мог записывать несколько записей на вызов, а затем делать меньше вызовов, это привело бы к снижению пропускной способности DynamodB?

Пример сценария:

Приложение может написать 1 record per second for 100 seconds против 10 records per second for 10 seconds.

Документация AWS гласит:

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

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html

Это наводит меня на мысль, что, поскольку мой размер записи намного меньше 1 КБ, если я внесу изменения для одновременного выполнения нескольких записей, я получу значительное улучшение в использовании пропускной способности DynamoDB. Это правильно?

1 Ответ

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

Одна единица емкости записи представляет одну запись в секунду для элемента размером до 1 КБ

Независимо от того, как вы это сделаете, если вы предоставите 1 единицу записи для таблицы, вам разрешено записывать 1 элемент в секунду (кроме возможности пакетной обработки https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html#bp-partition-key-throughput-bursting). В случае, если элемент больше 1 КБ, вам нужно больше затем 1 единица записи (ceil (размер / 1KB)) для записи. Если элемент меньше 1 КБ, вам все равно потребуется 1 единица записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...