184 похожих чатов

В клике производительность запросов на чтение будет упираться в гранулы,

в парты или в партишны?

6 ответов

23 просмотра

Каких запросов? Точечных - в гранулы, массовых - в диски, фильтрация -- в CPU и так далее

в кол-во доступных IOPS, CPU и RAM оно будет упираться а не в то что вы перечислили partitions это логическая конструкция. физически это min max индекс в каждом парте, который позволяет сделать partition prunning то есть быстро отбросить парты не сканируя если есть WHERE поле_по_которому_сделан_partition_by parts это каталоги внутри которых файлы, главные из которых primari.idx (грузится в памяти) и *.bin (содержимое колонок) *.mrk (разметка колонок на гранулы в соответсвии со значениями primary key) есть такое понятие как адаптивная гранулярность гранулы это кусочки партов, соответсвующие значениям из primary key то есть если у вас плохой запрос который никак не задействует ни partition prunning и не содержит полей из primary key для быстрого сканирования партов и который в итоге читает \ фильтрует на CPU \ группирует и сортирует то упираться будет в то, чего больше чтения с диска, фильтрации на CPU (обычно не упирается) и группировки \ сортировки

Tetra- Автор вопроса
Slach [altinity]
в кол-во доступных IOPS, CPU и RAM оно будет упира...

имелась в виду единица масштабирования для потоков. Если у меня 1000 потоков, но 10 гранул, 5 партов, 1 партишн, во что упрется?

Tetra
имелась в виду единица масштабирования для потоков...

нет тредпулы конкретно по партам или по гранулам не масштабируются... это точно там по разному для каждого случая ... есть некоторый набор тредпулов специфичных, есть общий тредпул из которого берутся свободные треды... есть настройка max_threads ее можно как в профиле так и в запросе через SETTINGS задать

Tetra- Автор вопроса
Slach [altinity]
нет тредпулы конкретно по партам или по гранулам н...

еще раз уточню, вот у меня 1000 потоков, все доступны, не суть из каких пулов, важно что их явно в избытке. У меня есть только 1 партиция, 5 партов в этом партишне, там 10 гранул суммарно. Вопрос, сколько потоков максимально будет задействовано? предполагаем что даже на короткое время.

Tetra
еще раз уточню, вот у меня 1000 потоков, все досту...

такое легче через system.query_thread_log посмотреть https://clickhouse.com/docs/en/operations/system-tables/query_thread_log

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта