Я думаю, что у вас могут возникнуть проблемы с емкостью чтения на вашем столе. Емкость записи должна быть в порядке, поскольку в секунду не так много сообщений (например, 10 или около того), но вам нужно постоянно читать их для всех пользователей, так что это будет дорого.
Если вы хотите использовать DynamoDB как хранилище и распространять чат-сообщения, как в любом обычном чате по сети, то это может иметь смысл, в зависимости от ваших вариантов использования. Вы могли бы, предположив, что у вас есть хэш-ключ UserId и Timestamp, запрашивать все сообщения от определенного пользователя в течение определенного периода в результате. Если вы хотите, однако, искать в тексте чата (возможно, гораздо более полезную функцию), то DynamoDB не будет работать сам по себе. Это не похоже на SQL, где вы можете сделать запрос LIKE '%abc%'
(что тоже не очень полезно в SQL).
Возможно, вам лучше использовать S3 в качестве хранилища данных и ElasticSearch в качестве инструмента поиска. Если вам требуется вышеупомянутый вариант использования «получить все сообщения от пользователя X в timespan S» (в качестве простого примера), вы можете дополнительно использовать DynamoDB для хранения метаданных, таких как UserId, Timestamp, PositionInFile или что-то в этом роде.
Спасибо. Как я могу хранить его на S3? Как файл для каждого чата? – MJQZ1347
Честно говоря, я не уверен, но разумно хранить файл в чате и, возможно, в день. Например, чтобы получить первый экран, вы просто загружаете текущий день разговора из файла. – marco
Не уверен, что S3 полезен, но я согласен, что DynamoDB не будет хорошей возможностью делать подобные вещи –