MATERIALIZED VIEW (ReplicatedSummingMergeTree) удалить данные и залить их новыми за одну и туже дату в эту же таблицу, удалиение прошло успешно ALTER TABLE table DELETE WHERE date = '2020-01-01', но при добавлении данных, данные в MV не добавляются, точнее запрос отрабатывает и не каких ошибок нет, ни в логах ни при инсерте, но при селекте данных не находит, тоесть какбудто они не добавились. В какую сторону копать? Мутации отработали со статусом 1
set insert_deduplicate=0
Механика какая? Запросы записываются в бэклог и сравнивает их и при очередном запросе?
КХ записывает в ZK контр. сумму инсерта, если у след. инсерта такая же сумма КХ пропускает инсерт. set insert_deduplicate=0 это отключает. по умолчанию 100 сумм хранятся неделю https://clickhouse.tech/docs/ru/operations/settings/merge-tree-settings/#replicated-deduplication-window https://clickhouse.tech/docs/ru/engines/table-engines/mergetree-family/replication/ Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз. Это сделано для того, чтобы в случае сбоя в сети, когда клиентское приложение не может понять, были ли данные записаны в БД, можно было просто повторить запрос INSERT. При этом не имеет значения, на какую реплику будут отправлены INSERT-ы с одинаковыми данными. Запрос INSERT идемпотентный. Параметры дедуплицирования регулируются настройками сервера merge_tree
set insert_deduplicate=0 помогло, спасибо.
Обсуждают сегодня