Я хотел бы загружать и обрабатывать кучу записей (1 м +) один за другим без загрузки всего набора сразу в AWS.Что такое хороший способ загрузить и обновить многие записи без загрузки всего набора сразу с помощью AWS?
В частности, я работаю над системой, которая соответствует пользователям.
- Пользователь представляет рейтинг пункт
- Все оценки одного и того же элемента с помощью других пользователей выбирают (1м +)
- запись в другой таблице обновляется для каждого рейтинга с новой силой отношения этих двух пользователи.
Эти две таблицы будет выглядеть следующим образом:
RATINGS: userID, itemID, rating
RELATIONSHIPS: userID1, userID2, relationshipStrength
Я хотел бы обрабатывать рейтинги без необходимости загружать весь набор сразу (1м +). Я хотел бы обработать каждый рейтинг один за другим, сделать сравнение, обновить отношения и перейти к следующему. Согласованность данных и точность не важны - если пара отношений пропустила его штраф.
Какие средства AWS были бы хороши для достижения этого?
Я смотрел в dynamodb + LAMDA, но (я считаю) это требует загрузки всего набора:
- Сохранить рейтинг dynamodb
- Dynamodb запускает Лямбда
- Lambda запрашивает все другие рейтинги dynamodb (хотят, чтобы избежать этого)
- Петля через каждый рейтинг и обновление отношений в другой таблице dynamodb
Я хочу, чтобы избежать необходимости загружать весь набор в памяти на шаге 3.
Спасибо за ответ. 1m + - это не общее количество записей в системе, а количество рейтингов одного элемента. Так, например, может быть миллион статей, каждый из которых имеет миллионный рейтинг, от пользователей 10 м. На самом деле у меня есть функциональный прототип, который находится в памяти, как вы полагаете, я пытаюсь переместить его на нечто более масштабируемое. – Baz
Если это окажется глупо большим, вы можете посмотреть на что-то в Amazon EMR (Hadoop). Или, если вы можете сохранить все рейтинги в памяти, просто проведите по каждой уникальной паре клиентов, передавая результаты на диск. Удачи! –