Задержка DynamoDB почти такая же, как задержка RDS?
Я изучаю использование AWS Lambda через Laravel Vapor. Отказ от использования Redis может сэкономить нам ~56 долларов в месяц (t2.small - ~ 24 доллара, NAT Gateway - ~ 32 доллара).
Вместо Redis я планирую использовать DynamoDB, который намного дешевле. Практически те же мысли в этой теме https://twitter.com/JackEllis/status/1246500143425146880
Мой вопрос: имеет ли смысл использовать DynamoDB в качестве уровня кеширования поверх RDS или задержка практически такая же, что означает, что мне было бы лучше просто полагаться на внутреннее кеширование MySQL?
Для контекста в Laravel есть пакет под названием laravel-model-caching, который кэширует результаты запросов. С Redis в качестве драйвера кеширования это имеет смысл, потому что вы получаете сверхнизкую задержку по сравнению с mysql даже с кешированием mysql.
Но теперь, если я избавлюсь от Redis, кеширование запросов с использованием пакета может не иметь смысла, если уровень кеширования в любом случае является другой БД (Dynamo).
Верно ли мое мнение, что задержки DynamoDB и RDS не сильно отличаются?
1 ответ
Пара заметок...
DynamoDB может похвастаться постоянной задержкой в миллисекундах, я сомневаюсь, что MySQL может этого добиться. Оба, конечно, зависят от производительности сети экземпляра, например
t2.something
сеть медленнее, чемc5n.something
.У вас есть только один узел Laravel или несколько? Если у вас только одна установка Redis локально, нет необходимости в дополнительном экземпляре EC2.
Redis ElastiCache не требует NAT
DynamoDB не так дешев, как кажется. Цена за запрос может быть небольшой, но использование его в качестве кеша может оказаться довольно дорогим, если вы забьете его большим количеством запросов.
Надеюсь, это поможет:)