Войти Регистрация
Data base

112. Уникальные посетители за день из минутных агрегатов

Средняя

ClickHouse · ClickHouse 26.3.57.12

Cloudflare хранит минутные агрегаты, а уникальных посетителей по IP — как состояние агрегатной функции в AggregatingMergeTree: SummingMergeTree такие состояния не сливает.

В uniques_1m колонка visitors — состояние uniqExact по IP за минуту. Одна пара (zone, minute) может лежать в нескольких строках, пока куски не слились. Верните zone, day (дата по UTC) и visitors — сколько разных IP было за день.

В работе: Дашборд зоны: переключатель «минута / час / день» поверх одной таблицы минутных агрегатов.

Как проверяем Движка ClickHouse в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите все верные варианты (одна лишняя отметка допустима). После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
AggregatingMergeTreeкомбинаторы -State/-MergeуникальныеGROUP BY

Источник: кейс Cloudflare: уникальные посетители как AggregateFunction в AggregatingMergeTree, 2018. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.

Какие запросы вернут число уникальных посетителей за день?

  • Сумма минутных уникальных
  • count() строк
  • uniqExactMerge по дню
  • Максимум по минутам
  • Сначала -MergeState по минуте, потом -Merge по дню