뷰, 구체화된 뷰, 동적 테이블

Snowflake는 데이터를 보고 구체화하거나 그렇지 않으면 변환할 수 있는 다양한 구조를 제공합니다. 가장 일반적인 세 가지 메커니즘은 다음과 같습니다.

  • : Snowflake는 전통적인 데이터베이스 뷰로 간주되는 뷰를 제공합니다. 일반적으로 뷰를 사용하면 두 개 이상의 테이블이나 다른 뷰를 단 하나의 논리적 뷰로 연결(또는 데이터베이스 용어로는 조인)하는 등 마치 테이블인 것처럼 쿼리 결과에 액세스할 수 있습니다. 뷰를 정의한 후에는 다른 테이블과 마찬가지로 뷰를 쿼리할 수 있습니다.

  • 구체화된 뷰: 구체화된 뷰는 구체화된 뷰 쿼리를 기반으로 데이터 세트를 미리 계산하는 기능을 제공한다는 점에서 전통적인 뷰와 다릅니다. 결과가 미리 계산되므로 구체화된 뷰의 쿼리가 뷰의 기본 테이블에 대한 쿼리 실행보다 속도가 더 빠릅니다. 이러한 성능 차이는 쿼리가 자주 실행되거나 충분히 복잡한 경우에 중요할 수 있습니다. 결과적으로, 구체화된 뷰는 부담이 큰 집계, 프로젝션 및 선택 작업, 특히 자주 실행되고 규모가 큰 데이터 세트에서 실행되는 작업의 속도를 향상할 수 있습니다.

  • 동적 테이블: 동적 테이블은 지정된 쿼리의 결과를 구체화합니다. 별도의 대상 테이블을 생성하고 해당 테이블의 데이터를 변환 및 업데이트하는 코드를 작성하는 대신, 대상 테이블을 동적 테이블로 정의하고 변환을 수행하는 SQL 문을 지정할 수 있습니다. 그런 다음 백그라운드 자동화는 사용자가 지정하는 새로 고침 기준에 따라 동적 테이블을 최신 상태로 유지합니다.

뷰, 구체화된 뷰, 동적 테이블 비교

오브젝트 타입

장점

단점

제한 사항 및 추가 정보

간단하고 쉽게 정의할 수 있으며 저장소를 사용하지 않습니다.

유연성이 없고 느리며 결과를 생성하려면 컴퓨팅이 필요합니다.

뷰에 대한 제한 사항 섹션을 참조하십시오.

구체화된 뷰

빠른 결과 검색. 비교적 간단한 정의. 다소 유연함. 항상 최신 상태.

최신 상태를 유지하기 위해 컴퓨팅이 필요합니다. 저장소를 사용합니다.

구체화된 뷰의 제한 사항을 포함한 자세한 내용은 구체화된 뷰 작업하기 섹션을 참조하십시오.

동적 테이블

매우 빠른 결과 검색. 비교적 간단한 정의. 매우 유연함. 새로 고침 미세 제어. 복잡한 변환을 제공할 수 있습니다.

최신 상태를 유지하기 위한 컴퓨팅 비용이 발생합니다. 저장소를 사용합니다. 새로 고침 빈도, 시기 및 방법을 신중하게 고려해야 합니다.

동적 테이블의 제한 사항을 포함한 자세한 내용은 동적 테이블 섹션을 참조하십시오.