배포 모드

배포 모드 (Deployment modes)

ClickHouse는 필요에 따라 여러 가지 방식으로 배포할 수 있는 다재다능한 데이터베이스 시스템이에요. 모든 배포 옵션은 동일한 강력한 ClickHouse 데이터베이스 엔진을 사용하며, 차이점은 어떻게 상호작용하고 어디서 실행되느냐입니다.

출처: 문서

본문

ClickHouse는 필요에 따라 여러 가지 방식으로 배포할 수 있는 다재다능한 데이터베이스 시스템입니다. 핵심적으로 모든 배포 옵션은 동일한 강력한 ClickHouse 데이터베이스 엔진을 사용합니다—차이가 나는 것은 어떻게 상호작용하고 어디서 실행되느냐입니다.

프로덕션에서 대규모 분석을 실행하든, 로컬 데이터 분석을 하든, 애플리케이션을 구축하든, 사용 사례에 맞는 배포 옵션이 있습니다. 기본 엔진의 일관성 덕분에 모든 배포 모드에서 동일한 고성능과 SQL 호환성을 얻을 수 있어요.

이 가이드는 ClickHouse를 배포·사용하는 다섯 가지 주요 방법을 살펴봅니다:

  • ClickHouse Server — 전통적인 클라이언트/서버 배포용
  • ClickHouse Cloud — 완전 관리형 데이터베이스 운영용
  • ClickHouse CLI — 로컬 개발과 클라우드 관리용
  • clickhouse-local — 명령줄 데이터 처리용
  • chDB — ClickHouse를 애플리케이션에 직접 임베딩

각 배포 모드는 고유한 강점과 이상적인 사용 사례가 있으며, 아래에서 자세히 살펴봅니다.

ClickHouse Server

ClickHouse Server는 전통적인 클라이언트/서버 아키텍처를 나타내며 프로덕션 배포에 이상적입니다. 이 배포 모드는 ClickHouse가 유명한 높은 처리량과 낮은 지연 시간 쿼리로 완전한 OLAP 데이터베이스 기능을 제공합니다.

배포 유연성 측면에서, ClickHouse Server는 개발이나 테스트를 위해 로컬 머신에 설치하거나, AWS, GCP, Azure 같은 주요 클라우드 제공업체에 배포해 클라우드 기반으로 운영하거나, 자체 온프레미스 하드웨어에 구축할 수 있습니다. 더 큰 규모의 운영을 위해 분산 클러스터로 구성해 증가하는 부하를 처리하고 고가용성을 제공할 수 있어요.

이 배포 모드는 안정성, 성능, 완전한 기능 접근이 중요한 프로덕션 환경의 기본 선택입니다.

ClickHouse Cloud

ClickHouse Cloud는 자체 배포를 운영하는 오버헤드를 없애 주는 완전 관리형 ClickHouse 버전입니다. ClickHouse Server의 모든 핵심 기능을 유지하면서, 개발과 운영을 간소화하도록 설계된 추가 기능으로 경험을 개선합니다.

ClickHouse Cloud의 핵심 장점은 통합된 도구입니다. ClickPipes는 견고한 데이터 수집 프레임워크를 제공해, 복잡한 ETL 파이프라인을 관리하지 않고도 다양한 소스에서 데이터를 쉽게 연결하고 스트리밍할 수 있게 해 줍니다. 플랫폼은 또한 전용 querying API를 제공해 애플리케이션 구축을 훨씬 쉽게 만듭니다.

ClickHouse Cloud의 SQL Console에는 쿼리를 대화형 시각화로 바꿔주는 강력한 대시보드 기능이 포함되어 있습니다. 저장된 쿼리에서 대시보드를 만들고 공유할 수 있으며, 쿼리 파라미터를 통해 대화형 요소를 추가할 수 있어요. 이러한 대시보드는 전역 필터로 동적으로 만들 수 있어 사용자가 커스텀 뷰를 통해 데이터를 탐색할 수 있습니다—다만 시각화를 보려면 기본 저장 쿼리에 최소한 읽기 접근 권한이 필요하다는 점을 알아 두세요.

모니터링과 최적화를 위해 ClickHouse Cloud에는 내장된 차트와 쿼리 인사이트가 포함되어 있습니다. 이러한 도구는 클러스터 성능에 대한 깊은 가시성을 제공해 쿼리 패턴, 리소스 사용률, 잠재적 최적화 기회를 이해하는 데 도움을 줍니다. 이런 수준의 관측 가능성은 인프라 관리에 자원을 투자하지 않고 고성능 분석 운영을 유지해야 하는 팀에게 특히 가치 있습니다.

