Snowpipe Streaming classic 아키텍처

Snowpipe Streaming classic 아키텍처

Snowpipe Streaming classic 아키텍처는 Snowflake 테이블로 직접 연속적·저지연·행 기반 데이터 수입을 위한 검증되고 효율적인 방법을 제공해요. 이 구현(문서에서 Snowpipe Streaming Classic으로 지칭)은 애플리케이션 이벤트 데이터, IoT 센서 판독값, 저지연 CDC(변경 데이터 캡처) 같은 다양한 스트리밍 워크로드에서 여전히 신뢰할 수 있는 선택입니다.

출처: Snowflake 문서

본문

중요

  • 사전 예고: Snowpipe Streaming classic 아키텍처는 현재 완전히 지원되지만 향후 폐지가 계획되어 있습니다.
  • 조치: 즉시 변경할 것은 없습니다. 현재 워크로드는 안전하며 완전히 지원됩니다.
  • 타임라인: Snowflake는 2026년 중반에 공식 폐지 발표를 할 계획입니다. 이 이정표는 발표 날짜만을 의미합니다. 폐지 발표 후에는 지원 종료 날짜 전까지 18개월의 마이그레이션 기간이 시작됩니다.
  • 권장: 모든 새 구현에는 고성능 아키텍처를 사용하세요.

전체 세부 사항, FAQ, 마이그레이션 지침은 계획된 폐지 예고를 참고하세요.

참고 Snowpipe Streaming이 처음인가요? 고성능 아키텍처 위에 구축된 현재 기능은 Snowpipe Streaming 개요를 참고하세요.

Snowpipe Streaming classic 아키텍처는 Snowpipe Streaming 고성능 아키텍처의 중심인 데이터 흐름 관리를 위한 명시적 PIPE 객체 개념 없이 동작합니다. 대신 Snowpipe Streaming Classic에서는 채널이 테이블에 대해 더 직접적으로 구성되며, Snowflake로 데이터를 스트리밍하는 친숙하고 검증된 방식을 제공합니다. Snowpipe Streaming Classic은 snowflake-ingest-java SDK를 사용합니다.

소프트웨어 요구사항

classic과 고성능 아키텍처의 차이는 API 차이점을 참고하세요.

커스텀 클라이언트 애플리케이션

API는 데이터 행을 받아들이고 발생하는 오류를 처리할 수 있는 커스텀 Java 애플리케이션 인터페이스를 요구합니다. 애플리케이션이 지속적으로 실행되고 실패에서 복구할 수 있도록 보장해야 합니다. 주어진 행 일괄 처리에 대해 API는 <C>ON_ERROR = CONTINUE | SKIP_BATCH | ABORT</C>에 해당하는 것을 지원합니다.

  • CONTINUE: 허용 가능한 데이터 행을 계속 로드하고 모든 오류를 반환합니다.
  • SKIP_BATCH: 행 일괄 처리 전체에서 오류가 하나라도 발견되면 로드를 건너뛰고 모든 오류를 반환합니다.
  • ABORT(기본 설정): 첫 오류를 만나면 행 일괄 처리 전체를 중단하고 예외를 던집니다.

Snowpipe Streaming classic의 경우 애플리케이션은 insertRow(단일 행) 또는 insertRows(행 세트) 메서드의 응답을 사용해 스키마 검증을 수행합니다. 고성능 아키텍처의 오류 처리는 오류 처리를 참고하세요.

Apache Iceberg™ 테이블로 데이터 로드

Snowflake Ingest SDK 버전 3.0.0 이상부터 Snowpipe Streaming은 Snowflake 관리 Apache Iceberg 테이블로 데이터를 수입할 수 있어요. Snowpipe Streaming Ingest Java SDK는 표준 Snowflake 테이블(비-Iceberg)과 Iceberg 테이블 양쪽으로의 로드를 지원합니다. 자세한 내용은 Apache Iceberg™ 테이블과 함께하는 Snowpipe Streaming Classic을 참고하세요.

Classic 아키텍처에서 최적화된 파일로의 마이그레이션

API는 채널의 행을 클라우드 스토리지의 blob에 쓴 뒤 대상 테이블에 커밋합니다. 처음에 대상 테이블에 쓰인 스트리밍 데이터는 임시 중간 파일 형식으로 저장됩니다. 이 단계에서 파티션된 데이터가 네이티브 파일과 중간 파일이 섞인 형태로 저장되므로 테이블은 "mixed table"로 간주됩니다. 자동화된 백그라운드 프로세스가 필요에 따라 활성 중간 파일에서 쿼리와 DML 작업에 최적화된 네이티브 파일로 데이터를 마이그레이션합니다.

Classic 아키텍처에서의 복제

Snowpipe Streaming은 Snowpipe Streaming과 관련 채널 offset으로 채워진 Snowflake 테이블의 복제·페일오버를 다른 리전과 클라우드 플랫폼의 대상 계정으로 지원합니다. 자세한 내용은 복제와 Snowpipe Streaming을 참고하세요.

더 알아보기 (Learn more)