Size: a a a

ClickHouse не тормозит

2021 January 21

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Sergey Bubnov
Всем привет, подскажите как работает внешний справочник? Например я подключил справочник из постгри, там табличка из 1-3кк записей. КХ поидее раз в какое-то время обновляет этот справочник. Получается он каждый раз гоняет вообще все данные из таблицы, вытаскивает и все перезаписывает или как-то работает только с новыми данными и частично удаляет?
в чатике есть упоминание update_field
можно таскать только дельты. Все никак не соберусь задокументировать
https://t.me/clickhouse_ru/180205
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Munir
Там обновляется полностью, но только если invalidate query другой ответ вернул. Где-то пролетало, что какой-то движок (конкретная СУБД) может только изменения присылать, но где это видел-слышал - не помню. А может это вообще звон из другой деревни.
можно таскать только дельты. Все никак не соберусь задокументировать
https://t.me/clickhouse_ru/180205
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Roman
Я заметил, что когда делаются запросы с пагинацией, то те, у которых OFFSET достаточно большой, что в ответе не будет ни одной строки, выполняются фактически мгновенно (в  system.query_log стоят нули и по времени, и по памяти). Но эти запросы подавались параллельно из нескольких потоков! (правда потоки создавались в порядке пагинации). Получается, что у Clickhouse есть какие-то хитрые оптимизации, которые дают такой эффект?
нету, вы путаете, покажите пример
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Timofey Gusev
Всем привет, написал тестовый сервис, который через jdbc ходит в CH. Сам запрос, с котором он идет, всегда select 1. Упираюсь в 10к qps и никак не могу разогнать выше, при этом сами запросы исполняются < 1-2мс. Кто-нибудь сталкивался с подобными случаями и если да, то как разгоняли qps? Может, есть какие-то магические настройки в самой бд. или что-то подобное?
это шутка? 10krps на OLAP базе? КХ никто не точил на это. Изначально guid для каждого запроса генерился настолько долго что 100rps не было. На сайте альтинити есть тесты CH under storm.
Ну и возможно вы упираетесь в клиента.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Ada Min
Коллеги, есть варианты оптимизировать запрос:
SELECT user, countDistinct(article) as count from (SELECT article, arrayJoin(arraySlice(arraySort((x,y)->y, groupArray(user),groupArray(toUnixTimestamp(time))),1,10)) as user from db WHERE status='read' group by article) group by user order by count desc limit 25
То есть, найти юзеров которые прочитали больше всего статей при условии что они были среди последних 10 юзеров прочитавших статью...

Вариант выше кажется неоптимальным, и при некоторых условиях упирается в память
SELECT article, user, time
 from db
 WHERE status='read'
 order by article, user, time desc
 limit 10 by article, user
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Andrey Grigorian
Здравствуйте, коллеги.
КХ не использует вторичные индексы. Каждый раз идёт фуллскан базы
у КХ нет вторичных индексов, skip index это не то что вы подумали
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Timofey Gusev
а, я читал как раз недавно эту статью. Автор в ней пишет, что при select 1 запросе 13к достикает qps. Интересно, а это пик нагрузки? Если я, например, хочу получить хотя бы 30к qps, а лучше и все 50к, то это технически не возможно сделать?
вы на 50к можете упираться в сеть, в роутер.
источник

AC

Alexandr Chigrinets in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
это шутка? 10krps на OLAP базе? КХ никто не точил на это. Изначально guid для каждого запроса генерился настолько долго что 100rps не было. На сайте альтинити есть тесты CH under storm.
Ну и возможно вы упираетесь в клиента.
Вроде как фишка столбцовых СУБД и состоит в быстрой обработке аналитических запросов, нет?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexandr Chigrinets
Вроде как фишка столбцовых СУБД и состоит в быстрой обработке аналитических запросов, нет?
в быстрой это меньше чем за 10минут на запрос
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
медленно это запрос >4 часов
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
КХ как раз умеет данные на дисках хранить, если у вас база в память влезает, вам не КХ нужен, а любая in-memory db
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
от базы которая хранит данные на диске, глупо ожидать реалтайм и 10krps
источник

AC

Alexandr Chigrinets in ClickHouse не тормозит
Постгрес и тот быстрее запросы обрабатывает, хотя тоже хранит данные на диске
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexandr Chigrinets
Постгрес и тот быстрее запросы обрабатывает, хотя тоже хранит данные на диске
Постгрес 10krps ? c походом на hdd ? как это возможно физически?
источник

AC

Alexandr Chigrinets in ClickHouse не тормозит
Я не про 10krps, я про странную рекомендованную цифру из доки кликхауса 100 rps
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
КХ сделает PG на любом запросе где надо обработать 100млн. строк
источник

N

Nikolay in ClickHouse не тормозит
Alexandr Chigrinets
Вроде как фишка столбцовых СУБД и состоит в быстрой обработке аналитических запросов, нет?
10K это очень много . если это в один поток, то это порядка 6мс на запрос. 6мс - это одно чтение для жесткого диска. для ssd не знаю цифр, но если что-то не в памяти, то это прям край . наврятли такое стаблино будет работать. чуть стали читать дольше и все
источник

AC

Alexandr Chigrinets in ClickHouse не тормозит
Постгрес на SSD несколько тысяч запросов в секунду спокойно держит
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexandr Chigrinets
Постгрес на SSD несколько тысяч запросов в секунду спокойно держит
КХ сделает PG на любом запросе где надо обработать 100млн. строк
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
если надо обрабатывать мало строк берите постгре
источник