я понимаю, при выполнении ddl запроса он отправляется на один из инстансов clickhouse, а из него в zookeeper. Из zookeeper другие интансы считывают этот запрос и выполняют. Таким образом может быть ситуация что таблица создана не на всех нодах.
Допустим я создам distributed таблицу. Запрос выполнится, но таблица существует не на всех нодах. Далее я делаю вставку в эту таблицу. Мне повезет и я попаду на ноду где эта таблица уже существует. Но что происходит с данными которые распределяются на другие ноды у которых еще нет этой таблицы?
Дистрибьютид таблица нужна только на нодах куда приходят запросы. При селектах и инсертах дистрибьютид таблица обращается в локальные таблицы на нодах (точнее в таблицы прописанные в ddl).
Обсуждают сегодня