cluster, clusterAllReplicas 

Позволяет обратиться ко всем серверам существующего кластера, который присутствует в таблице system.clusters и сконфигурирован в секцци remote_servers без создания таблицы типа Distributed.
clusterAllReplicas - работает также как cluster но каждая реплика в кластере будет использована как отдельный шард/отдельное соединение.

Сигнатуры:

cluster('cluster_name', db.table)
cluster('cluster_name', db, table)
clusterAllReplicas('cluster_name', db.table)
clusterAllReplicas('cluster_name', db, table)

cluster_name – имя кластера, который обязан присутствовать в таблице system.clusters и обозначает подмножество адресов и параметров подключения к удаленным и локальным серверам, входящим в кластер.

Использование табличных функций cluster и clusterAllReplicas менее оптимальное чем создание таблицы типа Distributed, поскольку в этом случае соединение с сервером переустанавливается на каждый запрос. При обработке большого количества запросов, всегда создавайте Distributed таблицу заранее и не используйте табличные функции cluster и clusterAllReplicas.

Табличные функции cluster and clusterAllReplicas могут быть полезны в следующих случаях:

  • Чтение данных из конкретного кластера для сравнения данных, отладки и тестирования.
  • Запросы к разным ClickHouse кластерам и репликам в целях исследования.
  • Нечастых распределенных запросов которые делаются вручную.

Настройки соединения user, password, host, post, compression, secure берутся из секции <remote_servers> файлов конфигурации. См. подробности в разделе Distributed

See Also

Rating: 4 - 1 votes

Was this content helpful?
★★★★☆