Обсуждаем ClickHouse
ON CLUSTER нужен для DDL распределённых запросов и всё.
Читать полностью…on cluster -- не имеет отношения к репликации,
ON CLUSTER это просто хелпер который выполняет команду на многих узлах, раньше его не было, и надо было вручную организовывать выполнение команд create/alter/drop на всех нодах. Я до сих почти не пользуюсь ON CLUSTER.
Добрый вечер. Подскажите, пжл, нужна копия таблицы на всех шардах. Возможно как-то настроить репликацию между шардами чтобы не писать в каждый шард по отдельности?
Читать полностью…1) TTL WHERE is unusable garbage #45608 use TTL instead (you can express anything in TTL expression, without using WHERE #73781 (comment)).
https://github.com/ClickHouse/ClickHouse/issues/77099#issuecomment-2783205492
2) используйте округление toStartOfDate в ttl
Ну так то да))) если не указать, то наверное другого места и нет. Но могу по Незнайке ошибаться!
Читать полностью…ну то есть таки не знает ))
вы ему явно указываете куда сходить либо через ON CLUSTER либо параметрами в remote
В этом случае запрос улетает в Keeper, который раскидывает запрос по всем нодам. А в логах видно, что запрос до окончания выполнения лежит в distributed_queue
Читать полностью…Если я правильно понимаю, то таки в курсе что есть ноды. Ну по крайней мере знает куда обратиться при необходимости. Необходимость образуется при появлении опции on cluster при определении таблицы
Читать полностью…кипер - это просто база данных, у него нет функции гонять чужие данные
Читать полностью…нода ничего не смотрит
экземпляры КХ не знают друг о друге
парты туда-сюда гоняет кипер
У вас все метаданные записаны в зукипере.
Каждая вставка создает отдельную не изменяемую частицу данных. И вы вставили в ноду 1, появилась запись в зукипере ( тут я точно не знаю как работает), вторая нода смотрит, что у нее нету этих частей данных, и запрашивает с ноды 1.
Так же и наоборот.
Точный механизм репликации я не знаю, но в моем представление примерно так.
Коллеги, добрый день!
Есть ли какие-то примеры реализаций кластера clickhouse между несколькими ЦОД? Статьи может какие-нибудь? Было бы интересно почитать
Всё равно кое чего не понимаю. Хотя наверное это уже другой вопрос. Если некая пачка заехала на Ноду2 и нода1 упала прежде, чем туда успели реплицироваться данные с Ноды2!!. То всё?? Или таки нет?
Читать полностью…Тогда для чего on cluster помимо подсказки что иди по этой таблице в конфигурацию и смотри параметры репликации??
Читать полностью…да, тупо опускаете макрос {shard} в зк пути и путь становится одинаковым для всех шардов, у меня таким образом у таблиц дименшинов N реплик, при N = Shards * ReplicationFuctor
Читать полностью…если расстояние большое (пинг больше 15мс), то все зукиперы в одном датацентре, пишем тоже в том же датацентре где зукиперы, остальные датацентры типа только реплицируют и не используются для инсертов, таким образом у меня работал КХ через океан, зукиперы и инсерты в DE, реплики в US
если расстояние небольшое то все проще
в зукипере очередь, нода поднимется и реплицирует, если очередь уже провернулась и партов нет (смержились), то в любом случае нода когда поднимается проверяет свой набор партов с тем набором что у других реплик (через список в зукипере) и начинает синхронизировать свой список, удаляет лишние парты, качает недостающие
Читать полностью…Кликхаус машина - ничего не знает о других машинах в кластере.
Это не ГП.
Ну это чисто вот такой хелп функционал.
Который запускает SQL так же как бы его запускали руками.
Основываясь на записи в system.clusters
ну он не особо в курсе, у него просто задача скопировать данные.
Кликхаус мержит данные сихронно между репликами.
Вот что пишут :
есть опция ON CLUSTER. В этом случае, Clickhouse обращается к конфигурационному файлу, где указаны все ноды кластера и выполняет запрос на каждом из них
я упростил свой текст
конечно же данные переносит магия
Всмысле, клик знает о других репликах. Он же с одной реплике на другую реплику скачивает данные.
Понятное дело, он не вкурсе конфигов и т.д.
Релики таблицы.
Ну вот именно это и надо было понять. Механизм. А более подробно уже ненадо!!. Спасибо!
Читать полностью…Я наверное понимаю. Спасибо большое всем!!
Читать полностью…Клиент подключен к конкретному серверу, на нем все данные и заходят в таблицу, потом реплицируются на другие ноды.
Читать полностью…Мастер - Мастер репликация, говорит, что везде будет один и тот же набор данных.
Читать полностью…