분산 DDL

분산 DDL (Distributed DDL)

기본적으로 CREATE, DROP, ALTER, RENAME 쿼리는 실행되는 현재 서버에만 영향을 줘요. 클러스터 환경에서는 ON CLUSTER 절을 사용해 이런 쿼리를 분산 방식으로 실행할 수 있습니다.

출처: 문서

본문

기본적으로 CREATE, DROP, ALTER, RENAME 쿼리는 실행되는 현재 서버에만 영향을 줘요. 클러스터 구성에서는 ON CLUSTER 절로 이런 쿼리를 분산 방식으로 실행할 수 있습니다. 예를 들어 다음 쿼리는 cluster의 각 호스트에 all_hits Distributed 테이블을 생성해요:

CREATE TABLE IF NOT EXISTS all_hits ON CLUSTER cluster (p Date, i Int32) ENGINE = Distributed(cluster, default, hits)

이런 쿼리를 올바르게 실행하려면 각 호스트가 동일한 클러스터 정의를 가지고 있어야 해요(구성 동기화를 단순화하려면 ZooKeeper의 치환을 사용할 수 있어요). 또한 각 호스트는 ZooKeeper 서버에 연결되어야 합니다. 쿼리의 로컬 버전은 일부 호스트가 현재 사용 불가능하더라도 결국 클러스터의 각 호스트에서 실행됩니다. 단일 호스트 내에서 쿼리 실행 순서는 보장돼요.

더 알아보기 (Learn more)