Output record для CTR time series
Какую строку должен писать stream job в хранилище агрегатов для dashboard?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Строка: campaign_id, window_start, window_size, impressions, clicks, ctr, update_time/version; ключи должны поддерживать быстрый range query.
Полный разбор
Базовый record содержит campaign_id, window_start, window_end или bucket_size, impressions_count, clicks_count, ctr, last_update_time и версию/статус окна. Для ClickHouse/OLAP важно выбрать сортировку по campaign_id и времени, чтобы dashboard быстро читал диапазон.
Если нужны 1m/5m/1h графики, можно хранить отдельные rollup таблицы или строить rollup из минутных buckets. CTR лучше пересчитывать из clicks/impressions на выбранном уровне, чтобы избежать ошибки усреднения процентов.