ClickHouse/docs/ru/sql-reference/table-functions/cluster.md
2021-07-29 18:20:55 +03:00

2.8 KiB
Raw Blame History

toc_priority toc_title
50 cluster

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