Я изучаю использование 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 не сильно отличаются?
Пара заметок ...
DynamoDB может похвастаться постоянная задержка в миллисекундахЯ сомневаюсь, что MySQL может этого добиться. Оба, конечно, зависят от производительности сети экземпляра, например t2.something
сеть медленнее, чем c5n.something
.
У вас есть только один узел Laravel или несколько? Если у вас есть только один установить Redis локально, нет необходимости в дополнительном экземпляре EC2.
Redis ElastiCache не требует NAT
DynamoDB не так дешев, как кажется. В на запрос цена может быть небольшой, но использование его в качестве кеша может оказаться довольно дорогим, если вы забьете его большим количеством запросов.
Надеюсь, это поможет :)