Кстати, если уж тут идёт беседа про обновления данных. Мы в конторе планируем посадить на кликхаус систему финансовой аналитики. Там тоже возникают ситуации, когда с бирж приходят корректировки, и надо старые данные "обновить". Ну так вот, во время тестов на относительно небольшом куске данных в 80 миллиардов строк выяснилось, что делать выборку из ReplacingMergeTree правильным способом (с гарантией отсутствия дубликатов) получается как-то слишком медленно.
В качестве обходного пути мы сделали вот что: в таблице, где эти данные лежат, есть колонка с версией. Собственно версии хранятся в отдельной базе данных, в кликхаус периодически подгружаются как словарь и используются в запросах через dictGet. Обновление, в итоге, перестаёт быть обновлением, так как старые данные никогда не меняются.
Работает это гораздо быстрее чем ReplacingMergeTree, но мне интересно, возможно ли это сделать проще?