ClickHouse를 가장 빠르고 쉽게 시작하는 방법은 ClickHouse Cloud에서 새 서비스를 만드는 것입니다. 이 빠른 시작 가이드에서는 3단계만으로 설정을 완료합니다.
1
ClickHouse 서비스 만들기
ClickHouse Cloud에서 무료 ClickHouse 서비스를 만들려면 다음 단계를 완료해 가입하면 됩니다:
로그인하면 ClickHouse Cloud가 새 ClickHouse 서비스 생성을 안내하는 온보딩 마법사를 시작합니다. 서비스를 배포할 리전을 선택하고 새 서비스의 이름을 지정하십시오:
기본적으로 새 조직은 Scale tier로 설정되며, 각각 4 VCPU와 16 GiB RAM을 갖춘 3개의 레플리카가 생성됩니다. 수직 자동 스케일링은 Scale tier에서 기본적으로 활성화됩니다. 나중에 ‘Plans’ 페이지에서 조직 티어를 변경할 수 있습니다.필요한 경우 레플리카가 스케일링할 최소 크기와 최대 크기를 지정해 서비스 리소스를 사용자 지정하십시오. 준비가 되면
축하합니다! ClickHouse Cloud 서비스가 정상적으로 실행 중이며 온보딩이 완료되었습니다. 이제 데이터를 수집하고 쿼리하는 방법을 계속해서 살펴보십시오.
- 가입 페이지에서 계정을 만드십시오
- 이메일 또는 Google SSO, Microsoft SSO, AWS Marketplace, Google Cloud, Microsoft Azure를 통해 가입할 수 있습니다
- 이메일과 비밀번호로 가입하는 경우, 이메일로 받은 링크를 통해 24시간 이내에 이메일 주소를 인증해야 합니다
- 방금 만든 사용자 이름과 비밀번호로 로그인하십시오
로그인하면 ClickHouse Cloud가 새 ClickHouse 서비스 생성을 안내하는 온보딩 마법사를 시작합니다. 서비스를 배포할 리전을 선택하고 새 서비스의 이름을 지정하십시오:
기본적으로 새 조직은 Scale tier로 설정되며, 각각 4 VCPU와 16 GiB RAM을 갖춘 3개의 레플리카가 생성됩니다. 수직 자동 스케일링은 Scale tier에서 기본적으로 활성화됩니다. 나중에 ‘Plans’ 페이지에서 조직 티어를 변경할 수 있습니다.필요한 경우 레플리카가 스케일링할 최소 크기와 최대 크기를 지정해 서비스 리소스를 사용자 지정하십시오. 준비가 되면
Create service를 선택하십시오.축하합니다! ClickHouse Cloud 서비스가 정상적으로 실행 중이며 온보딩이 완료되었습니다. 이제 데이터를 수집하고 쿼리하는 방법을 계속해서 살펴보십시오.
2
ClickHouse에 연결하기
ClickHouse에 연결하는 방법은 2가지입니다:
목록에 4개의 데이터베이스와 추가한 데이터베이스가 표시됩니다.
이제 완료되었습니다. 새 ClickHouse 서비스를 사용할 준비가 되었습니다!
사용하는 언어 클라이언트가 보이지 않으면 Integrations 목록을 확인해 보십시오.
- 웹 기반 SQL 콘솔을 사용하여 연결
- 애플리케이션에서 연결
SQL 콘솔을 사용하여 연결하기
빠르게 시작하려면 ClickHouse에서 제공하는 웹 기반 SQL 콘솔을 사용할 수 있습니다. 온보딩을 완료하면 이 콘솔로 리디렉션됩니다.쿼리 탭을 생성한 다음, 간단한 쿼리를 입력하여 연결이 정상적으로 작동하는지 확인하십시오:이제 완료되었습니다. 새 ClickHouse 서비스를 사용할 준비가 되었습니다!
앱과 연결
탐색 메뉴에서 Connect 버튼을 누르십시오. 서비스 자격 증명과 인터페이스 또는 언어 클라이언트를 연결하는 방법이 포함된 안내를 제공하는 모달이 열립니다.사용하는 언어 클라이언트가 보이지 않으면 Integrations 목록을 확인해 보십시오.
3
데이터 추가
ClickHouse는 데이터가 있어야 진가를 발휘합니다! 데이터를 추가하는 방법은 여러 가지가 있으며, 대부분은 탐색 메뉴에서 접근할 수 있는 데이터 소스(Data Sources) 페이지에서 확인하실 수 있습니다.
다음 방법으로 데이터를 업로드할 수 있습니다.
다음 명령을 실행하여 위의 예시에서
간단한 예시에서도 한 번에 여러 행을 삽입해 보겠습니다:제대로 작동했는지 확인해 보겠습니다:
스마일 이모티콘 프롬프트가 나타나면 쿼리를 실행할 준비가 완료된 것입니다!
응답이 깔끔한 테이블 형식으로 반환되는 것을 확인할 수 있습니다:
위 쿼리의 출력은 탭으로 구분된 형식으로 반환됩니다:
다음 방법으로 데이터를 업로드할 수 있습니다.
- ClickPipe를 설정하여 S3, Postgres, Kafka, GCS와 같은 데이터 소스에서 데이터 수집 시작
- SQL 콘솔 사용
- ClickHouse client 사용
- 파일 업로드 - 지원 포맷에는 JSON, CSV, TSV가 포함됩니다
- 파일 URL에서 데이터 업로드
ClickPipes
ClickPipes는 다양한 소스에서 데이터를 수집하는 작업을 몇 번의 클릭만으로 간편하게 처리할 수 있는 관리형 통합 플랫폼입니다. 가장 까다로운 워크로드를 위해 설계된 ClickPipes의 견고하고 확장 가능한 아키텍처는 일관된 성능과 안정성을 보장합니다. ClickPipes는 장기적인 스트리밍 용도뿐만 아니라 일회성 데이터 로딩 작업에도 활용할 수 있습니다.SQL 콘솔을 사용하여 데이터 추가
대부분의 데이터베이스 관리 시스템과 마찬가지로, ClickHouse는 테이블을 데이터베이스 단위로 논리적으로 구성합니다. ClickHouse에서 새 데이터베이스를 생성하려면CREATE DATABASE 명령을 사용하세요:helloworld 데이터베이스에 my_first_table이라는 테이블을 생성하십시오:my_first_table은 네 개의 컬럼을 가진 MergeTree 테이블입니다:user_id: 32비트 부호 없는 정수(UInt32)message: String 데이터 타입으로, 다른 데이터베이스 시스템에서 사용하는VARCHAR,BLOB,CLOB등의 타입을 대체합니다timestamp: 특정 시점을 나타내는 DateTime 값metric: 32비트 부동소수점 수(Float32)
테이블 엔진테이블 엔진은 다음 사항을 결정합니다:
선택할 수 있는 테이블 엔진은 많지만, 단일 노드 ClickHouse 서버에서 사용하는 단순한 테이블에는
- 데이터가 저장되는 방식과 위치
- 지원되는 쿼리
- 데이터 복제 여부
선택할 수 있는 테이블 엔진은 많지만, 단일 노드 ClickHouse 서버에서 사용하는 단순한 테이블에는
MergeTree가 가장 적합한 선택일 가능성이 높습니다.Primary Key 간략 소개
계속 진행하기 전에, ClickHouse에서 기본 키(primary key)가 어떻게 동작하는지 이해하는 것이 중요합니다(기본 키의 구현 방식이 예상과 다를 수 있습니다!):- ClickHouse의 기본 키(primary keys)는 테이블의 각 행별로 고유하지 않습니다
SELECT 쿼리 실행 시 처리되는 최소 단위 컬럼 데이터의 스트라이프를 나타냅니다.프라이머리 키는 PRIMARY KEY 매개변수를 사용하여 정의할 수 있습니다. PRIMARY KEY를 지정하지 않고 테이블을 정의하면, 키는 ORDER BY 절에 지정된 Tuple이 됩니다. PRIMARY KEY와 ORDER BY를 모두 지정하는 경우, 프라이머리 키는 정렬 순서의 부분 집합이어야 합니다.프라이머리 키는 정렬 키이기도 하며, (user_id, timestamp)의 튜플로 구성됩니다. 따라서 각 컬럼 파일에 저장된 데이터는 user_id 기준으로 먼저 정렬되고, 이후 timestamp 기준으로 정렬됩니다.ClickHouse의 핵심 개념에 대한 심층 분석은 “핵심 개념”을 참조하십시오.테이블에 데이터 삽입
ClickHouse에서 익숙한INSERT INTO TABLE 명령을 사용할 수 있지만, MergeTree 테이블에 데이터를 삽입할 때마다 스토리지에 **파트(part)**가 생성된다는 점을 반드시 이해해야 합니다.간단한 예시에서도 한 번에 여러 행을 삽입해 보겠습니다:
timestamp 컬럼은 다양한 Date 및 DateTime 함수를 사용해 채워집니다. ClickHouse에는 유용한 함수가 수백 개 있으며, Functions 섹션에서 확인할 수 있습니다.ClickHouse Client를 사용하여 데이터 추가
clickhouse client라는 명령줄 도구를 사용하여 ClickHouse Cloud 서비스에 연결할 수도 있습니다. 왼쪽 메뉴에서Connect를 클릭하면 세부 정보를 확인할 수 있습니다. 대화 상자의 드롭다운에서 Native를 선택하십시오.- ClickHouse를 설치합니다.
- 호스트명, 사용자 이름, 비밀번호를 각각 바꿔 넣어 명령을 실행하십시오:
- 다음 쿼리를 실행해 보세요:
- ClickHouse에서 지원하는 다양한 출력 형식 중 하나를 지정하려면
FORMAT절을 추가하세요:
clickhouse client를 종료하려면 exit 명령을 입력하세요:
파일 업로드
데이터베이스를 처음 시작할 때 흔히 수행하는 작업 중 하나는 파일에 있는 기존 데이터를 삽입하는 것입니다. 온라인에서 제공되는 샘플 데이터를 삽입해 볼 수 있으며, 이 데이터는 클릭스트림 데이터로 사용자 ID, 방문한 URL, 이벤트 타임스탬프를 포함합니다.data.csv라는 이름의 CSV 파일에 다음과 같은 텍스트가 있다고 가정합니다:data.csv
- 다음 명령은
my_first_table에 데이터를 삽입합니다:
- SQL 콘솔에서 쿨리하면 이제 테이블에 새 행이 표시되는 것을 확인할 수 있습니다:
다음 단계
- 튜토리얼에서는 테이블에 200만 개의 행을 삽입하고 몇 가지 분석 쿼리를 작성해 봅니다
- 예시 데이터셋 목록과 이를 삽입하는 방법을 안내합니다
- ClickHouse 시작하기에 대한 12분 분량의 동영상을 확인해 보십시오
- 데이터가 외부 소스에서 들어오는 경우, 메시지 큐, 데이터베이스, 파이프라인 등에 연결하는 방법을 안내하는 통합 가이드 모음을 참조하십시오
- UI/BI 시각화 도구를 사용하는 경우, UI를 ClickHouse에 연결하는 사용자 가이드를 참조하십시오
- 프라이머리 키(primary key) 사용자 가이드에서는 프라이머리 키에 대해 알아야 할 내용과 이를 정의하는 방법을 모두 다룹니다