메인 콘텐츠로 건너뛰기

컴퓨트-컴퓨트 분리란 무엇입니까?

컴퓨트-컴퓨트 분리를 설명하기 전에, 먼저 ClickHouse Cloud에서 서비스가 무엇을 의미하는지 이해하면 도움이 됩니다. 각 ClickHouse Cloud 서비스에는 다음이 포함됩니다:
  • 전용 CPU 및 메모리 클러스터를 갖춘 ClickHouse 컴퓨트 노드(이를 레플리카라고 함)
  • 서비스에 연결하기 위한 endpoint(또는 ClickHouse Cloud UI 콘솔을 통해 생성한 여러 endpoint)로, 로컬 및 서드파티 앱 연결에 사용됩니다(예: https://dv2fzne24g.us-east-1.aws.clickhouse.cloud:8443)
  • 서비스의 모든 데이터와 일부 메타데이터를 저장하는 객체 스토리지 폴더:

그림 1 - ClickHouse Cloud의 단일 서비스 단일 서비스만 사용하는 대신, 동일한 공유 스토리지에 액세스하는 여러 서비스를 생성할 수 있습니다. 이를 통해 데이터를 복제하지 않고도 특정 워크로드에 리소스를 전용 할당할 수 있습니다. 이 개념을 컴퓨트-컴퓨트 분리라고 합니다. 컴퓨트-컴퓨트 분리에서는 각 서비스가 자체 레플리카 세트와 endpoint를 가지지만, 동일한 객체 스토리지 폴더를 사용하고 같은 테이블, 뷰 등에 액세스합니다. 즉, 각 워크로드에 맞는 적절한 크기의 컴퓨트를 선택할 수 있습니다. 일부 워크로드는 소형 레플리카 1개만으로도 충분할 수 있지만, 다른 워크로드는 완전한 고가용성(HA)과 여러 레플리카에 걸친 수백 GB의 메모리가 필요할 수 있습니다. 또한 컴퓨트-컴퓨트 분리를 사용하면 읽기 작업과 쓰기 작업을 분리하여 서로 간섭하지 않도록 할 수 있습니다:
그림 2 - ClickHouse Cloud의 컴퓨트 분리

웨어하우스란 무엇입니까?

ClickHouse Cloud에서 웨어하우스 는 동일한 데이터를 공유하는 서비스 집합입니다. 각 웨어하우스에는 기본 서비스(가장 먼저 생성된 서비스)와 하나 이상의 보조 서비스가 있습니다. 예를 들어, 아래 스크린샷에서는 두 개의 서비스로 구성된 웨어하우스 “DWH Prod”를 확인할 수 있습니다.
  • 기본 서비스 DWH Prod
  • 보조 서비스 DWH Prod Subservice

그림 3 - 웨어하우스 예시 웨어하우스의 모든 서비스는 다음 항목을 공유합니다.
  • Region(예: us-east1)
  • Cloud 서비스 제공업체(AWS, GCP 또는 Azure)
  • ClickHouse 데이터베이스 버전
  • ClickHouse Keeper(레플리카 관리용)

액세스 제어

데이터베이스 자격 증명

웨어하우스의 모든 서비스는 동일한 테이블 집합을 공유하므로, 서비스 전반에서 액세스 제어도 함께 공유됩니다. 즉, Service 1에서 생성된 모든 데이터베이스 사용자는 동일한 권한(테이블, 뷰 등에 대한 권한 부여)으로 Service 2도 사용할 수 있으며, 반대의 경우도 마찬가지입니다. 각 서비스는 서로 다른 엔드포인트를 사용하지만, 모든 서비스에서 동일한 사용자 이름과 비밀번호를 사용합니다. 다시 말해, 아래 그림과 같이 동일한 스토리지를 사용하는 서비스 간에는 사용자가 공유됩니다.
그림 4 - 사용자 Alice는 Service 1에서 생성되었지만, 동일한 자격 증명을 사용해 동일한 데이터를 공유하는 모든 서비스에 액세스할 수 있습니다

네트워크 액세스 제어

다른 애플리케이션이나 임시 사용자의 특정 서비스에 대한 액세스를 제한하려면 네트워크 제한을 적용할 수 있습니다. 이렇게 하려면 ClickHouse Cloud 콘솔에서 액세스를 제한하려는 서비스의 서비스 탭으로 이동한 뒤 설정으로 이동하십시오. IP 필터링 설정은 각 서비스에 개별적으로 적용할 수 있으므로, 어떤 애플리케이션이 어떤 서비스에 액세스할 수 있는지 제어할 수 있습니다. 이를 통해 사용자의 특정 서비스 사용을 제한할 수 있습니다. 아래 예시에서는 Alice가 웨어하우스의 서비스 2에 액세스하지 못하도록 제한되어 있습니다:
그림 5 - 네트워크 액세스 제어 설정으로 인해 Alice는 서비스 2에 액세스할 수 없습니다 사용자가 default 사용자 대신 개별 사용자로 연결하는 경우에는 데이터에 대한 액세스를 제어하기 위해 ClickHouse 역할 및 권한 부여를 적용할 수도 있습니다.

읽기 전용 서비스와 읽기-쓰기 서비스

서비스는 다음 유형 중 하나입니다.
  • 읽기-쓰기
    • ClickHouse에서 데이터를 읽고 쓸 수 있습니다
    • 백그라운드 머지 작업(예: 데이터 삽입 후 파트 머지)을 수행하며, 이 과정에서 CPU와 메모리를 사용합니다
    • 데이터를 외부로 내보낼 수 있습니다
  • 읽기 전용
    • 데이터를 읽기만 할 수 있으며, ClickHouse에서 데이터를 쓰거나 수정할 수 없습니다
    • system table 외부에서는 백그라운드 머지 작업을 수행하지 않으므로, 리소스를 읽기 쿼리에 온전히 사용할 수 있습니다
    • 여전히 데이터를 외부로 내보낼 수는 있지만(예: 테이블 함수 사용), ClickHouse 내부 데이터는 변경할 수 없습니다
    • 백그라운드 머지로 인해 활성 상태가 유지될 수 있는 읽기-쓰기 서비스와 달리, 지연 없이 유휴 상태로 전환됩니다
중요한 읽기 workload를 쓰기/머지 오버헤드와 분리하기 위해 서비스를 읽기 전용으로 설정해야 할 때가 있습니다. 이렇게 설정할 수 있는 대상은 두 번째 서비스와 그 이후에 추가로 생성하는 서비스이며, 첫 번째 서비스는 아래 그림과 같이 항상 읽기-쓰기입니다.
그림 6 - 웨어하우스의 읽기-쓰기 및 읽기 전용 서비스
  1. 읽기 전용 서비스는 현재 사용자 관리 작업(CREATE, DROP 등)을 지원합니다.
  2. 갱신 가능 구체화 뷰는 웨어하우스의 읽기-쓰기(RW) 서비스에서만 실행됩니다.
  3. 서비스 유형(읽기 전용 또는 읽기-쓰기)은 생성 시 고정되며, 이후에는 Cloud Console에서 변경할 수 없습니다. 읽기 전용과 읽기-쓰기 액세스 간에 전환하려면 원하는 유형으로 웨어하우스에 새 서비스를 생성하십시오.

스케일링

웨어하우스의 각 서비스는 다음 항목을 기준으로 workload에 맞게 조정할 수 있습니다:
  • 노드(레플리카) 수. 기본 서비스(웨어하우스에서 처음 생성된 서비스)는 2개 이상의 노드를 가져야 합니다. 각 보조 서비스는 1개 이상의 노드를 가질 수 있습니다.
  • 노드(레플리카) 크기
  • 서비스를 자동으로 스케일링할지 여부(수평 및 수직)
  • 비활성 상태일 때 서비스를 유휴 상태로 전환할지 여부
자세한 내용은 “자동 스케일링” 페이지를 참조하십시오.

clusterAllReplicas 동작 변경 사항

하나의 웨어하우스에 여러 서비스가 있으면 clusterAllReplicas()의 동작이 달라집니다. default 클러스터 이름을 사용하면 웨어하우스의 모든 서비스가 아니라 현재 서비스 내의 레플리카만 대상으로 합니다. 예를 들어, 서비스 1에서 clusterAllReplicas(default, system, processes)를 호출하면 서비스 1에서 실행 중인 프로세스만 반환됩니다. 웨어하우스의 모든 서비스에 걸쳐 쿼리하려면 대신 all_groups.default 클러스터 이름을 사용하십시오:
SELECT * FROM clusterAllReplicas('all_groups.default', system, processes)
보조 서비스 단일 노드 서비스는 수직 확장이 가능하지만, 기본 서비스 단일 노드 서비스는 수직 확장이 불가능합니다.

제한 사항

워크로드 격리의 제한 사항

일부 워크로드는 특정 서비스로 격리할 수 없습니다. 한 서비스의 워크로드가 웨어하우스의 다른 서비스에 영향을 미치는 예외적인 경우가 있습니다. 예를 들면 다음과 같습니다:
  • 모든 읽기-쓰기 서비스는 기본적으로 백그라운드 머지 작업을 처리합니다. ClickHouse에 데이터를 삽입할 때 데이터베이스는 먼저 데이터를 일부 스테이징 파티션에 삽입한 다음 백그라운드에서 머지를 수행합니다. 이러한 머지는 메모리와 CPU 리소스를 소모할 수 있습니다. 두 개의 읽기-쓰기 서비스가 동일한 스토리지를 공유하면 둘 다 백그라운드 작업을 수행합니다. 즉, Service 1에서 INSERT 쿼리가 실행되었더라도 머지 작업은 Service 2에서 완료될 수 있습니다. 읽기 전용 서비스는 백그라운드 머지를 실행하지 않으므로 이 작업에 리소스를 사용하지 않습니다. 지원팀을 통해 서비스에서 머지를 비활성화할 수도 있습니다.
  • 모든 읽기-쓰기 서비스는 S3Queue 테이블 엔진 삽입 작업을 수행합니다. 읽기-쓰기 서비스에서 S3Queue 테이블을 생성하면, 웨어하우스의 다른 모든 읽기-쓰기 서비스도 S3에서 데이터를 읽고 데이터베이스에 데이터를 쓸 수 있습니다.
  • 유휴 상태 전환이 활성화된 경우, 한 읽기-쓰기 서비스의 삽입으로 인해 다른 읽기-쓰기 서비스가 유휴 상태로 전환되지 않을 수 있습니다. 다음과 같은 상황이 있습니다 한 서비스가 다른 서비스의 백그라운드 머지 작업을 수행할 수 있습니다. 이러한 백그라운드 작업으로 인해 두 번째 서비스가 유휴 상태로 전환되지 않을 수 있습니다. 백그라운드 작업이 끝나면 해당 서비스는 유휴 상태가 됩니다. 읽기 전용 서비스는 영향을 받지 않습니다.

알아두면 유용한 사항

  • ClickHouse 버전: 업그레이드 일정은 기본 서비스의 설정에 따라 결정됩니다. 보조 서비스는 기본 서비스와 별개의 릴리스 일정을 가질 수 없습니다.
  • 서비스가 기본적으로 유휴 상태이거나 중지되어 있으면 CREATE/RENAME/DROP DATABASE 쿼리가 차단될 수 있습니다. 서비스가 유휴 상태이거나 중지된 상태에서 이러한 쿼리를 실행하면 쿼리가 응답 없이 대기할 수 있습니다. 이를 우회하려면 세션 수준 또는 개별 쿼리 수준에서 settings distributed_ddl_task_timeout=0을 사용하여 데이터베이스 관리 쿼리를 실행할 수 있습니다.
예시:
CREATE DATABASE db_test_ddl_single_query_setting
SETTINGS distributed_ddl_task_timeout=0
서비스를 수동으로 중지한 경우, 쿼리를 실행하려면 다시 시작해야 합니다.
  • 레플리카 1개 기본 서비스 현재 기본 동작에서는 보조 서비스는 레플리카를 1개까지 가질 수 있지만, 기본 서비스는 최소 2개여야 합니다. 레플리카 1개 기본 서비스를 사용하려면 지원팀에 문의하십시오. 이 동작은 2026년 2분기부터 기본으로 활성화될 예정입니다.
  • 기본 서비스 유휴 상태 전환: 기본 서비스의 자동 유휴 상태 전환은 기본으로 활성화되어 있습니다.

요금

컴퓨트 가격은 웨어하우스의 모든 서비스(기본 서비스 및 보조 서비스)에서 동일합니다. 스토리지는 한 번만 청구되며 첫 번째(원본) 서비스에 포함됩니다. 워크로드 크기와 선택한 티어를 기준으로 비용을 추정하는 데 도움이 되는 pricing 페이지의 요금 계산기를 참조하십시오. Usage Breakdown 테이블에는 서비스별 컴퓨트 비용 내역이 표시됩니다.

백업

  • 단일 웨어하우스의 모든 서비스는 동일한 스토리지를 공유하므로 백업은 기본(초기) 서비스에서만 수행됩니다. 이렇게 하면 웨어하우스 내 모든 서비스의 데이터가 백업됩니다.
  • 웨어하우스의 기본 서비스에서 백업을 복원하면 기존 웨어하우스와 연결되지 않은 완전히 새로운 서비스로 복원됩니다. 그런 다음 복원이 완료되는 즉시 새 서비스에 서비스를 추가할 수 있습니다.

웨어하우스를 설정하는 방법

웨어하우스 생성하기

웨어하우스를 생성하려면 기존 서비스와 데이터를 공유할 두 번째 서비스를 만들어야 합니다. 기존 서비스에서 더하기 기호를 클릭하면 됩니다.
그림 7 - 더하기 기호를 클릭하여 웨어하우스에 새 서비스를 생성합니다 서비스 생성 화면에서는 새 서비스의 데이터 원본으로 드롭다운에서 원본 서비스가 선택되어 있습니다. 생성이 완료되면 이 두 서비스가 하나의 웨어하우스를 구성합니다.

웨어하우스 이름 변경하기

웨어하우스 이름을 변경하는 방법은 두 가지입니다:
  • 서비스 페이지 오른쪽 상단에서 “Sort by warehouse”를 선택한 다음, 웨어하우스 이름 옆의 연필 아이콘을 클릭할 수 있습니다
  • 어떤 서비스에서든 웨어하우스 이름을 클릭한 다음, 해당 위치에서 웨어하우스 이름을 변경할 수 있습니다

웨어하우스 삭제하기

웨어하우스를 삭제하면 모든 컴퓨트 서비스와 데이터(테이블, 뷰, 사용자 등)가 함께 삭제됩니다. 이 작업은 되돌릴 수 없습니다. 웨어하우스는 처음 생성된 서비스를 삭제해야만 삭제할 수 있습니다. 절차는 다음과 같습니다.
  1. 처음 생성된 서비스를 제외하고, 이후에 추가로 생성한 모든 서비스를 삭제합니다.
  2. 처음 생성된 서비스를 삭제합니다(경고: 이 단계에서 웨어하우스의 모든 데이터가 삭제됩니다).
마지막 수정일 2026년 6월 10일