> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> StripeLog 테이블 엔진 문서

# StripeLog 테이블 엔진

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            ClickHouse Cloud에서 지원되지 않음
        </div>;
};

<CloudNotSupportedBadge />

이 엔진은 log engines 계열에 속합니다. log engines의 공통 속성과 차이점은 [Log Engine Family](/docs/ko/reference/engines/table-engines/log-family/index) 문서를 참조하십시오.

이 엔진은 적은 양의 데이터(100만 행 미만)를 저장하는 테이블을 많이 작성해야 하는 경우에 사용하십시오. 예를 들어, 원자적 처리가 필요한 변환용 수신 데이터 배치를 저장하는 데 이 테이블을 사용할 수 있습니다. ClickHouse 서버에서는 이 유형의 테이블 인스턴스 10만 개를 운영할 수 있습니다. 많은 수의 테이블이 필요한 경우 [Log](/docs/ko/reference/engines/table-engines/log-family/log)보다 이 테이블 엔진을 사용하는 것이 좋습니다. 다만 그만큼 읽기 효율은 낮아집니다.

<div id="table_engines-stripelog-creating-a-table">
  ## 테이블 생성하기
</div>

```sql theme={null}
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    column1_name [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    column2_name [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = StripeLog
```

[CREATE TABLE](/docs/ko/reference/statements/create/table) 쿼리에 대한 자세한 설명은 해당 문서를 참고하십시오.

<div id="table_engines-stripelog-writing-the-data">
  ## 데이터 쓰기
</div>

`StripeLog` 엔진은 모든 컬럼을 하나의 파일에 저장합니다. 각 `INSERT` 쿼리마다 ClickHouse는 데이터 블록을 테이블 파일 끝에 덧붙이고, 컬럼을 하나씩 씁니다.

각 테이블에 대해 ClickHouse는 다음 파일을 씁니다:

* `data.bin` — 데이터 파일.
* `index.mrk` — 마크가 있는 파일입니다. 마크에는 삽입된 각 데이터 블록의 각 컬럼에 대한 오프셋이 들어 있습니다.

`StripeLog` 엔진은 `ALTER UPDATE` 및 `ALTER DELETE` 작업을 지원하지 않습니다.

<div id="table_engines-stripelog-reading-the-data">
  ## 데이터 읽기
</div>

마크 파일을 사용하면 ClickHouse가 데이터를 병렬로 읽을 수 있습니다. 즉, `SELECT` 쿼리는 행을 예측할 수 없는 순서로 반환합니다. 행을 정렬하려면 `ORDER BY` 절을 사용하십시오.

<div id="table_engines-stripelog-example-of-use">
  ## 사용 예시
</div>

테이블 생성:

```sql theme={null}
CREATE TABLE stripe_log_table
(
    timestamp DateTime,
    message_type String,
    message String
)
ENGINE = StripeLog
```

데이터 삽입:

```sql theme={null}
INSERT INTO stripe_log_table VALUES (now(),'REGULAR','The first regular message')
INSERT INTO stripe_log_table VALUES (now(),'REGULAR','The second regular message'),(now(),'WARNING','The first warning message')
```

두 개의 `INSERT` 쿼리를 사용해 `data.bin` 파일 안에 2개의 데이터 블록(data block)을 만들었습니다.

ClickHouse는 데이터를 조회할 때 여러 스레드를 사용합니다. 각 스레드는 서로 다른 데이터 블록을 읽고, 작업이 끝나는 대로 결과 행을 독립적으로 반환합니다. 따라서 대부분의 경우 출력에 나타나는 행 블록의 순서는 입력에서 동일한 블록의 순서와 일치하지 않습니다. 예를 들면 다음과 같습니다:

```sql theme={null}
SELECT * FROM stripe_log_table
```

```text theme={null}
┌───────────timestamp─┬─message_type─┬─message────────────────────┐
│ 2019-01-18 14:27:32 │ REGULAR      │ The second regular message │
│ 2019-01-18 14:34:53 │ WARNING      │ The first warning message  │
└─────────────────────┴──────────────┴────────────────────────────┘
┌───────────timestamp─┬─message_type─┬─message───────────────────┐
│ 2019-01-18 14:23:43 │ REGULAR      │ The first regular message │
└─────────────────────┴──────────────┴───────────────────────────┘
```

결과를 정렬합니다(기본값은 오름차순):

```sql theme={null}
SELECT * FROM stripe_log_table ORDER BY timestamp
```

```text theme={null}
┌───────────timestamp─┬─message_type─┬─message────────────────────┐
│ 2019-01-18 14:23:43 │ REGULAR      │ The first regular message  │
│ 2019-01-18 14:27:32 │ REGULAR      │ The second regular message │
│ 2019-01-18 14:34:53 │ WARNING      │ The first warning message  │
└─────────────────────┴──────────────┴────────────────────────────┘
```
