웨어하우스의 개요¶
쿼리 및 테이블에 데이터 로드 등 모든 DML 연산에는 웨어하우스가 필요합니다. 유형을 기준으로 표준 또는 Snowpark에 최적화됨으로 정의되는 것 외에도, 웨어하우스는 웨어하우스 활동을 제어하고 자동화하기 위해 설정할 수 있는 기타 속성과 크기로 정의됩니다.
웨어하우스는 언제든지 시작 및 중지할 수 있습니다. 또한, 웨어하우스에서 수행되는 작업 타입에 따라 컴퓨팅 리소스의 증가 또는 감소 요구 사항을 충족하기 위해 실행 중인 경우에도 언제든지 웨어하우스의 크기를 조정할 수 있습니다.
이 항목의 내용:
웨어하우스 크기¶
크기는 웨어하우스에 있는 클러스터당 사용 가능한 컴퓨팅 리소스의 양을 지정합니다. Snowflake가 지원하는 웨어하우스 크기는 다음과 같습니다.
웨어하우스 크기 |
크레딧 / 시간 |
크레딧 / 초 |
참고 |
---|---|---|---|
X-Small |
1 |
0.0003 |
Snowsight 에서 생성되고 CREATE WAREHOUSE 를 사용하는 웨어하우스의 기본 크기입니다. |
Small |
2 |
0.0006 |
|
Medium |
4 |
0.0011 |
|
Large |
8 |
0.0022 |
|
X-Large |
16 |
0.0044 |
Classic Console 을 사용하여 생성되는 웨어하우스의 기본 크기입니다. |
2X-Large |
32 |
0.0089 |
|
3X-Large |
64 |
0.0178 |
|
4X-Large |
128 |
0.0356 |
|
5X-Large |
256 |
0.0711 |
Amazon Web Services(AWS) 및 Microsoft Azure 리전에서는 일반 공급으로, US 정부 리전에서는 미리 보기로 제공됩니다. |
6X-Large |
512 |
0.1422 |
Amazon Web Services(AWS) 및 Microsoft Azure 리전에서는 일반 공급으로, US 정부 리전에서는 미리 보기로 제공됩니다. |
대용량 웨어하우스 크기¶
더 큰 웨어하우스 크기 5X-Large와 6X-Large는 모든 Amazon Web Services(AWS) 및 Microsoft Azure 리전에서 일반 공급으로 제공됩니다.
더 큰 웨어하우스 크기는 US 정부 리전에서 미리 보기로 제공됩니다(ARM에 대한 FIPS 지원 필요).
크레딧 사용 및 청구에 대한 영향¶
위의 테이블에서와 같이, 웨어하우스가 실행되는 각 전체 시간 동안 다음으로 큰 웨어하우스의 크기로 크기를 증가시키면 크레딧 사용량이 두 배로 증가하지만, Snowflake는 초당 청구(웨어하우스가 시작될 때마다 최소 60초)를 사용하므로 웨어하우스는 실제로 소비한 크레딧에 대해서만 청구됩니다.
청구되는 총 크레딧 수는 웨어하우스가 연속해서 실행되는 시간에 따라 다릅니다. 비교를 위해, 다음 테이블에서는 실행 시간에 따라 3개의 크기가 다른 웨어하우스의 청구 총액을 보여줍니다(총액은 크레딧의 1/1000 단위로 올림/내림됨).
실행 중 시간 |
크레딧 . (X-Small) |
크레딧 . (X-Large) |
크레딧 . (5X-Large) |
---|---|---|---|
0~60초 |
0.017 |
0.267 |
4.268 |
61초 |
0.017 |
0.271 |
4.336 |
2분 |
0.033 |
0.533 |
8.532 |
10분 |
0.167 |
2.667 |
42.668 |
1시간 |
1.000 |
16.000 |
256.000 |
참고
멀티 클러스터 웨어하우스 의 경우, 청구되는 크레딧 수는 웨어하우스 크기 및 기간 내에 실행되는 클러스터의 수를 기준으로 계산됩니다.
예를 들어, 3X-Large 멀티 클러스터 웨어하우스가 1시간 동안 클러스터 1개를 실행하고 다음 전체 시간 동안 클러스터 2개를 실행하는 경우에 청구되는 총 크레딧 수는 192(즉, 64 + 128)개입니다.
멀티 클러스터 웨어하우스는 Enterprise Edition 기능입니다.
데이터 로딩에 대한 영향¶
웨어하우스의 크기를 늘린다고 해서 항상 데이터 로딩 성능이 향상되는 것은 아닙니다. 데이터 로딩 성능은 웨어하우스 크기보다 로드되는 파일 수(및 각 파일 크기)에 의해 더 많은 영향을 받습니다.
팁
많은 수의 파일(즉, 수백 또는 수천 개의 파일)을 동시에 대량 로드하는 경우를 제외하고, 일반적으로 소규모 웨어하우스(Small, Medium, Large)로 충분합니다. 더 큰 웨어하우스(X-Large, 2X-Large 등)를 사용하면 더 많은 크레딧이 사용되고 성능이 향상되지 않을 수 있습니다.
데이터 로딩 팁 및 가이드라인은 데이터 로딩 고려 사항 을 참조하십시오.
쿼리 처리에 대한 영향¶
특히 더 크고 복잡한 쿼리의 경우, 웨어하우스의 크기는 웨어하우스에 제출되는 쿼리를 실행하기 위해 필요한 시간에 영향을 줄 수 있습니다. 일반적으로 웨어하우스가 클수록 쿼리를 처리하기 위해 사용할 수 있는 컴퓨팅 리소스가 더 많기 때문에 쿼리 성능은 웨어하우스 크기에 따라 증가합니다.
웨어하우스에서 처리되는 쿼리가 느리게 실행되는 경우 언제든지 웨어하우스 크기를 조정하여 더 많은 컴퓨팅 리소스를 프로비저닝할 수 있습니다. 추가 리소스는 기존에 실행 중인 쿼리에 영향을 주지 않지만 완전히 프로비저닝되면 큐에서 대기하거나 새로 제출되는 쿼리에서 사용할 수 있게 됩니다.
자동 일시 중단 및 자동 재개¶
웨어하우스는 활동에 따라 자동으로 재개 또는 일시 중단되도록 설정할 수 있습니다.
기본적으로 자동 일시 중단은 활성화됩니다. Snowflake는 지정된 시간 동안 웨어하우스가 비활성 상태인 경우 자동으로 웨어하우스를 일시 중단합니다.
기본적으로, 자동 재개는 활성화됩니다. Snowflake는 웨어하우스의 제출 및 웨어하우스가 세션의 현재 웨어하우스인 문이 실행될 때마다 웨어하우스를 자동으로 재개합니다.
이러한 속성을 사용하여 워크로드와 일치하도록 웨어하우스의 모니터링 및 사용을 단순화하고 자동화할 수 있습니다. 자동 일시 중단은 쿼리가 수신되지 않을 때 웨어하우스가 실행 중(및 크레딧 소모) 상태를 유지하지 않도록 합니다. 유사하게, 자동 재개를 사용하면 필요한 순간에 웨어하우스를 다시 시작할 수 있습니다.
참고
자동 일시 중단 및 자동 재개는 전체 웨어하우스에만 적용되며 웨어하우스의 개별 클러스터에는 적용되지 않습니다. 멀티 클러스터 웨어하우스 의 경우:
자동 일시 중단은 최소 개수의 클러스터가 실행되고 지정된 시간 동안 활동이 없는 경우에만 수행됩니다. 일반적으로 최소값은 1(클러스터)이지만, 1보다 클 수 있습니다.
자동 재개는 전체 웨어하우스가 일시 중단(즉, 실행 중인 클러스터 없음)된 경우에만 적용됩니다.
쿼리 처리 및 동시성¶
웨어하우스가 동시에 처리할 수 있는 쿼리의 수는 각 쿼리의 크기와 복잡성에 따라 결정됩니다. 쿼리가 제출되면 웨어하우스는 각 쿼리를 처리하기 위해 필요한 컴퓨팅 리소스를 계산한 후 예약합니다. 쿼리를 처리할 수 있는 잔여 리소스가 웨어하우스에 충분하지 않은 경우, 쿼리는 큐에서 대기하고 실행 중인 다른 쿼리가 완료될 때 사용이 가능해지는 보류 리소스가 됩니다.
Snowflake는 쿼리 처리 및 동시성을 제어를 지원하기 위해 설정할 수 있는 몇 가지 오브젝트 수준 매개 변수를 제공합니다.
참고
큐에 추가된 쿼리의 수가 예상보다 많은 경우, 다른 웨어하우스를 생성하고 쿼리를 새 웨어하우스로 수동으로 리디렉션할 수 있습니다. 또한, 웨어하우스의 크기를 조정하면 쿼리 동시성 및 큐의 확장을 제한할 수 있지만, 웨어하우스 크기 조정은 주로 쿼리 성능을 향상하기 위한 것입니다.
동시성을 위해 완전 자동 크기 조정을 사용하려면 Snowflake는 멀티 클러스터 웨어하우스 를 권장하며, 이 웨어하우스는 기본적으로 수동 개입 없이 추가 웨어하우스를 생성하고 쿼리를 리디렉션할 때와 동일한 이점을 제공합니다.
멀티 클러스터 웨어하우스는 Enterprise Edition 기능입니다.
세션에서 웨어하우스 사용¶
Snowflake에서 세션이 시작되면 세션에는 기본적으로 연결된 웨어하우스가 없습니다. 세션에 웨어하우스가 연결될 때까지 세션 내에서 쿼리를 제출할 수 없습니다.
사용자용 기본 웨어하우스¶
세션이 시작된 직후 편리하게 쿼리를 수행할 수 있도록 Snowflake는 각 개별 사용자를 위한 기본 웨어하우스 지정을 지원합니다. 사용자용 기본 웨어하우스는 사용자가 시작한 모든 세션의 웨어하우스로 사용됩니다.
기본 웨어하우스는 웹 인터페이스를 통해 또는 CREATE USER / ALTER USER 를 사용하여 사용자를 생성하거나 수정할 때 지정할 수 있습니다.
클라이언트 유틸리티/드라이버/커넥터를 위한 기본 웨어하우스¶
사용자용 기본 웨어하우스뿐만 아니라, 모든 Snowflake 클라이언트(SnowSQL, JDBC 드라이버, ODBC 드라이버, Python 커넥터 등)에는 기본 웨어하우스가 있을 수 있습니다.
SnowSQL은 기본 웨어하우스를 지정하기 위한 구성 파일과 명령줄 옵션을 모두 지원합니다.
드라이버 및 커넥터는 세션을 시작할 때 기본 웨어하우스를 연결 매개 변수로 지정하는 것을 지원합니다.
자세한 내용은 Snowflake에 연결하기 섹션을 참조하십시오.
웨어하우스 기본값에 대한 우선 순위¶
사용자가 Snowflake에 연결하여 세션을 시작하면 Snowflake는 다음 순서로 세션의 기본 웨어하우스를 결정합니다.
사용자용 기본 웨어하우스,
» 다음에 의해 재정의됨…
Snowflake에 연결하기 위해 사용되는 클라이언트 유틸리티(SnowSQL, JDBC 드라이버 등)용 구성 파일의 기본 웨어하우스(클라이언트가 구성 파일을 지원하는 경우),
» 다음에 의해 재정의됨…
클라이언트 명령줄 또는 Snowflake에 전달된 드라이버/커넥터 매개 변수를 통해 지정된 기본 웨어하우스.
참고
또한, 세션용 기본 웨어하우스는 세션 내에서 USE WAREHOUSE 명령을 실행하여 언제든지 변경할 수 있습니다.