Лучший шаблон проектирования для сканирования большой таблицы, выполнения вычислений и агрегирования результатов - PullRequest
0 голосов
/ 14 мая 2019

У меня есть большая таблица DynamodB (несколько ГБ и продолжает расти), и я хочу отсканировать таблицу и провести некоторый анализ.Моя текущая идея состоит в том, чтобы использовать встроенную в DynamodB функцию параллельного сканирования и многопоточность.Каждый поток сканирует один сегмент таблицы, выполняет некоторые вычисления и объединяет данные в структуру данных, такую ​​как набор или список.Интересно, есть ли лучший и более изощренный способ сделать это как шаблон, управляемый событиями?Таким образом, каждый поток не блокируется сканированием (это займет некоторое время), и успешное сканирование может быть событием, которое может вызвать обработчик для выполнения вычислений и агрегации.

Более подробные вопросы:

  1. Является ли это хорошим выбором для использования событийно-ориентированной разработки или блокировка потока должна быть в порядке?
  2. Если 1 - да, есть ли дешевый способ добиться этого на одной машине (яне думаю, что мне нужен распределенный способ сделать это, как MapReduce)?У меня нет опыта в разработке событий, но я знаю эту концепцию.
...