Я надеюсь создать безсерверный сервер с AWS. Я использую RDS в качестве своего основного хранилища данных, но я бы хотел переместить сильно запрошенные данные (позволяет называть эти записи «сообщениями») на DynamoDB или SimpleDB из-за ограничений на количество одновременных подключений к моему экземпляру RDS.AWS DynamoDB или SimpleDB: «SELECT * FROM posts ORDER BY date LIMIT 10»
Сначала DynamoDB выглядел как хороший вариант (много шумихи), но затем я начал искать, как выбрать самые последние 20 сообщений из моей таблицы DynamoDB, ограниченные до 10, с дополнительным смещением для разбивки на страницы. .
Не похоже, что есть простой способ сделать это. Я видел, как некоторые предлагают использовать GSI с тем же ключом раздела и ключ сортировки для «post_date», но, похоже, это считается взломом.
SimpleDB выглядит более гибким и разработан лучше для моего использования, но это касается того, как мало AWS, похоже, его поддерживает.
Какой сервис AWS лучше всего подходит для моего использования?
Относительно решения «взломать» см. Комментарии к этому ответу: http://stackoverflow.com/questions/21794945/dynamodb-scan-in-sorted-order/28463257#28463257. Хотя, я не думаю, что мне нужно достичь шкалы, где это становится недостатком. – Rob
Этот комментарий касается рекомендации всегда хранить одно значение в индексированном поле. В основном установка индекса на «флаг». Вы будете хранить разные значения (даты) в своем индексированном поле, так что это не будет проблемой для вас. Другими словами, вы правильно используете GSI. –
Итак, вы говорите, что я правильно использую GSI, если бы у меня было 500 000 элементов с одним и тем же ключом раздела «1» и с переменными значениями даты (но не обязательно различающимися) для ключа сортировки? – Rob