Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Cloud 호환성

이 가이드는 ClickHouse Cloud에서 기능 및 운영 측면에서 무엇을 기대할 수 있는지 개괄적으로 설명합니다. ClickHouse Cloud는 오픈소스 ClickHouse 배포판을 기반으로 하지만, 아키텍처와 구현 방식에는 일부 차이가 있을 수 있습니다. 배경 이해를 위해 ClickHouse Cloud를 구축한 방법에 관한 이 블로그도 함께 읽어보면 도움이 됩니다.

ClickHouse Cloud 아키텍처

ClickHouse Cloud는 운영 부담을 크게 줄이고, 대규모로 ClickHouse를 운영하는 비용을 절감합니다. 배포 규모를 미리 산정하거나, 고가용성을 위해 복제를 설정하거나, 데이터를 수동으로 세그먼트로 나누거나, workload가 증가할 때 서버를 확장하거나, 사용하지 않을 때 서버를 축소할 필요가 없습니다. 이러한 작업은 ClickHouse Cloud가 대신 처리합니다.

이러한 이점은 ClickHouse Cloud의 기반이 되는 아키텍처 선택에서 비롯됩니다.

  • 컴퓨트와 스토리지가 분리되어 있으므로 각각을 별도로 자동 스케일링할 수 있으며, 정적인 인스턴스 구성에서 스토리지나 컴퓨트를 과도하게 프로비저닝할 필요가 없습니다.
  • 객체 스토리지 기반의 계층형 스토리지와 다단계 캐싱은 사실상 무제한에 가까운 스케일링과 우수한 가격 대비 성능을 제공하므로, 스토리지 용량을 미리 산정하거나 높은 스토리지 비용을 걱정할 필요가 없습니다.
  • 고가용성은 기본적으로 활성화되어 있으며 복제는 자동으로 관리되므로, 애플리케이션 구축이나 데이터 분석에 집중할 수 있습니다.
  • 변동이 있는 지속적 workload를 위한 자동 스케일링이 기본적으로 활성화되어 있으므로, 서비스 규모를 미리 산정하거나, workload가 증가할 때 서버를 확장하거나, 활동이 줄었을 때 서버를 수동으로 축소할 필요가 없습니다.
  • 간헐적인 workload를 위한 원활한 최대 절전 기능이 기본적으로 활성화되어 있습니다. 일정 기간 동안 활동이 없으면 컴퓨트 리소스를 자동으로 일시 중지하고, 새 쿼리가 도착하면 이를 다시 자동으로 시작하므로, 유휴 리소스에 비용을 지불할 필요가 없습니다.
  • 고급 스케일링 제어를 통해 비용을 추가로 관리할 수 있도록 자동 스케일링 최대값을 설정하거나, 특수한 성능 요구 사항이 있는 애플리케이션을 위해 컴퓨트 리소스를 예약할 수 있도록 자동 스케일링 최소값을 설정할 수 있습니다.

기능

ClickHouse Cloud는 오픈 소스 ClickHouse 배포판에서 엄선한 기능 집합을 제공합니다. 아래 표에는 현재 ClickHouse Cloud에서 사용할 수 없는 일부 기능이 나와 있습니다.

데이터베이스 및 테이블 엔진

ClickHouse Cloud는 기본적으로 SharedMergeTree 테이블 엔진 계열을 기반으로 하는 고가용성 복제 서비스입니다. 표준 MergeTree 계열 엔진으로 테이블을 생성하면 Cloud가 해당 Shared* 엔진으로 자동 치환합니다. Shared 또는 Replicated 접두사를 직접 추가할 필요는 없습니다.

지정하는 값 Cloud에서 사용하는 값
MergeTree (또는 엔진 없음) SharedMergeTree
ReplacingMergeTree SharedReplacingMergeTree
SummingMergeTree SharedSummingMergeTree
AggregatingMergeTree SharedAggregatingMergeTree
CollapsingMergeTree SharedCollapsingMergeTree
VersionedCollapsingMergeTree SharedVersionedCollapsingMergeTree
GraphiteMergeTree SharedGraphiteMergeTree

Replicated* 엔진도 동일한 Shared* 대응 엔진으로 변환됩니다. 이 치환은 SHOW CREATE TABLE에서 확인할 수 있으며, SQL 문에서 일반 변형을 지정했더라도 Shared* 엔진으로 표시됩니다.

다음 테이블 엔진도 지원되며 작성한 그대로 사용됩니다. 지원되는 MySQL 테이블 엔진은 지원되지 않는 MySQL 데이터베이스 엔진과 구별됩니다:

  • URL
  • View
  • MaterializedView
  • GenerateRandom
  • Null
  • Buffer
  • Memory
  • IcebergS3IcebergAzure
  • Deltalake
  • Hudi
  • MySQL
  • MongoDB
  • NATS
  • RabbitMQ
  • PostgreSQL
  • S3
  • Kafka

실험적 PaimonS3PaimonAzure 테이블 엔진은 일부 ClickHouse Cloud 서비스에서 활성화할 수 있습니다. 사용 가능 여부를 확인하려면 Support에 문의하십시오.

