SELECT
f.Title,
s.UUID
FROM
(select * from two_db.hits) AS f
LEFT JOIN one_db.hits_dist AS s ON f.UUID = s.UUID
LIMIT 5
?
Максимально запутался с Distributed таблицами.
У меня есть 4 ноды в кластере: ch1, ch2, ch3, ch4
В ch1 находится база с таблицей - one_db.hits
В ch2 находится база с таблицей - two_db.hits
Что хочу сделать: Хочу с любой ноды получать данные с всех баз и таблиц кластера. Иметь возможность JOIN-ить таблицы для получения данных.
Вопрос: В каких нодах создать Distributed таблицы и на какие таблицы они должны ссылаться?
Рание создавал Distributed таблицу в ch1:
CREATE TABLE two_db.hits_dist (`field` type, ...) ENGINE = Distributed('ua_cluster', 'two_db', 'hits');
При
SELECT
one.Title,
two.UUID
FROM (select * from one_db.hits) AS one
LEFT JOIN two_db.hits_dist AS two ON two.UUID = one.UUID
LIMIT 5
Ругается, что в ch3, ch4 нет таблиц two_db.hits
Если создать таблицы two_db.hits что ссылаются на two_db.hits - ругается что сами на себя ссылаться не могут
Если создать таблицы two_db.hits_dist что ссылаются на two_db.hits - то проблема при SELECT остается
Если создать таблицы two_db.hits что ссылаются на two_db.hits_dist - то ошибка Distributed on Distributed is not supported