последние 5 минут с разными разрезами.
Есть мысль создавать на каждую минуту по одной таблице и делать к ним запросы используя движок Merge(). Старые таблицы удалять спустя 5 минут.
Это норм или есть варианты лучше?
Пробовал две схемы, обе на SummingMergeTree - нам нужно хранить данные о показах статей - ahash; на сайтах - site_id, по разным разрезам group_name - но разрезов конечное число и не большое до 15. Т/е нам нужны только факты показа, без детальной информации типа user_agent,ip... Главное realtime чтение нужных элементов c небольшой задержкой от текущего момента времени. 1) Вариант когда колонки были минутами PK(event_date,event_time, site_id, ahash, group_name) и колоники view_00,views_01,.... views_59 event_time - пишется время события с округлением в час 2) Вариант когда колонки группы PK(event_date,event_time, site_id, ahash) и колоники group_1....group_14,group_15 event_time - пишется время события без секунд Оба варианта были хороши по записе, но используем второй вариант - т/к оказался самым удобным для чтения. Попробуйте сперва представить чтение данных, а потом уже сделаете запись) Таким методом мы обсчитываем показ всех статей практически всех СМИ в РФ за последние 2 минуты/час/сутки.
Обсуждают сегодня