Distributed таблицу на каждом хосте кластера (на каждой реплике каждого шарда)?
лучше не надо писать в Distributed (если у вас используется Replicated и не нужен шардинг по ключу) Engine=Kafka и MV конечно надо создавать на всех репликах
как тогда размазывать данные по шардам? в MV прописывать условие выборки (аналог ключа шардирования)?
если нужен шардинг по ключу тогда конечно Distributed
Вот, отсюда вопрос. Distributed таблица по логике одна на весь кластер, если на каждой реплике каждого шарда будет Engine=Kafka и MV TO Distributed, не будет ли дубликатов данных или еще каких проблем? Как я понимаю, каждая реплика с таблицой Engine=Kafka читает кафку под своим консьюмером, то есть каждая реплика достает из кафки свою копию данных, или это не так?
Distributed конечно не одна на весь кластер. Каждая нода КХ независима, и таблицы Distributed на них независимы. >не будет ли дубликатов данных или еще каких проблем не будет. Просто создавайте все одинаково, на каждом ноде все 3 Kafka + MV + Distributed >каждая реплика с таблицой Engine=Kafka читает кафку под своим консьюмером, >то есть каждая реплика достает из кафки свою копию данных, или это не так это так, поэтому все ОК
спасибо большое :)) а internal_replication оставлять по умолчанию (false)?
конечно он должен быть true при ReplicatedMergeTree иначе будут дубликаты internal_replication=true значит что внизу Replicated и она сама internally будет делать репликацию при internal_replication=false — репликацию делает Distributed (она пишет копию во все реплики)
Обсуждают сегодня