Оба могут достаточно хорошо масштабироваться, но это сильно зависит от вашего варианта использования и архитектуры.
DynamoDB - это облачная система хранения NoSQL, а Redis - хранилище структуры данных в памяти. Это означает, что запросы к DynamoDB будут включать в себя возврат к серверам Amazon, в то время как запросы к Redis будут превышать объем оперативной памяти (так что намного, намного меньше задержка).
Вследствие вышесказанного объем данных, которые вы можете хранить в Redis, будет ограничен объемом оперативной памяти, доступной на вашем оборудовании. Тем не менее, в случае Redis или сбоя вашего оборудования по какой-то причине вам придется довольствоваться некоторым уровнем потери данных. Вы можете несколько смягчить это, настроив постоянство Redis так, чтобы Redis выполнял регулярную запись на диск (либо каждые N секунд, либо вручную инициируя запись в вашем коде), и дополнительно уменьшать его, затем копируя эти записи в S3 или в другое место. Это меняет производительность (в зависимости от вашего масштаба) для безопасности данных в некоторой степени из-за задержки ввода-вывода. См. документацию для персистентности Redis и в этом блоге инженерной группы GitHub, в которой упоминается их решение удалить персистентность Redis по соображениям производительности.
Между тем все вышеизложенные проблемы абстрагируются для вас DynamoDB, поскольку AWS обрабатывает доступность для вас за кулисами. Вы действительно ограничены только , сколько вы можете себе позволить и использованием (чтение / запись в секунду) ограничивает .
DynamoDB не имеет встроенной поддержки для запроса и вставки геопространственных данных (хотя для него есть библиотека , но, похоже, она не поддерживается), Redis делает . Вы можете написать свой собственный код для этого.
DynamoDB не поддерживает пространство имен , или, скорее, DynamoDB находится в пространстве имен вашей учетной записи AWS, что означает, что вы не сможете поддерживать отдельный экземпляр DynamoDB с теми же именами таблиц (скажем, для рабочей версии против dev данные) на той же учетной записи AWS. Redis тоже не умеет, но вы можете тривиально раскрутить отдельный экземпляр Redis для этого.
См. Также Команда Redis MEMORY USAGE и Оптимизация памяти Redis документы.