Snowflake Native App Framework 정보

이 항목에서는 Snowflake Native App Framework 에 대한 일반 정보를 제공합니다.

Snowflake Native App Framework 소개

Snowflake Native App Framework 를 사용하면 핵심 Snowflake 기능을 활용하는 데이터 애플리케이션을 만들 수 있습니다. Snowflake Native App Framework 를 사용하면 다음을 수행할 수 있습니다.

  • 다른 Snowflake 계정과 데이터 및 관련 비즈니스 논리를 공유하여 다른 Snowflake 특징의 기능을 확장합니다. 애플리케이션의 비즈니스 논리는 Snowpark API, JavaScript, SQL을 사용하여 작성한 Streamlit 앱, 저장 프로시저, 함수를 포함할 수 있습니다.

  • 목록을 통해 컨슈머와 애플리케이션을 공유합니다. 목록은 무료이거나 유료일 수 있습니다. Snowflake Marketplace 에서 앱을 배포하고 수익을 창출하거나 비공개 목록을 사용하여 특정 컨슈머에게 앱을 배포할 수 있습니다.

  • Streamlit을 사용하여 애플리케이션에 풍부한 시각화를 포함합니다.

Snowflake Native App Framework 는 또한 다음을 제공하는 향상된 개발 환경도 지원합니다.

  • 단일 계정에서 애플리케이션을 테스트할 수 있는 간소화된 테스트 환경.

  • 강력한 개발자 워크플로. 데이터 및 관련 데이터베이스 오브젝트가 Snowflake 내에 그대로 있는 동안 기본 설정한 개발자 도구를 사용하여 원본 관리 범위 내에서 지원 코드 파일과 리소스를 관리할 수 있습니다.

  • 공급자로서 애플리케이션의 논리를 변경 및 발전시켜 컨슈머에게 점진적으로 제공할 수 있게 해주는 애플리케이션용 버전과 패치를 출시하는 기능.

  • 애플리케이션의 문제 해결과 모니터링을 수행할 수 있도록 정형 및 비정형 이벤트 로깅 지원.

알려진 제한 사항

Snowflake Native App Framework 에는 다음을 포함한 제한 사항이 있습니다.

  • Google Cloud Platform에서는 Snowflake 계정이 아직 지원되지 않습니다.

  • 클라우드 간 자동 복제는 현재 AWS 및 Azure 리전에서만 지원됩니다.

  • 정부 리전의 Snowflake 계정은 지원되지 않습니다.

  • VPS(Virtual Private Snowflake)는 단일 조직 내에서만 지원됩니다.

  • Iceberg 테이블은 지원되지 않습니다.

  • 임시 테이블 또는 스테이지는 지원되지 않습니다.

  • 일부 Streamlit 기능이 지원되지 않습니다. 자세한 내용은 지원되지 않는 Streamlit 기능 섹션을 참조하십시오.

  • Snowflake Native App Framework는 비즈니스 연속성을 위한 장애 조치를 지원하지 않습니다. 복제 그룹 및 장애 조치 그룹에 애플리케이션 패키지를 추가할 수 없습니다.

Snowflake Native App Framework 의 구성 요소

다음 다이어그램은 Snowflake Native App Framework 의 상위 수준 뷰를 보여줍니다.

../../_images/native-apps-overview.png

Snowflake Native App Framework 는 Snowflake CollaborationSecure Data Sharing 을 비롯한 다른 Snowflake 기능에서 사용하는 공급자와 컨슈머의 개념을 중심으로 개발되었습니다.

공급자

다른 Snowflake 사용자와 데이터 콘텐츠 및 애플리케이션 논리를 공유하려는 Snowflake 사용자.

컨슈머

공급자가 공유하는 데이터 콘텐츠 및 애플리케이션 논리에 액세스하려는 Snowflake 사용자.

애플리케이션 패키지 개발 및 테스트하기

컨슈머와 데이터 콘텐츠 및 애플리케이션 논리를 공유하기 위해 공급자는 애플리케이션 패키지를 생성합니다.

애플리케이션 패키지

애플리케이션 패키지는 애플리케이션에서 필요한 데이터 콘텐츠, 애플리케이션 논리, 메타데이터, 설정 스크립트를 캡슐화합니다. 애플리케이션 패키지에는 애플리케이션에 대해 정의된 버전 및 패치 수준에 대한 정보도 포함됩니다. 자세한 내용은 애플리케이션 패키지 만들기 섹션을 참조하십시오.

애플리케이션 패키지는 공급자가 애플리케이션에 포함하려는 데이터 콘텐츠 및 외부 코드 파일에 대한 참조를 포함할 수 있습니다. 애플리케이션 패키지에는 매니페스트 파일과 설정 스크립트가 필요합니다.

매니페스트 파일

설정 스크립트의 위치, 버전 등을 포함하여 애플리케이션에서 필요한 구성 및 설정 속성을 정의합니다. 자세한 내용은 애플리케이션 패키지의 매니페스트 파일 만들기 섹션을 참조하십시오.

설정 스크립트

컨슈머가 애플리케이션을 설치하거나 업그레이드할 때 또는 공급자가 테스트를 위해 애플리케이션을 설치하거나 업그레이드할 때 실행되는 SQL 문을 포함합니다. 설정 스크립트의 위치는 manifest.yml 파일에 지정됩니다. 자세한 내용은 설정 스크립트 만들기 섹션을 참조하십시오.

애플리케이션 패키지 게시하기

애플리케이션 패키지를 개발하고 테스트한 후 공급자는 애플리케이션 패키지를 목록의 데이터 제품으로 포함하는 목록을 게시하여 애플리케이션을 컨슈머와 공유할 수 있습니다. 목록은 Snowflake Marketplace 목록 또는 비공개 목록일 수 있습니다.

Snowflake Marketplace 목록

공급자가 Snowflake 데이터 클라우드 전체에서 애플리케이션을 마케팅할 수 있습니다. Snowflake Marketplace 에서 목록을 제공하면 공급자가 개별 컨슈머와 공유 관계를 유지하는 대신 애플리케이션을 많은 컨슈머와 동시에 공유할 수 있습니다.

비공개 목록

공급자가 목록의 기능을 활용하여 Snowflake Native App Framework 에서 지원되는 어떤 Snowflake 리전에서든 다른 Snowflake 계정과 직접 애플리케이션을 공유할 수 있습니다.

자세한 내용은 목록 정보 를 참조하십시오.

애플리케이션 설치 및 관리하기

공급자가 애플리케이션 패키지를 포함한 목록을 게시하면 컨슈머가 목록을 검색하고 애플리케이션을 설치할 수 있습니다.

Snowflake Native App

Snowflake Native App 은 컨슈머 계정에 설치된 데이터베이스 오브젝트입니다. 컨슈머가 Snowflake Native App 을 설치하면 Snowflake는 애플리케이션을 만들고 설정 스크립트를 실행하여 애플리케이션 내에 필요한 오브젝트를 생성합니다. 자세한 내용은 애플리케이션 오브젝트를 만듭니다. 섹션을 참조하십시오.

애플리케이션을 설치하면 컨슈머가 다음을 포함한 추가 작업을 수행할 수 있습니다.

컨슈머가 애플리케이션을 설치하고 관리하는 방법에 대한 자세한 내용은 컨슈머로서 애플리케이션 작업하기 를 참조하십시오.