Я бы использовал сельдерей на одной или на нескольких машинах со стратегией «на лету».У вас может быть Задача агрегации, которая извлекает данные, и Задача процесса, которая анализирует их и сохраняет их в БД.Это очень масштабируемый подход, и вы можете настроить его в соответствии со своими вычислительными возможностями.
Стратегия «на лету» более эффективна в том смысле, что вы обрабатываете данные за один проход.Два других включают в себя дополнительный шаг: повторно получить данные с того места, где вы их сохранили, и обработать их после этого.
Конечно, все зависит от характера ваших данных и способа их обработки.Если фаза процесса медленнее агрегации, стратегия «на лету» зависнет и будет ждать завершения обработки.Но опять же, вы можете настроить сельдерей на асинхронность и продолжить агрегирование, пока есть данные, которые еще не обработаны.