주요 개념과 아키텍처

Snowflake의 데이터 클라우드는 자가 관리 서비스로 제공되는 고급 데이터 플랫폼을 기반으로 합니다. Snowflake는 기존 서비스에 비해 더 빠르고 사용이 편리하며 매우 유연한 데이터 저장소, 처리 및 분석 솔루션을 지원합니다.

Snowflake 데이터 플랫폼은 Hadoop과 같은 《빅 데이터》 소프트웨어 플랫폼 또는 기존 데이터베이스 기술을 기반으로 개발되지 않았습니다. 대신, Snowflake에서는 클라우드용으로 고유하게 설계된 혁신적인 아키텍처와 완전히 새로운 SQL 쿼리 엔진이 통합되어 활용됩니다. Snowflake는 엔터프라이즈 분석 데이터베이스의 모든 기능과 함께 다양한 추가적인 특수 기능 및 고유 기능을 사용자에게 제공합니다.

이 항목의 내용:

자가 관리 서비스로서의 데이터 플랫폼

Snowflake는 진정한 자가 관리 서비스로, 다음을 의미합니다.

  • 하드웨어(가상 또는 실제)를 선택, 설치, 구성 또는 관리할 필요가 없습니다.

  • 사실상 소프트웨어를 설치, 구성 또는 관리할 필요가 없습니다.

  • 지속적인 유지 관리, 관리, 업그레이드 및 튜닝은 Snowflake가 처리합니다.

Snowflake는 완벽하게 클라우드 인프라에서 실행됩니다. 모든 Snowflake 서비스 구성 요소(선택 사항으로 제공되는 명령줄 클라이언트, 드라이버 및 커넥터 제외)는 공용 클라우드 인프라에서 실행됩니다.

Snowflake는 컴퓨팅 요구 사항을 위해서는 가상 컴퓨팅 인스턴스를 사용하고 데이터의 영구 저장을 위해서는 저장소 서비스를 사용합니다. Snowflake는 사설 클라우드 인프라(온프레미스 또는 호스팅형)에서 실행할 수 없습니다.

Snowflake는 사용자가 설치할 수 있는 패키지형 소프트웨어 제품이 아닙니다. Snowflake는 소프트웨어 설치 및 업데이트의 모든 부분을 관리합니다.

Snowflake 아키텍처

Snowflake는 기존의 공유 디스크 및 비공유 데이터베이스 아키텍처가 하이브리드 아키텍처입니다. 공유 디스크 아키텍처와 유사하게, Snowflake는 플랫폼 내의 모든 컴퓨팅 노드에서 액세스할 수 있는 영구 데이터의 경우 중앙 데이터 리포지토리를 사용합니다. 그렇지만 비공유 아키텍처와 유사하게, Snowflake는 클러스터 내의 각 노드가 전체 데이터 집합의 일부를 로컬에 저장하는 MPP(대규모 병렬 처리) 컴퓨팅 클러스터를 사용하여 쿼리를 처리합니다. 이러한 접근 방식을 통해 공유 디스크 아키텍처의 단순한 데이터 관리와 비공유 아키텍처의 성능 및 확장성 이점을 모두 활용할 수 있습니다.

Architecture overview

Snowflake의 고유한 아키텍처를 구성하는 세 가지 주요 레이어는 다음과 같습니다.

데이터베이스 저장소

데이터를 Snowflake에 적재하면, Snowflake는 해당 데이터를 내부의 최적화되고 압축된 열 형식으로 재구성합니다. Snowflake는 이러한 최적화 데이터를 클라우드 저장소에 저장합니다.

Snowflake는 유기적 구성, 파일 크기, 구조, 압축, 메타데이터, 통계 등 데이터 저장 방법과 관련된 모든 영역과 Snowflake가 다루는 데이터 저장소 영역을 관리합니다. 고객은 Snowflake가 저장하는 데이터 오브젝트를 직접 보거나 액세스할 수 없으며, Snowflake를 사용하여 실행되는 SQL 쿼리 연산을 통해서만 액세스할 수 있습니다.

쿼리 처리

쿼리는 처리 레이어에서 실행됩니다. Snowflake에서 쿼리는 《가상 웨어하우스》를 사용하여 처리됩니다. 각 가상 웨어하우스는 클라우드 공급자로부터 Snowflake가 할당하는 여러 컴퓨팅 노드로 구성되는 MPP 컴퓨팅 클러스터입니다.

각 가상 웨어하우스는 다른 가상 웨어하우스와는 컴퓨팅 리소스를 공유하지 않는 독립 컴퓨팅 클러스터입니다. 결과적으로, 각 가상 웨어하우스는 다른 가상 웨어하우스의 성능에 영향을 주지 않습니다.

자세한 내용은 가상 웨어하우스 섹션을 참조하십시오.

클라우드 서비스

클라우드 서비스 레이어는 Snowflake 전반의 작업들을 조율하는 서비스의 집합입니다. 이러한 서비스는 Snowflake의 다양한 모든 구성 요소와 연계되어 로그인부터 쿼리 전달까지 사용자 요청을 처리합니다. 클라우드 서비스 레이어는 클라우드 공급자로부터 Snowflake가 프로비저닝하는 컴퓨팅 인스턴스에서도 실행됩니다.

이 레이어에서 관리되는 서비스는 다음과 같습니다.

  • 인증

  • 인프라 관리

  • 메타데이터 관리

  • 쿼리 구문 분석 및 최적화

  • 액세스 제어

Snowflake에 연결하기

Snowflake는 다음과 같은 다양한 서비스 연결 방법을 지원합니다.

  • Snowflake 관리 및 사용의 모든 측면에 액세스할 수 있는 웹 기반 사용자 인터페이스.

  • Snowflake 관리 및 사용의 모든 영역에 액세스 할 수 있는 명령줄 클라이언트(예: SnowSQL).

  • 다른 애플리케이션(예: Tableau)이 Snowflake에 연결할 때 사용할 수 있는 ODBC 및 JDBC 드라이버.

  • Snowflake에 연결하기 위한 애플리케이션 개발에 사용할 수 있는 기본 커넥터(예: Python, Spark).

  • ETL 도구(예: Informatica) 및 BI 도구(예: ThoughtSpot)와 같은 애플리케이션을 Snowflake에 연결하기 위해 사용할 수 있는 서드 파티 커넥터.

자세한 내용은 Snowflake에 로그인하기 섹션을 참조하십시오.