데이터 리밸런싱
ClickHouse는 자동 세그먼트 리밸런싱을 지원하지 않습니다. 그러나 다음과 같은 우선순위에 따른 세그먼트 리밸런싱 방법이 있습니다:
-
분산 테이블의 세그먼트를 조정하여 새 세그먼트로의 쓰기가 더 많이 쏠리도록 합니다. 이렇게 하면 클러스터에서 부하 불균형과 핫스팟이 발생할 수 있지만, 쓰기 처리량이 극단적으로 높지 않은 대부분의 시나리오에서는 현실적인 방법입니다. 사용자가 쓰기 대상, 즉 분산 테이블을 변경할 필요는 없습니다. 다만 기존 데이터 리밸런싱에는 도움이 되지 않습니다.
-
(1)의 대안으로, 기존 클러스터 구성을 수정하고 클러스터의 균형이 맞을 때까지 새 세그먼트에만 독점적으로 쓰기를 수행하여, 수동으로 쓰기 비중을 조정하는 방법이 있습니다. (1)과 동일한 한계를 갖습니다.
-
기존 데이터를 리밸런싱해야 하고 데이터를 파티션해 두었다면, 파티션을 detach한 후 새 세그먼트에 다시 attach하기 전에 다른 노드로 수동으로 이동하는 방법을 고려하십시오. 이는 뒤에 나오는 기법들보다 더 수동적인 작업이지만, 더 빠르고 리소스를 덜 사용할 수 있습니다. 수동 작업이므로 데이터 리밸런싱을 충분히 고려하여 수행해야 합니다.
-
INSERT FROM SELECT를 통해 소스 클러스터에서 새 클러스터로 데이터를 내보냅니다. 매우 큰 데이터셋에서는 성능이 좋지 않을 수 있으며, 소스 클러스터에 상당한 IO 부하를 주고 많은 네트워크 리소스를 사용할 수 있습니다. 이 방법은 최후의 수단으로 간주됩니다.