remote_servers 섹션에 구성됨)에 액세스할 수 있습니다. 분산 테이블를 생성하지 않고도 액세스할 수 있습니다. 각 세그먼트에서는 레플리카 1개만 조회합니다.
clusterAllReplicas 함수는 cluster와 동일하지만, 모든 레플리카를 조회합니다. 클러스터의 각 레플리카는 별도의 세그먼트/연결로 사용됩니다.
사용 가능한 모든 클러스터는 system.clusters 테이블에 나열되어 있습니다.
구문
인수
| 인수 | 유형 |
|---|---|
cluster_name | 원격 및 로컬 서버의 주소 집합과 연결 매개변수를 구성하는 데 사용되는 클러스터 이름입니다. 지정하지 않으면 default로 설정됩니다. |
db.table or db, table | 데이터베이스와 테이블의 이름입니다. |
sharding_key | 세그먼트 분할 키입니다. 선택 사항입니다. 클러스터에 세그먼트가 2개 이상 있으면 지정해야 합니다. |
반환 값
매크로 사용
cluster_name에는 매크로, 즉 {}로 감싼 치환 값을 포함할 수 있습니다. 치환되는 값은 서버 구성 파일의 macros 섹션에서 가져옵니다.
예시:
사용법 및 권장 사항
cluster 및 clusterAllReplicas 테이블 함수를 사용하는 것은 분산 테이블을 생성하는 것보다 효율이 떨어집니다. 이 경우 각 요청마다 서버 연결이 다시 설정되기 때문입니다. 많은 수의 쿼리를 처리할 때는 항상 분산 테이블을 미리 생성하고, cluster 및 clusterAllReplicas 테이블 함수는 사용하지 마십시오.
cluster 및 clusterAllReplicas 테이블 함수는 다음과 같은 경우에 유용할 수 있습니다.
- 데이터 비교, 디버깅, 테스트를 위해 특정 클러스터에 액세스해야 하는 경우
- 연구 목적으로 여러 ClickHouse 클러스터와 레플리카에 쿼리해야 하는 경우
- 수동으로 수행하는 드문 분산 요청인 경우
host, port, user, password, compression, secure와 같은 연결 설정은 <remote_servers> 구성 섹션에서 가져옵니다. 자세한 내용은 분산 엔진을 참조하십시오.