DynamoDb - Как именно работает ограничение пропускной способности? - PullRequest
1 голос
/ 03 июля 2019

Допустим, у меня есть:

  • Стол с 100 RCU
  • В этой таблице 200 предметов
  • Каждый предмет имеет 4 КБ

Насколько я понимаю, RCU рассчитывается в секунду, и вы тратите 1 полный RCU на 4 КБ (с строго согласованным чтением).

1) Из-за этого, если я потрачу более 100 RCU за одну секунду, я должен получить ошибку регулирования, верно?

2) Как я могу предсказать, что определенный запрос потребует больше, чем мой подготовленный результат? Мне страшно, что в любой момент я могу скомпрометировать всю базу данных, сделав дорогой запрос.

3) Допустим, я хочу сделать сканирование всей таблицы (получить все элементы), поэтому для этого потребуется 200 RCUS , но это будет зависеть от того, насколько быстро DynamodB это правильно? Если он будет слишком быстрым, это выдаст мне ошибку, но если это займет 2 секунды или более, все должно быть в порядке, как я могу объяснить это? Как учесть скорость DynamoDB, чтобы узнать, сколько RCU мне понадобится? Какая это у DynamoDB «скорость»?

4) В чем разница между дросселированием и превышением предела пропускной способности?

1 Ответ

2 голосов
/ 03 июля 2019

На данный момент большинство ваших вопросов являются теоретическими, потому что теперь у вас (по состоянию на ноябрь 2018 года) есть возможность просто указать динамодаву использовать режим «по требованию», когда вам больше не нужно рассчитывать или беспокоиться о RCU.Просто включите эту опцию и забудьте об этом.В прошлом у меня были подобные проблемы из-за очень неравномерной рабочей нагрузки - периодов бездействия, а затем периодов, когда мне нужно было выполнять полное сканирование таблицы для создания отчета, - и я изо всех сил пытался заставить все это работать без всяких усилий.

Я обратилсяв режиме «по требованию» в моем случае стоимость снизилась примерно на 70%, и ошибок больше нет.Ваш профиль затрат может быть другим, но я бы определенно проверил этот новый вариант.

https://aws.amazon.com/blogs/aws/amazon-dynamodb-on-demand-no-capacity-planning-and-pay-per-request-pricing/

...