> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ClickHouse Cloud 빠른 시작

> ClickHouse Cloud 빠른 시작 가이드

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

> ClickHouse를 가장 빠르고 쉽게 시작하는 방법은 [ClickHouse Cloud](https://console.clickhouse.cloud)에서 새
> 서비스를 만드는 것입니다. 이 빠른 시작 가이드에서는 3단계만으로 설정을 완료합니다.

<Steps>
  <Step>
    ## ClickHouse 서비스 생성

    [ClickHouse Cloud](https://console.clickhouse.cloud)에서 무료 ClickHouse 서비스를 생성하려면 다음 단계에 따라 가입하면 됩니다:

    * [가입 페이지](https://console.clickhouse.cloud/signUp)에서 계정을 생성합니다
    * 이메일 또는 Google SSO, Microsoft SSO, AWS Marketplace, Google Cloud, Microsoft Azure를 통해 가입할 수 있습니다
    * 이메일과 비밀번호로 가입하는 경우, 이메일로 받은 링크를 통해 24시간 이내에 이메일 주소를 인증해야 합니다
    * 방금 생성한 사용자 이름과 비밀번호로 로그인합니다

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/_snippets/signup_page.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=bc9307c14e58b20480b3800a25a91bed" size="md" alt="요금제 선택" border width="3200" height="2218" data-path="images/_snippets/signup_page.png" />

    <br />

    로그인하면 ClickHouse Cloud에서 새 ClickHouse 서비스 생성을 안내하는 온보딩 마법사가 시작됩니다. 서비스를 배포할 리전(Region)을 선택하고 새 서비스의 이름을 지정합니다:

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/createservice1.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=437ef1ac9a08ecf4c06c79c135d6224b" size="md" alt="새 ClickHouse 서비스" border width="3200" height="1766" data-path="images/_snippets/createservice1.png" />

    <br />

    기본적으로 새 조직은 Scale tier에 배치되며, 각각 4 VCPU와 16 GiB RAM을 갖는 3개의 레플리카가 생성됩니다. [수직 자동 스케일링(Vertical autoscaling)](/ko/products/cloud/features/autoscaling/vertical)은 Scale tier에서 기본적으로 활성화됩니다. 조직 티어는 나중에 'Plans' 페이지에서 변경할 수 있습니다.

    필요한 경우 레플리카가 스케일링할 최소 크기와 최대 크기를 지정하여 서비스 리소스를 사용자 지정합니다. 준비가 되면 `Create service`를 선택합니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/_snippets/scaling_limits.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=cb89ecedebe3f2a5caf3ba19ec20cbbf" size="md" alt="스케일링 한도" border width="3200" height="2014" data-path="images/_snippets/scaling_limits.png" />

    <br />

    축하합니다! ClickHouse Cloud 서비스가 실행 중이며 온보딩이 완료되었습니다. 데이터를 수집하고 쿼리하는 방법에 대한 자세한 내용은 계속 읽어보십시오.
  </Step>

  <Step>
    ## ClickHouse에 연결하기

    ClickHouse에 연결하는 방법은 2가지입니다:

    * 웹 기반 SQL 콘솔을 사용해 연결
    * 애플리케이션에서 연결

    <br />

    ### SQL 콘솔을 사용해 연결

    빠르게 시작할 수 있도록, ClickHouse는 온보딩을 완료하면 자동으로 이동되는 웹 기반 SQL 콘솔을 제공합니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/createservice8.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=d3741b7850dc87230a00d70d2d438478" size="md" alt="SQL 콘솔" border width="3200" height="1800" data-path="images/_snippets/createservice8.png" />

    쿼리 탭을 생성한 다음 간단한 쿼리를 입력하여 연결이 정상적으로 작동하는지 확인하십시오:

    ```sql theme={null}
    SHOW databases
    ```

    목록에 4개의 데이터베이스와, 추가한 데이터베이스가 있다면 함께 표시되어야 합니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/_snippets/show_databases.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=ce6d8050df0de5bcd288279bf83cf2a3" size="md" alt="SQL 콘솔" border width="3200" height="1800" data-path="images/_snippets/show_databases.png" />

    <br />

    이제 완료되었습니다. 새 ClickHouse 서비스를 사용할 준비가 되었습니다!

    ### 앱과 연결

    탐색 메뉴에서 Connect 버튼을 누르세요. 모달이 열리며 서비스의 자격 증명과 인터페이스 또는 언어 클라이언트로 연결하는 방법이 안내됩니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/_snippets/service_connect.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=8e761f7f6800b7e5ed3bf5787809c48d" size="md" alt="서비스 연결" border width="3200" height="2125" data-path="images/_snippets/service_connect.png" />

    <br />

    언어 클라이언트가 보이지 않으면 [Integrations](/ko/integrations/home) 목록을 확인하세요.
  </Step>

  <Step>
    ## 데이터 추가

    ClickHouse는 데이터가 있어야 제 역할을 합니다! 데이터를 추가하는 방법은 여러 가지가 있으며, 대부분은 탐색 메뉴에서 접근할 수 있는 데이터 소스(Data Sources) 페이지에서 확인하실 수 있습니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/data_sources.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=b22bd8f213aa58a8d65f4c3460ebc649" size="md" alt="데이터 소스" border width="3200" height="1964" data-path="images/_snippets/data_sources.png" />

    <br />

    다음 방법으로 데이터를 업로드할 수 있습니다.

    * ClickPipe를 설정하여 S3, Postgres, Kafka, GCS와 같은 데이터 소스의 데이터 수집을 시작하세요
    * SQL 콘솔 사용하기
    * ClickHouse client 사용
    * 파일 업로드  - 지원 포맷은 JSON, CSV 및 TSV입니다
    * 파일 URL을 통해 데이터 업로드

    ### ClickPipes

    [ClickPipes](http://clickhouse.com/docs/integrations/clickpipes)는 다양한 소스에서 데이터를 수집하는 작업을 몇 번의 클릭만으로 간편하게 처리할 수 있는 관리형 통합 플랫폼입니다. 가장 까다로운 워크로드를 위해 설계된 ClickPipes의 견고하고 확장 가능한 아키텍처는 일관된 성능과 안정성을 보장합니다. ClickPipes는 장기적인 스트리밍 용도는 물론 일회성 데이터 로딩 작업에도 활용할 수 있습니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/_snippets/select_data_source.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=3634cb5b3dadfe543292dbfdf11a91d7" size="md" alt="데이터 소스 선택" border width="3200" height="1964" data-path="images/_snippets/select_data_source.png" />

    <br />

    ### SQL 콘솔을 사용하여 데이터 추가

    대부분의 데이터베이스 관리 시스템과 마찬가지로, ClickHouse는 테이블을 **데이터베이스**로 논리적으로 그룹화합니다. ClickHouse에서 새 데이터베이스를 생성하려면 [`CREATE DATABASE`](/ko/reference/statements/create/database) 명령을 사용하세요:

    ```sql theme={null}
    CREATE DATABASE IF NOT EXISTS helloworld
    ```

    `helloworld` 데이터베이스에 `my_first_table`이라는 이름의 테이블을 생성하려면 다음 명령을 실행하십시오:

    ```sql theme={null}
    CREATE TABLE helloworld.my_first_table
    (
        user_id UInt32,
        message String,
        timestamp DateTime,
        metric Float32
    )
    ENGINE = MergeTree()
    PRIMARY KEY (user_id, timestamp)
    ```

    위의 예시에서 `my_first_table`은 네 개의 컬럼을 가진 [`MergeTree`](/ko/reference/engines/table-engines/mergetree-family/mergetree) 테이블입니다:

    * `user_id`:  32비트 부호 없는 정수 ([UInt32](/ko/reference/data-types/int-uint))
    * `message`: [String](/ko/reference/data-types/string) 데이터 타입으로, 다른 데이터베이스 시스템에서 사용하는 `VARCHAR`, `BLOB`, `CLOB` 등의 타입을 대체합니다
    * `timestamp`: 시간상 특정 시점을 나타내는 [DateTime](/ko/reference/data-types/datetime) 값입니다
    * `metric`: 32비트 부동 소수점 수([Float32](/ko/reference/data-types/float))

    <Info>
      **테이블 엔진**

      테이블 엔진은 다음 사항을 결정합니다:

      * 데이터의 저장 방식과 위치
      * 지원되는 쿼리
      * 데이터 복제 여부

      <br />

      선택할 수 있는 테이블 엔진은 많지만, 단일 노드 ClickHouse 서버의 단순한 테이블에는 [`MergeTree`](/ko/reference/engines/table-engines/mergetree-family/mergetree)를 사용하는 경우가 일반적입니다.
    </Info>

    #### 프라이머리 키(Primary Key) 간략 소개

    계속 진행하기 전에, ClickHouse에서 기본 키(primary key)가 어떻게 동작하는지 이해하는 것이 중요합니다(기본 키의 구현 방식이 예상과 다를 수 있습니다!):

    * ClickHouse에서 기본 키(primary key)는 테이블의 각 행에 대해 ***고유하지 않습니다***

    ClickHouse 테이블의 프라이머리 키는 데이터가 디스크에 기록될 때의 정렬 방식을 결정합니다. 8,192개의 행 또는 10MB의 데이터마다(**인덱스 세분화 수준**이라고 함) 프라이머리 키 인덱스 파일에 항목이 하나 생성됩니다. 이 세분화 수준 개념을 통해 메모리에 쉽게 적재할 수 있는 **희소 인덱스**가 만들어지며, 그래뉼은 `SELECT` 쿼리 처리 시 읽히는 최소 단위의 컬럼 데이터 묶음을 나타냅니다.

    기본 키(primary key)는 `PRIMARY KEY` 매개변수를 사용하여 정의할 수 있습니다. `PRIMARY KEY`를 지정하지 않고 테이블을 정의하면, `ORDER BY` 절에 지정된 Tuple이 키로 사용됩니다. `PRIMARY KEY`와 `ORDER BY`를 모두 지정하는 경우, 기본 키는 정렬 순서의 부분 집합이어야 합니다.

    프라이머리 키(primary key)는 정렬 키(sorting key)이기도 하며 `(user_id, timestamp)` 튜플입니다. 따라서 각
    컬럼 파일에 저장된 데이터는 `user_id` 먼저, 그 다음 `timestamp` 순으로 정렬됩니다.

    ClickHouse의 핵심 개념을 더 자세히 알아보려면 ["핵심 개념"](/ko/concepts/core-concepts)을 참조하십시오.

    #### 테이블에 데이터 삽입하기

    ClickHouse에서 익숙한 [`INSERT INTO TABLE`](/ko/reference/statements/insert-into) 명령을 사용할 수 있지만, [`MergeTree`](/ko/reference/engines/table-engines/mergetree-family/mergetree) 테이블에 데이터를 삽입할 때마다 스토리지에 \*\*파트(part)\*\*가 생성된다는 점을 반드시 이해해야 합니다.

    <Tip>
      **ClickHouse 모범 사례**

      배치당 가능한 한 많은 행을 삽입하십시오. 한 번에 수만 개, 심지어 수백만 개의
      행도 괜찮습니다. 걱정하지 마십시오. ClickHouse는 그 정도 규모는 쉽게 처리할 수 있으며, 서비스로 전송되는 쓰기 요청 수를 줄여
      [비용을 절감할 수 있습니다](/ko/concepts/best-practices/selecting-an-insert-strategy#batch-inserts-if-synchronous).
    </Tip>

    <br />

    간단한 예시이지만, 한 번에 두 개 이상의 행을 삽입해 보겠습니다:

    ```sql theme={null}
    INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
        (101, 'Hello, ClickHouse!',                                 now(),       -1.0    ),
        (102, 'Insert a lot of rows per batch',                     yesterday(), 1.41421 ),
        (102, 'Sort your data based on your commonly-used queries', today(),     2.718   ),
        (101, 'Granules are the smallest chunks of data read',      now() + 5,   3.14159 )
    ```

    <Note>
      `timestamp` 컬럼은 다양한 [**Date**](/ko/reference/data-types/date) 및 [**DateTime**](/ko/reference/data-types/datetime) 함수를 사용해 채워집니다. ClickHouse에는 유용한 함수가 수백 개 있으며, [**Functions** 섹션](/ko/reference/functions)에서 확인할 수 있습니다.
    </Note>

    제대로 작동했는지 확인해 보겠습니다:

    ```sql theme={null}
    SELECT * FROM helloworld.my_first_table
    ```

    ### clickhouse client를 사용하여 데이터 추가

    [**clickhouse client**](/ko/concepts/features/interfaces/cli)라는 커맨드라인 도구를 사용하여 ClickHouse Cloud 서비스에 연결할 수도 있습니다. 왼쪽 메뉴에서 `Connect`를 클릭하면 연결 정보를 확인할 수 있습니다. 대화 상자의 드롭다운에서 `Native`를 선택하십시오:

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/client_details.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=c98c9b34c5fca2e46edf3afd1565d6c6" size="md" alt="clickhouse client 접속 정보" border width="3200" height="1800" data-path="images/_snippets/client_details.png" />

    <br />

    1. [ClickHouse](/ko/concepts/features/interfaces/cli)를 설치하세요.

    2. 다음 명령을 실행하되, 호스트명, 사용자 이름, 비밀번호는 해당 값으로 바꾸십시오:

    ```bash theme={null}
    ./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
    --secure --port 9440 \
    --user default \
    --password <password>
    ```

    스마일 이모티콘 프롬프트가 나타나면 쿼리를 실행할 준비가 완료된 것입니다!

    ```response theme={null}
    :)
    ```

    3. 다음 쿼리를 실행해 보세요:

    <br />

    ```sql theme={null}
    SELECT *
    FROM helloworld.my_first_table
    ORDER BY timestamp
    ```

    응답이 깔끔한 테이블 형식으로 반환되는 것을 확인할 수 있습니다:

    ```response theme={null}
    ┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
    │     102 │ Insert a lot of rows per batch                     │ 2022-03-21 00:00:00 │ 1.41421 │
    │     102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │   2.718 │
    │     101 │ Hello, ClickHouse!                                 │ 2022-03-22 14:04:09 │      -1 │
    │     101 │ Granules are the smallest chunks of data read      │ 2022-03-22 14:04:14 │ 3.14159 │
    └─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘

    4 rows in set. Elapsed: 0.008 sec.
    ```

    4. [`FORMAT`](/ko/reference/statements/select/format) 절을 추가하여 [ClickHouse에서 지원되는 다양한 출력 형식](/ko/reference/formats) 중 하나를 지정합니다:

    <br />

    ```sql theme={null}
    SELECT *
    FROM helloworld.my_first_table
    ORDER BY timestamp
    FORMAT TabSeparated
    ```

    위 쿼리의 출력은 탭으로 구분된 형식으로 반환됩니다:

    ```response theme={null}
    쿼리 ID: 3604df1c-acfd-4117-9c56-f86c69721121

    102 배치당 많은 행 삽입      2022-03-21 00:00:00     1.41421
    102 자주 사용하는 쿼리를 기준으로 데이터 정렬  2022-03-22 00:00:00     2.718
    101 안녕하세요, ClickHouse!  2022-03-22 14:04:09     -1
    101 그래뉼은 읽는 데이터를 읽는 가장 작은 청크입니다       2022-03-22 14:04:14     3.14159

    결과 집합에 4개 행이 있습니다. 경과 시간: 0.005초.
    ```

    5. `clickhouse client`를 종료하려면 **exit** 명령어를 입력하세요:

    <br />

    ```bash theme={null}
    exit
    ```

    ### 파일 업로드

    데이터베이스를 처음 시작할 때 흔히 수행하는 작업 중 하나는 파일에 있는 데이터를 삽입하는 것입니다. 온라인에서 삽입해 볼 수 있는 샘플 데이터를 제공하고 있으며, 이 데이터는 클릭스트림 데이터로 사용자 ID, 방문한 URL, 이벤트의 타임스탬프를 포함합니다.

    `data.csv`라는 이름의 CSV 파일에 다음과 같은 텍스트가 있다고 가정합니다:

    ```bash title="data.csv" theme={null}
    102,This is data in a file,2022-02-22 10:43:28,123.45
    101,It is comma-separated,2022-02-23 00:00:00,456.78
    103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90
    ```

    1. 다음 명령은 데이터를 `my_first_table` 테이블에 삽입합니다:

    <br />

    ```bash theme={null}
    ./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
    --secure --port 9440 \
    --user default \
    --password <password> \
    --query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csv
    ```

    2. 이제 SQL 콘솔에서 쿼리해 보면 테이블에 새 행이 나타나는 것을 확인할 수 있습니다:

    <br />

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/new_rows_from_csv.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=364502f006bd4c9fe9654f3605540146" size="md" alt="CSV 파일에서 가져온 새 행" width="3200" height="1800" data-path="images/_snippets/new_rows_from_csv.png" />

    <br />
  </Step>
</Steps>

<Tip>
  **IP 액세스 목록 필터링**

  다음 단계로 진행하기 전에 IP 액세스 목록 필터링을 설정하는 것이 좋습니다.
  자세한 내용은 ["IP 필터 설정"](/ko/products/cloud/guides/security/connectivity/setting-ip-filters)을 참조하십시오.
</Tip>

<div id="whats-next">
  ## 다음 단계는?
</div>

* [Tutorial](/ko/get-started/quickstarts/tutorial)에서는 테이블에 200만 개의 행을 삽입하고 몇 가지 분석 쿼리를 작성해 봅니다
* 삽입 방법 안내와 함께 [예시 데이터셋](/ko/get-started/sample-datasets) 목록도 제공합니다
* [ClickHouse 시작하기](https://clickhouse.com/company/events/getting-started-with-clickhouse/)에 대한 25분 분량의 동영상을 확인해 보십시오
* 데이터가 외부 소스에서 들어오는 경우, 메시지 큐, 데이터베이스, 파이프라인 등에 연결하는 방법을 설명한 [통합 가이드 모음](/ko/integrations/home)을 확인해 보십시오
* UI/BI 시각화 도구를 사용하는 경우, [UI를 ClickHouse에 연결하는 사용자 가이드](/ko/integrations/connectors/data-visualization)를 확인해 보십시오
* [프라이머리 키](/ko/guides/clickhouse/data-modelling/sparse-primary-indexes) 사용자 가이드에서 프라이머리 키와 이를 정의하는 방법을 자세히 알아볼 수 있습니다
