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 элементов в секунду - нулевая стоимость.