채널 유형 선택하기

채널 유형 선택하기

Snowpipe Streaming은 채널을 사용해 프로듀서에서 pipe를 거쳐 대상 테이블로 행을 운반해요. 애플리케이션이 순서 있는 수집이나 exactly-once 전달을 요구하면 Named Channels를, 그런 보장이 필요 없으면 Elastic Channels를 선택하세요.

출처: Snowflake 문서

본문

채널이란 무엇인가요

채널은 논리적 수집 경로이며, 별도의 테이블이나 메시지 큐가 아니에요. 프로듀서는 채널을 통해 행을 append하고, pipe는 변환과 컬럼 매핑을 포함해 Snowflake가 대상 테이블에 로드하기 전에 그 행들을 처리하는 방식을 정의합니다.

두 모드 모두 Snowflake의 서버리스 수집 서비스를 사용합니다. 선택은 서버 인프라를 누가 관리하는지가 아니라 애플리케이션이 순서와 exactly-once 전달을 필요로 하는지에 따라 달라져요.

두 채널 유형 모두 pipe를 사용하며 Snowflake 테이블이나 Snowflake 관리 Iceberg 테이블을 로드할 수 있어요. 채널 유형 선택은 기본(default) 또는 커스텀(custom) pipe 선택과는 별개입니다.

채널 유형 비교

고려사항 Elastic Channels Named Channels
선택 시점 프로듀서에서 테이블까지 순서나 exactly-once 전달이 필요 없습니다. 프로듀서에서 테이블까지 채널별 순서나 exactly-once 전달이 필요합니다.
채널 관리 각 스트리밍 pipe에는 ELASTIC으로 식별되는 암시적 Elastic Channel 하나가 있습니다. Snowflake가 그 라이프사이클과 확장을 관리합니다. 애플리케이션이 명시적 이름으로 Named Channels를 열고 재사용하며, 보통 각 소스 파티션을 채널에 매핑합니다.
동시 프로듀서 많은 프로듀서가 동시에 같은 Elastic Channel에 append할 수 있습니다. 각 채널 내에서 소스 순서대로 제출하세요. 독립적인 소스 파티션·스트림에는 별도 채널을 사용하세요.
전달과 복구 At-least-once 전달. 모호하게 승인된 append를 재시도하면 중복이 생길 수 있습니다. 소스 오프셋 커서나 서버 측 중복 제거는 제공되지 않습니다. Offset token이 커밋된 진행 상황을 추적합니다. 복구 시 소스 또는 내구성 있는 애플리케이션 관리 스토리지를 사용해 마지막 커밋된 offset 이후의 보존된 레코드를 재생합니다.
순서 순서 보장 없음. 순서는 채널 내부에서 보존되며, 채널 간에는 보존되지 않습니다.
진행 상황 추적 per-append 내구성 승인을 사용해 어떤 보존된 이벤트를 해제할 수 있는지 결정합니다. 커밋된 offset token을 사용해 소스 체크포인트를 언제 전진시킬지 결정합니다.
대표 사용 사례 순서가 불필요하고 중복을 허용하거나 다운스트림에서 조정할 수 있는 IoT 장치 이벤트, 애플리케이션 텔레메트리, 로그. 순서나 exactly-once 전달이 필요한 CDC, 청구(billing), 재고 업데이트. Kafka 파티션에서의 수입을 포함합니다.

사용 사례 이름만이 아니라 전달 요구사항에 기반해 선택하세요. 예를 들어 로그는 중복이 허용되면 Elastic Channels를, 순서나 exactly-once 전달이 필요하면 Named Channels를 사용할 수 있어요.

Exactly-once 복구는 마지막 커밋된 offset부터 재생할 수 있도록 레코드를 보존해야 합니다. 소스 또는 내구성 있는 애플리케이션 관리 스토리지에서요. 레코드를 원래 오프셋과 함께 유지하고 순서대로 재생하세요.

어느 모드도 미제출 또는 메모리 전용 프로듀서 데이터를 크래시 내구성 있게 만들지 않아요. 관련 승인이나 커밋된 체크포인트가 진행 상황을 확인할 때까지 이벤트·소스 레코드를 보관하세요. 내구성 있는 수집 진행 상황은 대상 테이블의 쿼리 가시성과는 별개입니다.

각 모드 살펴보기

  • Elastic Channels: Elastic Channels가 동시 프로듀서와 고처리량 워크로드에서 수집을 어떻게 확장하는지 배우고, SDK 또는 REST 튜토리얼을 따르세요.
  • Named Channels: 채널 순서와 offset token이 어떻게 동작하는지 배우고, 소스 오프셋 기반 수집을 위한 SDK 또는 REST 튜토리얼을 따르세요.

더 알아보기 (Learn more)