Distributed с ключем шардирования hash(field), раньше мы вставляли через нее, но потому нагрузка на один хост не потянула и мы стали вставлять случайным образом каждую строчку по шардам в локальные таблицы, я решил проверить как распределены определенные field по шардам и оказывается, что определенное значение field так же лежит в определенном шарде, Clickhouse фоном что-то переставляет или почему это происходит?
потому что Distirbuted таблица не хранит в себе данные это proxy Табилца при записи данные разбиваются по ключу шардирования и кладуться во временную папку в .bin файлы в формате RowBinary по имени типа shard1_replica1 а потом обычным INSERT вставляются в целевую MergeTree* таблицу на соответсвующие сервера из system.clusters (remote_servers секция конфига) если вы вставляете на случайную ноду в Distributed таблицу, она данные вставляет дальше туда, куда указывает ключ шардирования в соответствии с текущей remote_servers секцией
подскажите, я верно понял из вашего ответа, что MV не может срабатывать на distributed таблицу, а будет работать только на инсерт в целевую?
Обсуждают сегодня