Комментарии 1
Отличная статья и введение в предмет. Сам занимаюсь подобной проблемой (фича-инжиниринг для ml-сервисов). Меня радует, что в индустрии развиваются и стандартизуются инструменты, чтобы дата-инженерией могли заниматься обычные люди (не дата-инженеры).
И под это формируется технологическая основа для написания своих дата-пайплайнов, в том числе распределенных (datafusion-distributed). На мой взгляд ключевой слом в том, что это может сделать разработчик, овнер сервиса, и это будет так же эффективно как в эталонных инструментах (Spark/Flink) Таким образом подход с дата-инженерией перестает быть узким горлышком (личные боли, нет людей, ждем ресурсы, раскатываем кластер-флин и тд). Обслуживать это может обычный разработчик - поскейлить сервисы, апрнуть ресурсы в k8s-манифесте.
Проблема с traininig-inference skew (в нашем случае - унификация запроса для однотипного рассчета батчами/стримом (микробатчами)/батчем в прошлое) вообще сложно разрешимая на стандартных технологиях: итоге все равно собираешь свой велосипед (flink,spark и прочих compute-engine, clickhouse) из больших кусков с учетом их специфики.
Единственная загвоздка, что это все на Rust и очень высокий порог входа. Видимо настало время разбираться в Rust/Tokio :)

Volga: движок обработки real-time данных для AI/ML — аналог Spark и Flink на Rust (Arrow + DataFusion)