Size: a a a

ClickHouse не тормозит

2020 June 06

V

Valeriy in ClickHouse не тормозит
Сортировки нет, только группировка по координатам.
Если кратко, то хранить перемещения мышки. Решено не хранить с точностью до пикселя, достаточно привязки к сетке 15х15 пикселей + счётчик, чтоб уменьшить количество данных. И нужен ряд фильтров: броузер, ос, и т.д.
Отсюда возникла схема с Summary таблицей и индексом:
pageId,date,deviceTypeId,coordX,coordY,country,browser,os,... + count поле.
По полям pageId,date,deviceTypeId всегда будет условие в where. По остальным опционально. Все эти поля будут входить в group by и выбираться coordX,coordY,sum(count)
источник

D

Dj in ClickHouse не тормозит
Valeriy
Пока никуда не упираемся, этап проектирования )
Ожидается до 100M записей в сутки в SummaryMergeTree.
Крутиться будет в облаке, диск можно расширять до определённых пределов (iops'ы тоже), ядер до 64-х на одном тазике.

Характер нагрузки - постоянная запись пачками десятков тысяч строк, относительно редкие чтения со сканированием в пределах 1M-100M записей.

В SummaryMergeTree первичный ключ 12 колонок (если эти фильтры отдельными столбцами делать). Отсюда и возник вопрос, может его урезать за счёт битовой маски.

В общем лучше протестировать разные варианты и на числа тогда смотреть.
Не парьтесь, делайте отдельные колонки. На порядок не будет изменений, слишком мало колонок у вас.
источник
2020 June 07

DC

Denny Crane (I don't... in ClickHouse не тормозит
Valeriy
Сортировки нет, только группировка по координатам.
Если кратко, то хранить перемещения мышки. Решено не хранить с точностью до пикселя, достаточно привязки к сетке 15х15 пикселей + счётчик, чтоб уменьшить количество данных. И нужен ряд фильтров: броузер, ос, и т.д.
Отсюда возникла схема с Summary таблицей и индексом:
pageId,date,deviceTypeId,coordX,coordY,country,browser,os,... + count поле.
По полям pageId,date,deviceTypeId всегда будет условие в where. По остальным опционально. Все эти поля будут входить в group by и выбираться coordX,coordY,sum(count)
я бы попробовал
partition by date
primary key pageId,deviceTypeId,country
order by pageId,deviceTypeId,country,browser,os,coordX,coordY
источник

V

Valeriy in ClickHouse не тормозит
Всем спасибо, будем пробовать
источник

pk

papa karlo in ClickHouse не тормозит
>Ожидается до 100M записей в сутки в SummaryMergeTree.
>Если кратко, то хранить перемещения мышки.
перемещений мышки может хоть на одной вкладке быть 10к
источник

V

Valeriy in ClickHouse не тормозит
Перемещений да, группируются в блоки по 15x15 пикселей. Хранится счётчик для блока, а не перемещения в сыром виде. Для всех пользователей андроида из одной страны в сутки в рамках одной страницы пусть будет 15К записей. Но вообще, конечно фильтры (срезы) очень сильно добавляют данных. Опять же, на лавры Гугла/Яндекса не претендуем, трекать весь мир планов нет. А оценка в 100M/сутки, выглядит для старта скорее даже завышенной в конкретно наших реалиях.
источник

A

Arsen in ClickHouse не тормозит
С чем может быть связана эта ошибка?
Code: 159, e.displayText() = DB::Exception: Timeout exceeded: elapsed 5.00045659 seconds, maximum: 5: While executing MergeTreeThread (version 20.3.7.46 (official build))
источник

A

Arsen in ClickHouse не тормозит
Делаю select'ы с union'ами. На выходе около 3 млн строк должно получиться. Запрос то отрабатывает, то не отрабатывает
источник

A

Arsen in ClickHouse не тормозит
Если отрабатывает, то секунд за 30
источник

AT

Al T in ClickHouse не тормозит
безотносительно к ошибке, хочется узнать 3 миллиона строк куда потом?
источник

AT

Al T in ClickHouse не тормозит
это ETL у вас?
источник

A

Arsen in ClickHouse не тормозит
В Табло)
источник

БК

Бећир Крстивоје... in ClickHouse не тормозит
Arsen
В Табло)
а таблу нормально от 3м точек? в интернетах больше ~500к в принципе не рекомендуют.
источник

A

Arsen in ClickHouse не тормозит
Да, нормально. Я тестирую запрос через tabix или datagrip
источник

AT

Al T in ClickHouse не тормозит
да тут просто гонять 3 миллиона на каждый чих табло
источник

A

Arsen in ClickHouse не тормозит
Не, там если extract сделать, то табло локальную копию таблицы из запроса сохранит у себя
источник

БК

Бећир Крстивоје... in ClickHouse не тормозит
на экстракт нормально. Я думал, вы отчёт строите. А зачем кх, если экстракт? Или кх является и хранилищем тоже?
источник

A

Arsen in ClickHouse не тормозит
Кх - хранилище
источник

A

Arsen in ClickHouse не тормозит
Ну так вот, почему-то через datagrip sql запрос исполняется на 9/10 union all, а через tabix, на 3-[ union уже timeout вылезает
источник

БК

Бећир Крстивоје... in ClickHouse не тормозит
по ошибке: в кх очень много разных таймаутов. Я бы сделал select * from system.settings и поискал бы 5 или 5000. Точнее, к сожалению, не знаю
источник