서비스의 관리형 특성 덕분에 업데이트, 백업, 확장, 보안 패치에 대해 걱정할 필요가 없습니다—이 모든 것이 자동으로 처리됩니다. 이는 데이터베이스 관리보다 데이터와 애플리케이션에 집중하고 싶은 조직에 이상적인 선택입니다.

ClickHouse CLI

ClickHouse CLI(clickhousectl)는 로컬 ClickHouse 개발과 ClickHouse Cloud 관리를 위한 명령줄 도구입니다. ClickHouse 버전 설치, 로컬 서버 인스턴스 실행·관리, 쿼리 실행 워크플로를 간소화합니다.

로컬 개발을 위해 clickhousectl은 ClickHouse 버전 설치와 서버 실행을 도와줍니다. 어떤 ClickHouse 버전이든 설치하고, 이름 있는 서버를 실행하며, 내장 클라이언트로 연결할 수 있어요. 각 서버는 자체 데이터 디렉터리를 가지므로 여러 격리된 환경을 나란히 실행할 수 있습니다.

clickhousectl은 또한 ClickHouse Cloud 리소스의 전체 관리를 제공합니다. 서비스 생성·확장, API 키 관리, 조직 관리 등을 포함하며, 로컬과 클라우드 워크플로를 위한 통합 도구가 됩니다.

# Install the CLI
curl https://clickhouse.com/cli | sh

# Install the latest ClickHouse, set it as your default, and symlink the clickhouse binary onto your PATH
clickhousectl local use latest
clickhousectl local server start
clickhousectl local client

clickhouse-local

clickhouse-local은 ClickHouse의 완전한 기능을 독립 실행형 실행 파일로 제공하는 강력한 명령줄 도구입니다. 기본적으로 ClickHouse Server와 같은 데이터베이스이지만, 서버 인스턴스를 실행하지 않고도 명령줄에서 ClickHouse의 모든 기능을 활용할 수 있도록 패키징되어 있습니다.

이 도구는 애드혹 데이터 분석, 특히 로컬 파일이나 클라우드 스토리지 서비스의 데이터를 다룰 때 탁월합니다. CSV, JSON, Parquet 등 다양한 형식의 파일을 ClickHouse의 SQL 방언으로 직접 쿼리할 수 있어, 빠른 데이터 탐색이나 일회성 분석 작업에 아주 좋은 선택입니다.

clickhouse-local에는 ClickHouse의 모든 기능이 포함되어 있으므로 데이터 변환, 형식 변환, ClickHouse Server에서 하던 다른 데이터베이스 작업 모두에 사용할 수 있어요. 주로 임시 작업에 사용되지만, 필요할 때는 ClickHouse Server와 같은 스토리지 엔진으로 데이터를 영구 저장할 수도 있습니다.

원격 테이블 함수와 로컬 파일시스템 접근의 조합 덕분에, clickhouse-local은 ClickHouse Server와 로컬 머신의 파일 간 데이터를 조인해야 하는 시나리오에서 특히 유용합니다. 서버에 업로드하고 싶지 않은 민감하거나 임시적인 로컬 데이터를 다룰 때 특히 가치 있습니다.

chDB

chDB는 프로세스 내 데이터베이스 엔진으로 임베딩된 ClickHouse입니다. Python이 주 구현이지만 Go, Rust, NodeJS, Bun에서도 사용할 수 있어요. 이 배포 옵션은 ClickHouse의 강력한 OLAP 기능을 애플리케이션 프로세스에 직접 가져와 별도의 데이터베이스 설치를 없애 줍니다.

chDB는 애플리케이션 생태계와 매끄럽게 통합됩니다. 예를 들어 Python에서는 Pandas, Arrow 같은 일반적인 데이터 과학 도구와 효율적으로 작동하도록 최적화되어 있으며, Python memoryview를 통해 데이터 복사 오버헤드를 최소화합니다. 이는 기존 워크플로에서 ClickHouse의 쿼리 성능을 활용하려는 데이터 과학자와 분석가에게 특히 가치 있습니다.

chDB는 clickhouse-local로 만든 데이터베이스에도 연결할 수 있어 데이터를 다루는 방식에 유연성을 제공합니다. 즉, 데이터 접근 패턴을 바꾸지 않고도 로컬 개발, Python에서의 데이터 탐색, 더 영구적인 스토리지 솔루션 사이를 매끄럽게 전환할 수 있습니다.

더 알아보기 (Learn more)