Назад к подготовке

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 на выбранном уровне, чтобы избежать ошибки усреднения процентов.