сервере <host>shard-1-2</host>. При попадании запроса на этот сервер будут прочитаны оба шарда/реплики или только одна?
При том конфиге и созданной таблице вида CREATE DISTRIBUTED TABLE t_distributed AS t_local Engine=Distributed(cluster, 'schema', 't_local'); Сервер оправит по 1-му запросу в каждый шард, но т.к. там в описании кое что попутано то запрос может попасть в 2-е реплики одного и тогоже шарда. Крос репликация костыляется с помощью создания таблиц в разных схемах, но, как по мне, это путь вникуда, и на этом пути у вас будут внезапные подземные стуки и жуткая попаболь от непонимания что вообще происходит Простой пример <remote_servers> <cluster> <shard> <replica> <host>127.0.0.1</host> <port>9000</port> </replica> </shard> <shard> <replica> <host>127.0.0.1</host> <port>9000</port> </replica> </shard> </cluster> </remote_servers> И запросы SELECT count() FROM t_distributed => 2 SELECT count() FROM t_local => 1
Обсуждают сегодня