인터페이스

ClickHouse Cloud는 HTTPS, 네이티브 인터페이스, 그리고 MySQL wire protocol을 지원합니다. Postgres와 같은 추가 인터페이스도 곧 지원될 예정입니다.

Dictionaries

Dictionaries는 ClickHouse에서 키 조회 속도를 높이는 데 널리 사용되는 기능입니다. 현재 ClickHouse Cloud에서는 PostgreSQL, MySQL, 원격 및 로컬 ClickHouse 서버, Redis, MongoDB, HTTP 소스의 Dictionaries를 지원합니다.

페더레이티드 쿼리

Cloud에서는 클러스터 간 통신을 위한 페더레이티드 ClickHouse 쿼리와 외부 자가 관리형 ClickHouse 클러스터와의 통신을 지원합니다. 현재 ClickHouse Cloud는 다음 integration 엔진을 사용한 페더레이티드 쿼리를 지원합니다.

  • IcebergS3IcebergAzure
  • PaimonS3PaimonAzure (실험적 기능이며, 사용 가능 여부는 Support에 문의하십시오)
  • Deltalake
  • Hudi
  • MySQL
  • MongoDB
  • NATS
  • RabbitMQ
  • PostgreSQL
  • S3

하지만 SQLite, ODBC, JDBC, Redis, HDFS, Hive와 같은 일부 외부 데이터베이스 및 테이블 엔진을 사용하는 페더레이티드 쿼리는 아직 지원되지 않습니다.

사용자 정의 함수

ClickHouse Cloud에서는 사용자 정의 함수가 공개 베타로 제공됩니다.

설정 동작

이는 다음을 의미합니다:

  • 세션 수준 설정(SET 문으로 설정)은 UDF 실행 Context에 전달되지 않습니다
  • 사용자 프로필 설정은 UDF에 상속되지 않습니다
  • 쿼리 수준 설정은 UDF 실행 중에는 적용되지 않습니다

실험적 기능

서비스 배포의 안정성을 위해 ClickHouse Cloud 서비스에서는 실험적 기능이 비활성화되어 있습니다.

명명된 컬렉션

DDL로 생성된 명명된 컬렉션은 일부 ClickHouse Cloud 서비스에서 활성화할 수 있습니다. 사용 가능 여부는 Support에 문의하십시오. ClickHouse Cloud에서는 사용자가 서버 설정 파일을 수정할 수 없으므로 설정 파일에 정의된 명명된 컬렉션은 사용할 수 없습니다.

운영 기본값 및 고려 사항

다음은 ClickHouse Cloud 서비스의 기본 설정입니다. 일부 설정은 서비스의 올바른 운영을 위해 고정되어 있으며, 일부는 조정할 수 있습니다.

운영 제한 사항

max_parts_in_total: 10,000

MergeTree 테이블의 max_parts_in_total 설정 기본값이 100,000에서 10,000으로 낮아졌습니다. 이렇게 변경한 이유는 많은 수의 데이터 파트(data part)가 Cloud에서 서비스 시작 시간을 느리게 할 가능성이 높은 것으로 확인되었기 때문입니다. 파트 수가 많다는 것은 대개 파티션 키(partition key)를 지나치게 세분화해 선택했음을 의미하며, 이는 보통 실수로 발생하므로 피해야 합니다. 기본값을 변경하면 이러한 사례를 더 이른 시점에 감지할 수 있습니다.

max_concurrent_queries: 1,000

더 높은 동시성을 지원하기 위해 이 서버 수준 설정의 기본값을 100에서 1000으로 늘렸습니다. 그 결과, 서비스는 레플리카 수 * 1,000개의 동시 쿼리를 처리할 수 있습니다. 단일 레플리카 서비스는 tier와 관계없이 동시 쿼리를 최대 1000개까지 지원합니다. Scale 및 Enterprise tier의 다중 레플리카 서비스는 레플리카당 동시 쿼리를 최대 1000개까지 지원합니다.

max_table_size_to_drop: 1,000,000,000,000

이 설정을 50GB에서 상향 조정하여 최대 1TB 크기의 테이블/파티션을 삭제할 수 있도록 했습니다.

시스템 설정

ClickHouse Cloud는 가변적인 워크로드에 맞게 최적화되어 있으므로 현재 대부분의 시스템 설정은 구성할 수 없습니다. 대부분의 사용자에게는 시스템 설정을 조정할 필요가 없을 것으로 보이지만, 고급 시스템 튜닝과 관련해 질문이 있으면 ClickHouse Cloud Support에 문의하십시오.

고급 보안 관리

ClickHouse 서비스를 생성하는 과정에서 기본 데이터베이스와 이 데이터베이스에 대한 광범위한 권한을 가진 기본 사용자(default)를 생성합니다. 이 초기 사용자는 추가 사용자를 생성하고 이 데이터베이스에 대한 권한을 할당할 수 있습니다. 이와 별개로, 현재는 Kerberos, LDAP 또는 SSL X.509 인증서 인증을 사용해 데이터베이스 내에서 다음 보안 기능을 활성화하는 기능은 지원되지 않습니다.

