Настройка архитектуры для анализа потоков данных временного потока из нескольких источников.

Какова была бы наилучшая практика с точки зрения AWS для следующего:

  • Многие медицинские устройства IOT собирают данные со скоростью около 256 Кбит / с.
  • Данные представляют собой данные временного ряда (матрица [Каналы X выборок], могут быть миллионы выборок и десятки каналов)
  • Данные сохраняются в файлы в S3, и каждый сеанс записывается в базу данных с некоторыми метаданными. Пока что мы используем для этого RDS.
  • Каждый набор данных занимает около 5 ГБ.
  • У нас есть доступ к наборам данных, и мы хотели бы запустить некоторый процесс анализа:
    • Доступ к файлу данных
    • Шаг анализа:
      • Выполнить код (управляемая версия), который принимает файл данных и выдает результат (другой файл или JSON).
      • Зарегистрируйте шаг анализа в какой-либо базе данных (какой?) и зарегистрируйте результат (если файл создан, зарегистрируйте его местоположение)
    • Аналогичным образом выполните еще N шагов анализа. Шаги анализа могут зависеть друг от друга, но могут быть и параллельными.
    • Результат N-го шага является конечным результатом потока анализа.

Идея состоит в том, чтобы предоставить простой способ запускать код с данными в AWS без фактической загрузки файлов и вести журнал того, какой анализ был выполнен с данными.

Есть идеи, какие сервисы и базы данных использовать? Как передать данные? Каким будет простой в использовании интерфейс для специалиста по данным, который работает, например, с Python?

У меня есть следующая идея:

  • Шаги анализа представляют собой репозитории управляемого кода в CodeCommit (могут быть контейнерами).
  • Специалисты по данным определяют потоки (в формате JSON)
  • Когда специалист по данным отдает приказ, его поток выполняется.
  • Поток регистрируется как запись в базе данных.
  • Менеджер потоков распределяет потоки между агентами исполнения.
  • Агент — это механизм, который получает поток, извлекает данные и контейнеры и выполняет поток.
  • Каждый агент регистрирует каждый шаг потока в базе данных.

Примеры этапов анализа:

  1. Фильтрация
  2. Маркировка артефактов в данных (метки времени)
  3. Расчет статистических параметров

0 ответов

Другие вопросы по тегам