주요 기능 개요
주요 기능 개요 (Overview of key features)
이 문서는 현재 릴리스에서 지원되는 주목할 만하고 중요한 기능을 나열해요. Snowflake가 제공하는 모든 기능을 나열하지는 않아요.
본문
보안, 거버넌스, 데이터 보호
- 지역을 기반으로 데이터가 저장되는 지리적 위치 선택.
- 표준 사용자/비밀번호 자격 증명을 통한 사용자 인증.
- 강화된 인증:
- 다중 요소 인증 (MFA).
- 페더레이션 인증 및 SSO(단일 사인온).
- Snowflake OAuth.
- 외부 OAuth.
- 키 페어 인증.
- 프로그래밍 방식 액세스 토큰을 통한 인증.
- 모든 Snowflake 커넥터와 드라이버를 포함한 클라이언트와 서버 간의 모든 통신은 TLS로 보호돼요.
- 클라우드 플랫폼 VPC(AWS 또는 GCP) 또는 VNet(Azure) 내부에 배포.
- 다음을 사용한 데이터(로딩·언로딩용) 격리:
- Amazon S3 정책 제어.
- Azure 스토리지 액세스 제어.
- Google Cloud Storage 액세스 권한.
- PHI 데이터 지원 (HIPAA 및 HITRUST CSF 규정 준수) — Business Critical Edition(이상) 필요.
- Snowflake 관리 키를 사용한 Snowflake의 자동 데이터 암호화.
- 객체 수준 액세스 제어.
- Snowflake Time Travel (모든 계정에 1일 표준, Snowflake Enterprise에서 최대 90일까지 추가 일수 허용):
- 테이블의 과거 데이터 쿼리.
- 데이터베이스, 스키마, 테이블의 과거 데이터 복원·클로닝.
- 과거 데이터의 재해 복구를 위한 Snowflake Fail-safe (모든 계정에 7일 표준).
- 테이블 또는 뷰의 컬럼에 마스킹 정책을 적용하는 컬럼 수준 보안 — Enterprise Edition(이상) 필요.
- 테이블과 뷰에 행 액세스 정책을 적용하는 행 수준 보안 — Enterprise Edition(이상) 필요.
- 민감 데이터와 리소스 사용량 추적을 용이하게 하기 위해 Snowflake 객체에 태그를 적용하는 객체 태깅 소개 — Enterprise Edition(이상) 필요.
- 표적화된 프라이버시 공격으로부터 데이터를 보호하는 차등 프라이버시 — Enterprise Edition(이상) 필요.
표준 및 확장 SQL 지원
- SQL:1999에 정의된 대부분의 DDL:
- 데이터베이스, 스키마, 테이블 및 관련 객체.
- 핵심 데이터 타입.
- SET 연산.
- CAST 함수.
- UPDATE, DELETE, INSERT 같은 표준 DML 및 더 고급 DML:
- 다중 테이블 INSERT, MERGE, 다중 병합.
- 일괄 데이터 로드/언로드용 DML.
- Iceberg 테이블.
- 트랜잭션.
- 일시적인 데이터를 위한 임시 및 일시적(transient) 테이블.
- Lateral 뷰.
- 구체화된 뷰.
- 통계 집계 함수.
- 분석 집계 (Group by cube, rollup, grouping sets).
- SQL:2003 분석 확장의 일부:
- 윈도우 함수.
- Grouping sets.
- Java, JavaScript, Python, Scala, SQL을 지원하는 스칼라 및 테이블 사용자 정의 함수(UDF).
- 저장 프로시저 및 프로시저 언어 지원 (Snowflake Scripting).
- 객체와 계정 메타데이터, 그리고 쿼리·웨어하우스 사용 이력 데이터를 조회하기 위한 Snowflake Information Schema.
- 다음을 포함한 재귀 쿼리:
- CONNECT BY.
- 재귀 CTE (공통 테이블 식).
- 정렬 규칙(collation) 지원.
- 지리 공간 데이터 지원.
- 사용자 정의 타입 지원.
도구 및 인터페이스
- 계정 및 일반 관리, 리소스·시스템 사용 모니터링, 데이터 쿼리를 위한 Snowsight.
- Snowflake CLI (오픈소스 명령줄 클라이언트).
- SnowSQL (Python 기반 명령줄 클라이언트).
- GUI 또는 명령줄에서 가상 웨어하우스 관리 — 생성, 크기 조정(다운타임 없이), 일시 중지, 삭제 포함.
- Visual Studio Code용 Snowflake Extension — 설치, 구성, 사용에 대한 자세한 지침.
앱 및 확장성
- 애플리케이션 코드가 실행되는 시스템으로 데이터를 이동하지 않고 Snowflake에서 데이터를 처리하는 애플리케이션을 빌드할 수 있는 Java, Python, Scala용 API.
- 다른 Snowflake 계정과 데이터 콘텐츠와 애플리케이션 로직을 공유하는 애플리케이션 생성 프레임워크.
- 데이터에 접근·업데이트하는 RESTful API.
- 머신러닝과 데이터 과학을 위한 커스텀 웹 앱을 만들고 공유하기 위해 Snowflake에서 Streamlit 앱을 네이티브하게 실행 지원.
- 여러 프로그래밍 언어 중 하나로 핸들러를 사용해 프로시저와 사용자 정의 함수(UDF)를 개발 지원.
- Snowflake가 제공하는 광범위한 클라이언트 커넥터 및 드라이버 세트:
- Python 커넥터
- Spark 커넥터
- Node.js 드라이버
- Go Snowflake 드라이버
- .NET 드라이버
- JDBC 클라이언트 드라이버
- ODBC 클라이언트 드라이버
- PHP PDO 드라이버
- Snowpark Container Services는 컨테이너화된 애플리케이션을 쉽게 배포·관리·확장하는 데 도움을 주는 완전 관리형 컨테이너 서비스예요.
연결성
- 지원되는 광범위한 타사 파트너·기술 에코시스템.
- 파트너 애플리케이션을 평가판으로 사용해 볼 수 있는 무료 평가판 지원.
데이터 가져오기 및 내보내기
- 테이블로/에서 일괄 로딩·언로딩 지원:
- 지원되는 문자 인코딩을 사용하는 모든 데이터 로드.
- 압축 파일에서 데이터 로드.
- 대부분의 플랫(flat) 구분 데이터 파일(CSV, TSV 등) 로드.
- JSON, Avro, ORC, Parquet, XML 형식의 데이터 파일 로드.
- Snowflake 웹 인터페이스 또는 명령줄 클라이언트를 사용한 클라우드 스토리지 또는 로컬 파일에서 로드.
- 파일에서 지속적인 데이터 로딩 지원:
- Snowpipe를 사용해 내부(즉 Snowflake) 스테이지 또는 외부(Amazon S3, Google Cloud Storage, Microsoft Azure) 스테이지에서 마이크로 배치로 데이터 로드.
- S3 호환 스토리지의 데이터 접근 지원.
데이터 공유
- 보안 객체의 데이터 공유와 비보안 뷰의 데이터 공유(다른 Snowflake 계정과) 모두 지원:
- 소비할 데이터를 다른 계정에 제공.
- 다른 계정이 제공한 데이터 소비.
- 프라이버시 보호 환경에서 데이터를 공유하는 Snowflake Data Clean Rooms 사용자 협업 지원.
복제 및 장애 조치
- 서로 다른 지역과 클라우드 플랫폼의 여러 Snowflake 계정 간 복제·장애 조치 지원:
- Snowflake 계정 간(같은 조직 내) 객체 복제 및 객체·저장 데이터 동기화 유지.
- 비즈니스 연속성과 재해 복구를 위한 하나 이상의 Snowflake 계정으로 장애 조치 구성.