- 제거에 앞서 클러스터에 용량이 추가되므로, break-first 방식과 달리 클러스터 전체 용량이 감소하지 않습니다. 물론 클라우드 환경에서는 노드 또는 디스크 장애와 같은 예기치 않은 이벤트가 여전히 발생할 수 있습니다.
- 이 방식은 클러스터에 높은 부하가 걸린 상황에서 특히 유용하며, break-first 방식에서 발생할 수 있는 것처럼 기존 레플리카에 과부하가 걸리는 것을 방지합니다.
- 레플리카를 먼저 제거할 때까지 기다릴 필요 없이 신속하게 추가할 수 있으므로, 이 방식은 더 빠르고 민첩한 스케일링 경험을 제공합니다.
- MBB 작업은 현재 레플리카에서 실행 중인 기존 workload가 종료된 후에야 해당 레플리카를 종료합니다. 이 대기 기간은 현재 1시간으로 설정되어 있으므로, 레플리카를 제거하기 전에 해당 레플리카에서 장시간 실행 중인 쿼리가 끝날 때까지 최대 1시간까지 기다릴 수 있습니다. 또한 레플리카에서 백업 프로세스가 실행 중인 경우에는 해당 프로세스가 완료된 뒤 레플리카를 종료합니다.
- 레플리카가 종료되기 전에 대기 시간이 있으므로, 클러스터에 설정된 최대 레플리카 수보다 실제 레플리카 수가 더 많아지는 상황이 발생할 수 있습니다. 예를 들어 총 6개의 레플리카를 가진 서비스에서 MBB 작업이 진행 중이면, 이전 레플리카가 여전히 쿼리를 처리하는 동안 클러스터에 3개의 레플리카가 추가되어 총 9개의 레플리카가 될 수 있습니다. 즉, 일정 기간 동안 클러스터의 레플리카 수가 목표 수를 초과할 수 있습니다. 또한 여러 MBB 작업이 서로 겹치면서 레플리카가 누적될 수도 있습니다. 예를 들어 API를 통해 클러스터에 여러 수직 스케일링 요청을 보내는 경우 이런 상황이 발생할 수 있습니다. ClickHouse Cloud에는 클러스터에 레플리카가 과도하게 누적되지 않도록 제한하는 점검 장치가 마련되어 있습니다.
- MBB 작업에서는 시스템 테이블(system table) 데이터가 30일 동안 유지됩니다. 즉, 클러스터에서 MBB 작업이 발생할 때마다 30일치 시스템 테이블 데이터가 이전 레플리카에서 새 레플리카로 복제됩니다.