Я начинаю новый проект и собираюсь использовать DynamoDB в качестве основного источника данных. Многое из того, что он делает, отлично работает для нужд, за исключением нескольких случаев.
Это потребности сортировки и разбивки на страницы пользовательского интерфейса. Пользователи могут сортировать данные в любом месте из 8-10 различных столбцов, и результирующий набор из 20-30 тыс. Строк должен быть разбит на страницы.
Из того, что я могу сказать о DynamoDB, единственный способ сделать сортировку всеми эти столбцы должны были бы раскрыть это множество ключей сортировки через множество дополнительных индексов, и это кажется неправильным использованием этих концепций. Если я не собираюсь сортировать данные с помощью запросов DynamoDb, я тоже не могу разбивать их на страницы.
Итак, мой вопрос: как быстрее всего получить данные для разбивки на страницы и сортировки? Должен ли я перенести набор результатов в Аврору, а затем отсортировать & страницу с SQL? Я думал об экспорте в S3 и последующем использовании чего-то вроде Athena для page & sort, но этот инструмент действительно предназначен для гораздо больших наборов данных, чем этот. Какие есть другие варианты?