для MSSQL с колоночным индексом на объёме 10+ ТБ для уже имеющегося хранилища.
Попробовал несколько простых запросов в песочнице play.clickhouse.tech
И на вот таком запросе, который ищет топ пользователей с наименьшей медианой между соседними хитами, песочница думает 1 минуту, после чего отдает ошибку.
SELECT o1.UserID, median(dateDiff('second', o1.EventTime, o2.EventTime, 'UTC')), count(1)
FROM hits_100m_obfuscated as o1
asof join hits_100m_obfuscated
as o2 on o1.UserID = o2.UserID and o1.WatchID < o2.WatchID
group by o1.UserID
ORDER BY median(dateDiff('second', o1.EventTime, o2.EventTime, 'UTC'))
limit 100
Скажите, какой бест практис решения подобных задач (для наших потребностей достаточно типовая). Как можно посчитать то же, но вложиться в минуту и 10ГБ памяти песочницы, и возможно ли?
через GROUP BY и массивы
Обсуждают сегодня