@andreys75
Как организовать парралельную обработу больших объемов данных на Node?
Чтобы ьыть более конкретным представим что у меня есть несколько десятков файлов по несколько ГБ каждый. В файлах находится массив данных. Есть задача посчитать общую статистику по уникальным значениям.
1. Надо прочитать каждый файл
2 Посчитать статистику по каждому файлу
3. Объединить результаты в одну статистику
Сейчас все это делается последовательной обработкой каждого файла на стороне клиента. В отдельном сервис воркере(одном). Хочется как то организовать это параллельными вычислениями.
Как это можно распараллелить на стороне клиента понятно, но проводили небольшие тесты и парралельное (в разных воркерах) чтение файлов из CacheAPI где мы храним загруженные с сервера большие массивы данных дают худшие результаты чем последовательное чтение в одном воркере.
Проэтому думаем как передать эти вычисления на сторону сервера.
Чем лучше всего воспользоваться из арсенала AWS?
Думаем в сторону AWS Lambda но примеров подобного использования я не нашел.
На сервере файлы находятся на S3
Буду благодарен за любые подсказки.
Решения вопроса 0
Ответы на вопрос 2
@Viji
У меня была длинная задача на Лямбде, я записывал проемеж значения в sqs queue и доставал во время след запуска Лямбды. Также можно использовать step functions
@jenki
Как организовать парралельную обработу больших объемов данных на Node?
Это больше вопрос к Node чем к амазон. На сколько понимаю, там вроде как есть параллельная обработка данных, но вроде как многопоточности на уровне языка нет.
AWS Lambda поддерживает js, пробуйте.