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

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

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

6 ответов

12 просмотров

Каких запросов? Точечных - в гранулы, массовых - в диски, фильтрация -- в 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

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

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

$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
окей, дело реально в org было. но что за мусор в конце?
Vi Chapmann
15
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
Есть тут крутые SQL-маньяки (в частности postgresql)? Нужна помощь, совет, что-то всю голову сломал, не могу придумать как реализовать нужное. Есть вот такой набор данных: f...
Alex
11
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
18
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Карта сайта