지원되지 않는 기능 목록

다음 표에는 ClickHouse Cloud에서 지원되지 않는 것으로 분류된 기능과 자가 관리형 절차가 나열되어 있습니다. 각 항목에는 해당 원본 페이지에서 지원되는 기능도 함께 다루더라도, 지원되지 않는 구체적인 기능을 명시합니다.

관리형 인프라 및 운영

지원되지 않는 기능 문서
자가 관리형 ClickHouse Keeper 배포 및 구성 Keeper 가이드, ZooKeeper 연결 보안
TLS 인증서 수동 프로비저닝 및 서버 구성 ACME 프로비저닝, TLS 구성
TTL을 사용한 핫/웜/콜드 스토리지 계층 수동 구성 가이드
자가 관리형 하드웨어 성능 테스트 실행 가이드
자가 관리형 운영 권장 사항 적용 가이드

인증 및 보안

지원되지 않는 기능 문서
HTTP 외부 인증 참고
Kerberos 외부 인증 참고
LDAP 인증 및 역할 매핑 구성, 인증자
X.509 인증서 인증 사용자 인증, 외부 인증자

인터페이스 및 통합

지원되지 않는 기능 문서
PostgreSQL wire 프로토콜 인터페이스 참고
PTY 지원 SSH 인터페이스 참고
MaterializedPostgreSQL 복제 엔진 ClickPipes 가이드, 커넥터 가이드, 데이터베이스 엔진, 테이블 엔진
ODBC 테이블 엔진 참고
MinIO S3 호환 객체 스토리지 통합 가이드
Tigris S3 호환 객체 스토리지 통합 가이드

지원되지 않는 데이터베이스 및 테이블 엔진

지원되지 않는 기능 문서
MySQL 데이터베이스 엔진 참고
EmbeddedRocksDB 테이블 엔진 참고
HDFS 테이블 엔진 참고
Hive 테이블 엔진 참고
JDBC 테이블 엔진 참고
페더레이션 쿼리용 Redis 테이블 엔진 참고
SQLite 테이블 엔진 참고
TimeSeries 테이블 엔진 참고
YTsaurus 테이블 엔진 참고
Log 계열 테이블 엔진(Log, StripeLog, TinyLog) 계열 개요, Log, StripeLog, TinyLog

딕셔너리 및 서버 구성

지원되지 않는 기능 문서
명명된 컬렉션 및 CREATE NAMED COLLECTION, ALTER NAMED COLLECTION SQL 문 개요, 생성, 변경
파일 기반 딕셔너리 구성 참고
내장 지오베이스 딕셔너리 참고
로컬 YAMLRegExpTree 딕셔너리 소스 레이아웃 가이드, 소스 참고
YTsaurus 딕셔너리 소스 참고
서버에서 구성된 일본어 토크나이저 딕셔너리 참고

데이터 포맷 및 코덱

지원되지 않는 기능 문서
서버 측 스키마 파일을 사용하는 CapnProto 포맷 포맷 참고, 가이드
서버 측 스키마 파일을 사용하는 Protobuf, ProtobufList, ProtobufSingle 포맷 가이드, ProtobufList, ProtobufSingle
사용 중단된 ZSTD_QATDEFLATE_QPL 코덱 ZSTD_QAT, DEFLATE_QPL

함수 및 실험적 기능

지원되지 않는 기능 문서
실험적 자연어 처리 함수 참고
커밋 및 롤백을 포함하는 실험적 다중 SQL 문 트랜잭션 가이드
실험적 트랜잭션 인트로스펙션 함수 transactionID, transactionLatestSnapshot, transactionOldestSnapshot
WindowView용 시간 윈도우 함수 참고
실험적 WindowView 참고
WebAssembly 사용자 정의 함수 개요, 가이드
드라이버 기반 실행형 사용자 정의 함수 참고
서버 로컬 파일을 대상으로 하는 filesystem 테이블 함수 참고

관리 및 액세스 제어

지원되지 않는 기능 문서
ALTER TABLE을 통한 컬럼 통계 작업 참고
EXECUTE AS를 통한 사용자 가장 참고
테이블 엔진별 권한 부여 권한 부여, 서버 설정
GRANT ALL 권한 단축 구문 참고
SYSTEM SHUTDOWN을 통한 서버 종료 참고
SYSTEM SQL 문을 통한 백그라운드 페치 시작 및 중지 SYSTEM STOP FETCHES, SYSTEM START FETCHES
SYSTEM SQL 문을 통한 백그라운드 머지 시작 및 중지 SYSTEM STOP MERGES, SYSTEM START MERGES
SYSTEM SQL 문을 통한 백그라운드 TTL 머지 시작 및 중지 SYSTEM STOP TTL MERGES, SYSTEM START TTL MERGES

로드맵

현재 ClickHouse Cloud의 다양한 기능에 대한 수요를 검토하고 있습니다. 의견이 있거나 특정 기능을 요청하려면 여기에서 제출해 주세요.

Navigation