скорее всего там три файла по два миллиона записей в каждом при жирных INSERT кликхаус делает новый data part на каждый миллион записей см. вот эту настройку https://clickhouse.com/docs/en/operations/settings/settings/#settings-max_insert_block_size уменьшать ее не надо... можно увеличить если у вас действительно много данных
Суммарно count() выдал 2 млн записей. Почему три файла по 2 млн?
Тогда по идее должно быть 2 data part?
ну вы сказали про 6 частей... SELECT * FROM system.parts WHERE table='tips'; посмотрите там есть rows
нет, зависит от кол-ва партиций которые затронуты партиции и парты это разные вещи там два файла суммарно два миллиона записей, но похоже разбиты на некоторое кол-во партиций... и получается 6
да точно. там данные за три месяца... соответсвенно миллион строк из одного архива, разбиваются на три парта по одному в месячную партицию
Понял, тогда в одну партицию может попасть несколько data part, количество строк в котором регулируется параметром settings-max_insert_block_size?
да но попадают в партицию парты которые имеют строгое отношение к ней между собой партиции не перемешиваюстя (в отличии от партов которые постоянно мержатся между собой в рамках одной партиции)
Но ведь парты мержатся между собой, почему они в данном случае не мержатся..?
они мержатся потом, после вставки... если клик посчитает это необходимым
Вот теперь понял, спасибо!
Можете посоветовать что-нибудь почитать в плане ликбеза устройства data part'ов и алгоритмов, которые применяются к ним?
https://habr.com/ru/post/539538/
Обсуждают сегодня