Обсуждаем ClickHouse
в мутации MATERIALIZE COLUMN учавствуют все парты
мутируют только те которые IN PARTITION у остальных меняется номер мутации в имени парта 202302_45536_47304_5_113788 -> 202302_45536_47304_5_113789 (используя хардлинки)
Всем привет!
Может кто-нибудь сталкивался с проблемой?
Пытаюсь построить у себя архитектуру бд следующим образом Null -> MV (с агрегацией) -> Таблица с ReplicatedSummingMergeTree , при этом хочу видеть следующую логику:
если по простому:
1. в таблице сидела строка с суммой 100
2. прилетела еще 2 строки 5 и 5
3. они вставятся и будет одна строка с суммой 110
а сейчас у меня эти 2 строки вставляются новой строкой с суммой 10 ...
видимо что-то делаю не так...
Здесь переписку нашел, но в ней про дедубликацию...
как точно... со стректейсом покажите
memory limit разные бывают, for query это вообще админы могут просто ограничить
ну как бы distributed что делает при вставке
разбивает данные по sharding key во временные файлы .bin в формате Native и потом вставляет их в целевые реплики шардов через обычный INSERT
RAM не хватает где? на клиенте? а вы не можете стриминг на клиенте чтоли сделать?
Читать полностью…Первое не получится, озу не хватает
Т.е. если просто вставлять в целевые таблицы, то это будет быстрее ? ъ
он и не будет читать по умолчанию, скипнет лишнее на этапе projection
и explain syntax вообще не про это, используйте explain query tree
что значит 500 строк за 1.5 часа... или много раз по 500к строк за полтора часа?
Читать полностью…Мне важно чтобы движек по факту не читал эту колонку вовсе в самом подзапросе.
Это тестовый пример, в реальном запросе может быть 50 колонок спокойно.
Проблема в том что пользователь может ранжировать колонками как хочет, и мне нужно чтобы в подзапросе, в котором идет расчет исключались не нужные колонки
как проверяете что "запись очень медленная"?
размер вставки какой? по одной строке не вставляете случайно?
а зачем вам так важно его исключить из подзапроса, если его не будет в выборке?
(если что, в запросе данного вида, движок эту колонку по итогу скипнет, и не будет читать)
Количество подключений к TCP-серверу (клиенты с собственным интерфейсом), включая соединения распределенных запросов сервер-сервер
Читать полностью…конкретно с update перерасчитывать я так понял кх не умеет
Читать полностью…для этого мусора кх не нужен, хватит и постгреса обычного
Читать полностью…https://den-crane.github.io/Everything_you_should_know_about_materialized_views_commented.pdf
https://youtu.be/1LVJ_WcLgF8?list=PLO3lfQbpDVI-hyw4MyqxEk3rDHw95SzxJ&t=7597
Добрый день!
А как может быть такое, что парты указанные в мутациях для разных партиций всегда одинаковые?
Например:
command: (MATERIALIZE COLUMN Embedding IN PARTITION '202404')
create_time: 2025-08-15 14:56:44
block_numbers.partition_id: ['']
block_numbers.number: [113790]
parts_to_do_names: ['202302_45536_47304_5_113788','202405_20150_20417_4_113788','202405_19350_20147_5_113788','202405_18310_19349_5_113788','202405_17977_18308_4_113788','202404_21039_22181_5_113788','202404_19713_21038_5_113788','202403_23251_23925_5_113788','202403_21483_23250_7_113788','202402_25121_26210_5_113788','202402_23639_25120_5_113788','202401_25495_26967_5_113788','202312_27257_28308_5_113788','202311_29955_30999_5_113788','202311_28551_29954_5_113788','202310_31718_32439_5_113788','202310_30259_31717_5_113788','202309_33360_34550_5_113788','202309_32442_33359_5_113788','202308_35318_36396_5_113788','202308_33897_35317_5_113788','202307_37176_38491_7_113788','202307_35673_37175_6_113788','202306_39128_40280_5_113788','202306_37798_39127_5_113788','202305_41033_42332_5_113788','202305_39645_41032_5_113788','202303_43922_45280_5_113788']
Читать полностью…
command: (MATERIALIZE COLUMN Embedding IN PARTITION '202403')
create_time: 2025-08-15 14:56:46
block_numbers.partition_id: ['']
block_numbers.number: [113791]
parts_to_do_names: ['202302_45536_47304_5_113788','202405_20150_20417_4_113788','202405_19350_20147_5_113788','202405_18310_19349_5_113788','202405_17977_18308_4_113788','202404_21039_22181_5_113788','202404_19713_21038_5_113788','202403_23251_23925_5_113788','202403_21483_23250_7_113788','202402_25121_26210_5_113788','202402_23639_25120_5_113788','202401_25495_26967_5_113788','202312_27257_28308_5_113788','202311_29955_30999_5_113788','202311_28551_29954_5_113788','202310_31718_32439_5_113788','202310_30259_31717_5_113788','202309_33360_34550_5_113788','202309_32442_33359_5_113788','202308_35318_36396_5_113788','202308_33897_35317_5_113788','202307_37176_38491_7_113788','202307_35673_37175_6_113788','202306_39128_40280_5_113788','202306_37798_39127_5_113788','202305_41033_42332_5_113788','202305_39645_41032_5_113788','202303_43922_45280_5_113788']
На клике, DB::Exception: Memory limit (for query) exceeded
Читать полностью…Да Вы правы query tree все отбросил, не вижу колонку name
спасибо большое
EXPLAIN json = 1, description = 0, header = 1
[
{
"Plan": {
"Node Type": "Expression",
"Node Id": "Expression_11",
"Header": [
{
"Name": "guid",
"Type": "UUID"
}
],
"Plans": [
{
"Node Type": "ReadFromMergeTree",
"Node Id": "ReadFromMergeTree_0",
"Header": [
{
"Name": "guid",
"Type": "UUID"
}
]
}
]
}
}
]
QUERY id: 0Читать полностью…
PROJECTION COLUMNS
guid UUID
PROJECTION
LIST id: 1, nodes: 1
COLUMN id: 2, column_name: guid, result_type: UUID, source_id: 3
JOIN TREE
QUERY id: 3, alias: __table1, is_subquery: 1
PROJECTION COLUMNS
guid UUID
PROJECTION
LIST id: 4, nodes: 1
COLUMN id: 5, column_name: guid, result_type: UUID, source_id: 6
JOIN TREE
TABLE id: 6, alias: __table2, table_name: test.cities
увеличьте батч до 3х миллионов, как раз будет на 3 шарда по миллионному парту вставлять...
если сами на клиенте умеете в retry и сплитовать данные по sharding key, то вставляйте в целевые таблицы сразу...
общее кол-во строк итоговое какое на вставку? миллиард?
Читать полностью…А разве EXPLAIN SYNTAX не должен был показать это? Что движек колонку name читать не будет вовсе?
Читать полностью…Версию использую 25.7.4.11 оф docker контейнер
Читать полностью…Нужно чтобы в подзапросе остался только guid, а name было исключено из подзапроса, поскольку в результирующей выборки его не будет
Читать полностью…УХ вообще рекомендуется тем у кого нет другого выхода, уже все попробовал, и КХ last resort
Читать полностью…ну я думал крикрутить агрегации на лету, но вижу что-то прям всё одна проблема на проблеме
Читать полностью…у вас вообще все странно
NewPart avg_rows_per_part 9 067 309
NewPart avg_rows_per_part 40 591
вставляли по 9 млн строк
теперь по 40 тыс
у вас с инсертом проблема
хм... processors_profile_log не представлен... у меня в сис таблицах
Читать полностью…