Append-only — целебная пилюля для ClickHouse. Разберем что это, и как этим пользоваться. Напоминаю, что ClickHouse очень плохо умеет в DML — рекомендую к прочтению первую статью. Ну а решение очень простое — Append-only. Это концепция, согласно которой данные в таблицы только добавляются. Никаких обновлений. Создадим таблицу для теста: create table t1 engine=MergeTree order by id as (select 1 as id, 'qq' as name union all select 2 as id, 'bb' as name); А теперь представим, что при id=1 хотим, чтобы name='xx' вместо 'qq'. Для этого мы просто вставляем новую запись: insert into t1 values(1, 'xx'); Теперь встает логичный вопрос: а как мы поймем, какая из записей актуальная? Очевидно, нужно версионирование данных. Способов это сделать много, но покажу самый элегантный и беспроблемный, на мой взгляд. Нам понадобится добавить колонку с временем вставки записи в таблицу. Таким образом, актуальная запись будь та, у которой наибольшее время. Для этого лучше пересоздать таблицу во избежание про