DynamoDB может подойти для вашего случая использования.Тем не менее, вы упомянули что-то, что заставляет меня усомниться в следующем:
В моем случае список значений размера может составлять тысячи и миллионы.Кроме того, я могу захотеть ежедневно обновлять список или даже удалять его и создавать новый из моего источника данных.
В отличие от традиционной SQL-подобной среды с RDS / MySQL / Aurora,в DynamoDB вы не можете выполнить один запрос для удаления или обновления всех или некоторых элементов.
Действительно, если у вас есть миллионы элементов, которые необходимо обновить или удалить, то DynamoDB может оказаться не лучшим выбором для вас.Это связано с тем, что в DynamoDB каждый элемент должен обновляться или удаляться по отдельности.
Кроме того, DynamoDB взимает с вас плату за «рабочий записи», и каждый рабочий записи может выполнять одно удаление / обновление в секунду.В результате, если у вас есть миллионы строк, которые нужно удалить или обновить, вам понадобится достаточное количество работников для этого.Это может быть дорого, особенно если эти изменения происходят «сразу» (по сравнению с распространением в течение дня).
Очевидно, что вы можете удалять и обновлять элементы в «Динамо».Вы можете использовать DynamoDB Streams для обработки новых элементов;Вы можете добавить время жизни, чтобы записи удалялись через 48 часов (минимум);Вы можете использовать автоматическое масштабирование, чтобы вырастить своих работников, чтобы справиться с предсказуемым увеличением.Или вы можете использовать SQS или другие методы, чтобы ставить в очередь и постепенно обновлять свои обновления.
Однако все они требуют тщательного проектирования (на мой взгляд, гораздо больше, чем традиционных RDS).Если у вас есть обновление / удаление тяжелого приложения, я рекомендую использовать реляционную базу данных.