AWS DynamoDB Экономическая эффективность

Я должен перенести бизнес-приложение в облако, поэтому одной из моих главных проблем является стоимость.

DynamoDB кажется хорошим вариантом, в то время как большая часть наших данных может мигрировать из реляционной базы данных в NoSQL. Говорят, AWS DynamoDB является экономически эффективным. Что это на самом деле означает?

Наше приложение выполняет запрос, который возвращает около 100 тыс. Строк несколько раз в день. Количество записанных строк можно предположить одинаковым. База данных теперь размещена на довольно низком оборудовании, которое можно сравнить с t2.medium пример. Экземпляр базы данных по требованию (который не самый экономичный) с PostgreSQL будет стоить ~ 55 долларов в месяц. Каждый раз, когда запрос занимает около 10 sec выполнить.

Давайте посмотрим, что говорит калькулятор. Счет DynamoDB зависит от пропускной способности. 10 sec не в этом дело, допустим, мы можем подождать целую минуту. Запрос возвращает 100 тыс. Строк. Это означает, что нам нужна максимальная пропускная способность 1667 reads/sec (при условии, что элементы меньше 1 кб), и одинаковая пропускная способность записи. Калькулятор говорит: Estimate of your Monthly Bill ($ 859.39),

В 15 раз дороже, чем RDS (и еще в 6 раз медленнее).

Я рассчитываю это неправильно? Есть ли что-то вне моей компетенции? Или, возможно, DynamoDB не подходит для такого рода задач?

1 ответ

Решение

Я думаю, что DynamoDB не правильный выбор. Как ты сам сказал:

Счет DynamoDB зависит от пропускной способности. 10 секунд не главное, скажем, мы можем подождать целую минуту.

DynamoDB создан для высокой пропускной способности и низкой задержки. Таким образом, основной функцией этой базы данных является предоставление ответов в течение одной цифры миллисекунд. Как вы уже поняли, вы платите в секунду, что означает, что вам не нужно почти одинаковое количество (с возможностью увеличения и уменьшения) операций чтения / записи в течение нескольких часов. DynamoDB стоит дорого, поскольку вы платите за запросы, которые вы не нужно

Наше приложение выполняет запрос, который возвращает около 100 тыс. Строк несколько раз в день.

Таким образом, AWS RDS кажется более подходящим для вашего случая.

Ваш вариант использования может быть реализован с использованием DynamoDB бесплатно.

Вы получаете 25 ГБ памяти, 25RCU и 25WCU бесплатно в течение всего года в рамках уровня бесплатного пользования AWS. Все, что вам нужно сделать, - это спроектировать ваше приложение, чтобы поддерживать пропускную способность данных в этих пределах, и ваш счет составит 0,00 долл. США.

Просто ограничьте свою пропускную способность, работайте партиями. Вы получаете 25 записей 1 КБ в секунду бесплатно, поэтому научите свое приложение писать 25 элементов в секунду - нулевая стоимость.

Другие вопросы по тегам