Назад | Перейти на главную страницу

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 не подходит для такого рода задач?

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

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

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

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

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

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

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

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