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



@AngreyV

Есть таблица примерно в миллиард записей в постгрес.
Эта же таблица параллельно пишется в кликхаус, но обнаружили, что забыли добавить туда один из важных столбцов.
И того нам нужно проапдейтить весь миллиард записей в клике, добавив каждой новое поле по условию where id.
Собственно как лучше это сделать?


Решения вопроса 0


Ответы на вопрос 1



@dimonchik2013

ну, Постгрес можете из вопроса убрать, вы же понимаете что проблема не в этом

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

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

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

Rename New — Old

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

само собой — контролируемо остановить добавление новыз данных

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *