При сотнях миллионов событий в день (~несколько тысяч/сек, больше на пиках) выигрышный ход — отделить приём (ingestion) от отдачи (serving): поглощать записи в durable log, обрабатывать поток один раз и разветвлять на два хранилища, настроенных под противоположные задачи — предагрегированное для родителей (быстрые чтения) и сырое, полное по точности — для ML.
почтовая комната — collector принимает почту, Kafka — это конвейерная лента, и каждый предмет копируется на две полки: , на которую родители бросают взгляд, и , в котором копается ML-команда.
