커넥터용 Snowflake Native SDK¶
Snowflake Native SDK for Connectors 은 외부 데이터 소스의 데이터를 Snowflake로 수집하는 것을 목적으로 하는 Snowflake 네이티브 앱의 스켈레톤을 제공하는 라이브러리입니다. 이러한 앱을 네이티브 커넥터 라고 합니다.
커넥터용 Snowflake Native SDK는 외부 데이터 원본의 데이터를 Snowflake로 수집하는 Snowflake Native App을 만드는 방법을 보여주는 애플리케이션 템플릿 및 빠른 시작 세트입니다. 이러한 템플릿은 풀 기반 및 푸시 기반 데이터 통합 패턴을 다룹니다.
이러한 템플릿은 개발자를 한정하거나 제한하지 않습니다. 대신 이러한 템플릿은 핵심 Snowflake 기능을 사용하여 데이터를 수집하고 Snowflake Native App 내에 애플리케이션 코드를 캡슐화하는 방법에 대한 예를 제공합니다.
공급자는 Snowflake Native App Framework 를 사용하여 Snowflake Marketplace 에서 Snowflake Native App 을 게시하고 수익을 창출할 수 있습니다. Snowflake Native App 개발자는 템플릿 리포지토리를 복제하고 상용구 코드를 수정하며 자체적인 Snowflake 커넥터를 만들 수 있습니다.
네이티브 커넥터란 무엇입니까?¶
커넥터는 외부 소스 시스템에서 Snowflake로 데이터 흐름을 허용하는 애플리케이션입니다. 네이티브 커넥터는 Snowflake Native App Framework 를 사용하여 빌드 및 배포된 커넥터 애플리케이션입니다. 커넥터에는 다음과 같은 여러 유형이 있습니다.
풀 기반 커넥터
푸시 기반 커넥터
Snowflake Native SDK for Connectors 은 현재 풀 기반 패턴만 지원합니다.
풀 기반 커넥터¶
풀 기반 패턴은 원본 데이터 공급자가 Snowflake에서 고객 데이터를 관리하지 않고 Snowflake에서 연속적인 데이터 공유에 대해 COGS를 발생시키고 싶지 않을 때 효과적입니다. 이러한 패턴은 고객이 데이터를 복제하고 소비하는 데 사용할 수 있는 API를 원본 데이터 공급자가 잘 문서화한 경우에도 효과적입니다.
풀 기반 패턴을 사용하는 방법¶
풀 기반 커넥터 패턴을 사용함으로써, 공급자(Snowflake 또는 서드 파티 ETL 공급자)는 Snowflake Marketplace를 사용하여 Snowflake Native App 을 기반으로 네이티브 커넥터를 게시하고 배포할 수 있습니다. 네이티브 커넥터는 직접 외부 액세스를 사용하여 원본 애플리케이션과 연결합니다. 네이티브 커넥터는 아웃바운드 인증을 수행하고, 소스에서 고객의 Snowflake 계정으로 직접 데이터를 가져오고, 사용자 지정 구성에 따라 데이터를 처리 및 유지합니다.
![풀 기반 아키텍처](../../../_images/connector_sdk_pull_based_architecture.png)
푸시 기반 커넥터¶
보안, 성능 또는 거버넌스 제한으로 인해 고객 방화벽을 통해 원본 애플리케이션에 대한 인바운드 액세스를 할 수 없을 때 푸시 기반 패턴을 사용하는 것이 효과적입니다. 이 패턴에서는 에이전트와 Snowflake Native App 을 사용하여 고객이 방화벽의 후방에서 Snowflake로 데이터 변경 사항을 수집할 수 있도록 합니다.
푸시 기반 패턴을 사용하는 방법¶
에이전트는 Docker 이미지로 배포되는 독립 실행형 애플리케이션으로, 고객 환경에 배포되며 원본 CDC 스트림에서 데이터 변경 사항을 읽어 Snowflake에 초기 및 증분 로드를 전송하는 역할을 담당합니다.
Snowflake Native App 은 Snowflake 내에서 실행되며 통합을 조정합니다. 또한 주로 복제 프로세스 관리, 에이전트 상태 제어, 필수 오브젝트(예: 대상 데이터베이스)의 생성을 담당합니다.
![푸시 기반 아키텍처](../../../_images/connector_sdk_push_based_architecture.png)
커넥터용 네이티브 SDK란 무엇입니까?¶
Snowflake Native SDK for Connectors 는 외부 데이터 소스에서 Snowflake로 데이터를 수집하는 사용자 지정 Snowflake 네이티브 앱을 구축하는 데 사용할 수 있는 범용 구성 요소를 제공하는 라이브러리입니다. 제공된 구성 요소는 커넥터 애플리케이션의 권장 흐름을 정의하고
일부 기능을 사용자 지정 및 제외할 수 있도록 합니다. 현재 Snowflake Native SDK for Connectors는 로컬에서 Java로만 빌드할 수 있는 코드로 제공됩니다. 또한, 단위 테스트 작성에 유용한 도우미 및 유틸리티 클래스가 포함된 보조 라이브러리도 제공됩니다. 해당 라이브러리는 Maven 중앙 리포지토리에서 찾을 수 있습니다.
이러한 라이브러리를 사용하여 제공되는 예제에는 Snowflake 내에서 애플리케이션의 인스턴스를 배포하고 생성하는 데 사용할 수 있는 예제 스크립트도 포함되어 있습니다.
Snowflake Native SDK for Connectors 은 Snowflake Native App Framework 를 기반으로 애플리케이션을 빌드한 다음 Snowflake Marketplace를 사용하여 게시하고 수익을 창출할 때 사용하도록 설계되었습니다. Snowflake Native SDK for Connectors 을 사용하려면 템플릿 또는 예제 애플리케이션에서 복제합니다.
Snowflake Native SDK for Connectors 에서는 Snowflake의 다음 기능을 활용합니다.
추가 정보¶
템플릿과 빠른 시작에 대한 자세한 내용은 다음을 참조하십시오.
자세히 알아보기¶
커넥터 구현에 대한 자세한 내용은 Snowflake Native SDK for Connectors 시작하기 섹션을 참조하십시오.