Как лучше перенести одно поле из PostgreSQL в ClickHouse?

Есть таблица примерно в миллиард записей в постгрес.
Эта же таблица параллельно пишется в кликхаус, но обнаружили, что забыли добавить туда один из важных столбцов.
И того нам нужно проапдейтить весь миллиард записей в клике, добавив каждой новое поле по условию where id.
Собственно как лучше это сделать?
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
ну, Постгрес можете из вопроса убрать, вы же понимаете что проблема не в этом

если в Клике у вас не сингл сервер, а кластер то - Вам лучше сюда https://t.me/clickhouse_ru с акцентом о кластере - там бывают веселые рассинхроны

в остальном - классически как и при обычной базе с поправкой на особенности клика

а) новая таблица NEW с полями из нынешней (OLD) + важное поле
б) новая таблица TMP с полями (id, важное поле )
в) INSERT в NEW JOIN OLD+TMP( тут может какую joinget вспомогательную, но если у вас миллиард уникальных ид, увы)

Rename New - Old

все это на сингл сделается в момент, миллиарды не помеха , с поправкой на окно выполнения )) ну - по ID Range всегда можно подкорректоровать

само собой - контролируемо остановить добавление новыз данных
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы