멀티 클러스터 웨어하우스¶
멀티 클러스터 웨어하우스를 사용하면 컴퓨팅 리소스를 확장하여 피크 시간 및 사용 안 함 시간과 같이 변경될 때 사용자 및 쿼리 동시성 요구 사항을 관리할 수 있습니다.
이 항목의 내용:
멀티 클러스터 웨어하우스란 무엇입니까?¶
기본적으로, 가상 웨어하우스는 쿼리를 실행하기 위해 웨어하우스에서 사용할 수 있는 컴퓨팅 리소스의 단일 클러스터로 구성됩니다. 쿼리가 웨어하우스에 제출되면 웨어하우스는 각 쿼리에 리소스를 할당한 후 쿼리를 실행하기 시작합니다. 웨어하우스에 제출된 모든 쿼리를 실행할 수 있는 리소스가 충분하지 않은 경우 Snowflake는 필요한 리소스를 사용할 수 있을 때까지 추가 쿼리를 큐에 추가합니다.
멀티 클러스터 웨어하우스를 통해 Snowflake에서는 더 큰 컴퓨팅 리소스 풀을 사용할 수 있도록 추가 클러스터를 정적 또는 동적으로 할당할 수 있습니다. 멀티 클러스터 웨어하우스는 다음 속성을 지정하여 정의됩니다.
최대 클러스터 수, 1개 초과(최대 10개).
최대 클러스터 수, 최대값(최대 10개) 이하.
또한, 멀티 클러스터 웨어하우스는 다음을 포함하여 단일 클러스터 웨어하우스와 동일한 모든 속성 및 작업을 지원합니다.
웨어하우스 크기 지정.
언제라도 웨어하우스 크기 조정.
비활성으로 인해 실행 중인 웨어하우스를 자동으로 일시 중단합니다. 이는 개별 클러스터에 적용되는 것이 아니라 전체 멀티 클러스터 웨어하우스에 적용된다는 점에 유의하십시오.
새 쿼리가 제출될 때 일시 중단된 웨어하우스를 자동으로 다시 시작.
최대 vs 자동 크기 조정¶
멀티 클러스터 웨어하우스는 다음 모드 중 하나로 실행하도록 선택할 수 있습니다.
- 최대:
이 모드에서는 최대 및 최소 클러스터 수에 동일한 값을 지정(지정된 값은 1보다 커야 함)하여 활성화됩니다. 이 모드에서 웨어하우스가 시작되면 Snowflake는 웨어하우스가 실행되는 동안 최대 리소스를 사용할 수 있도록 모든 클러스터를 시작합니다.
이 모드는 사용 가능한 컴퓨팅 리소스를 정적으로 제어하는 데 효과적이며, 특히 동시 사용자 세션 및/또는 쿼리가 많고 개수가 크게 변동하지 않는 경우에 효과적입니다.
- 자동 크기 조정:
이 모드는 최대 및 최소 클러스터 수에 다른 값을 지정하여 활성화됩니다. 이 모드에서 Snowflake는 필요에 따라 클러스터를 시작 및 중지하여 웨어하우스의 로드를 동적으로 관리합니다.
웨어하우스에 대한 동시 사용자 세션 및/또는 쿼리 수가 증가하고 리소스 부족으로 인해 쿼리가 큐에서 대기하기 시작하면 Snowflake는 웨어하우스에 대해 정의된 최대 수까지 추가 클러스터를 자동으로 시작합니다.
마찬가지로, 웨어하우스의 로드가 감소하면 Snowflake는 클러스터를 자동으로 종료하여 실행 중인 클러스터 수와 그에 따라 웨어하우스에서 사용하는 크레딧 수를 줄입니다.
자동 크기 조정 모드에서 크레딧 사용을 제어할 수 있도록 Snowflake는 추가 클러스터를 자동으로 시작하거나 종료할 때 사용할 크기 조정 정책을 결정하는 SCALING_POLICY 속성을 제공합니다. 자세한 내용은 이 항목의 멀티 클러스터 웨어하우스에 대한 크기 조정 정책 설정하기 섹션을 참조하십시오.
팁
다중 클러스터 웨어하우스를 생성하려면 이 항목의 멀티 클라우드 웨어하우스 만들기 섹션을 참조하십시오.
다음 사항을 참고하십시오.
다중 클러스터 웨어하우스의 경우 Maximum Clusters 필드(웹 인터페이스) 또는 MAX_CLUSTER_COUNT 속성(SQL)의 최대 클러스터 수는 1보다 커야 합니다.
단일 클러스터 웨어하우스의 경우 클러스터의 최대 개수와 최소 개수는 모두 1과 같아야 합니다.
자동 크기 조정 모드의 경우 최대 클러스터 수가 최소 클러스터 수보다 커야 합니다.
최대화 모드의 경우 최대 클러스터 수가 최소 클러스터 수와 같아야 합니다.
멀티 클러스터 웨어하우스에 사용할 최대 및 최소 클러스터 수를 결정하는 경우에는 자동 크기 조정 모드에서 소규모 크기(예: 최대 = 2 또는 3, 최소 = 1)로 시작하십시오. 시간에 따른 웨어하우스 로드의 변동을 추적하면서 사용자/쿼리 동시성의 상한 및 하한을 가장 잘 지원하는 수를 결정할 때까지 클러스터의 최대 및 최소 수를 늘릴 수 있습니다.
멀티 클러스터 크기 및 크레딧 사용¶
각 클러스터의 컴퓨팅 리소스 양은 웨어하우스 크기로 결정됩니다.
멀티 클러스터 웨어하우스의 총 클러스터 수는 웨어하우스 크기 x 최대 클러스터 수로 계산됩니다. 이는 전체 사용 시간당(즉, 모든 클러스터가 해당 시간 동안 실행되는 경우) 웨어하우스에서 소비한 최대 크레딧 수도 나타냅니다.
예를 들어, 3개의 클러스터가 있는 Medium 크기의 멀티 클러스터 웨어하우스의 경우 시간당 소비되는 최대 크레딧 수는 12크레딧입니다.
멀티 클러스터 웨어하우스의 크기가 조정되면, 새로운 크기는 현재 실행 중인 클러스터 및 멀티 클러스터 웨어하우스의 크기가 조정된 후에 시작되는 모든 클러스터 등 웨어하우스의 모든 클러스터에 적용됩니다.
시간당 소비되는 실제 크레딧 수는 웨어하우스가 실행 중인 각 시간 중에 실행 중인 클러스터의 수에 따라 다릅니다. 자세한 내용은 이 항목의 멀티 클러스터 크레딧 사용의 예 섹션을 참조하십시오.
멀티 클라우드 웨어하우스의 이점¶
표준 단일 클러스터 웨어하우스에서 사용자/쿼리 로드가 증가하여 더 많은 컴퓨팅 리소스가 필요한 경우:
웨어하우스의 크기를 늘리거나 추가 웨어하우스를 시작하고 추가 사용자/쿼리를 해당 웨어하우스로 명시적으로 리디렉션해야 합니다.
이후에 리소스가 더 이상 필요하지 않게 되면 더 큰 크기의 웨어하우스를 수동으로 줄이거나 추가 웨어하우스를 일시 중단해 크레딧을 절약해야 합니다.
대조적으로, 멀티 클러스터 웨어하우스를 사용하면 더 많은 수의 사용자가 동일한 크기의 웨어하우스에 연결할 수 있습니다. 또한,
자동 크기 조정 모드의 멀티 클러스터 웨어하우스는 변동하는 워크로드를 처리하기 위해 웨어하우스의 크기를 조정하거나 추가 웨어하우스를 시작 및 중지할 필요가 없습니다. Snowflake가 필요에 따라 추가 클러스터를 자동으로 시작 및 중지합니다.
최대 모드에서는 필요에 따라 클러스터 수를 늘리거나 줄여 멀티 클러스터 웨어하우스의 용량을 제어할 수 있습니다.
팁
멀티 클러스터 웨어하우스는 사용자/쿼리의 동시성을 향상하기 위해 리소스를 확장하기 위한 용도로 가장 적합합니다. 느리게 실행되는 쿼리 또는 데이터 로딩의 성능을 향상하기 위한 목적으로는 크게 유용하지 않습니다. 이러한 타입의 작업에서는 크기 조정 웨어하우스가 더 많은 이점을 제공합니다.
멀티 클러스터 크레딧 사용의 예¶
다음의 4가지 예에서는 멀티 클러스터 웨어하우스의 크레딧 사용을 보여줍니다. 웨어하우스 크기에 따라 1시간당 청구되는 크레딧 수는 가상 웨어하우스 크레딧 사용 을 참조하십시오.
참고
단순한 설명을 위해, 모든 예에서는 1시간, 30분 및 15분 단위로 크레딧 사용량을 설명합니다. 초당 청구가 수행되는 실제 상황에서는 각 클러스터가 실행되는 시간(초)에 따른 부분 금액이 실제 크레딧 사용에 포함됩니다.
예: 최대(2시간)¶
이 예에서는 3개의 클러스터가 있는 Medium 크기의 웨어하우스가 최대 모드에서 2시간 동안 실행됩니다.
클러스터 1 |
클러스터 2 |
클러스터 3 |
총 크레딧 |
|
첫 번째 시간 |
4 |
4 |
4 |
12 |
두 번째 시간 |
4 |
4 |
4 |
12 |
총 크레딧 |
8 |
8 |
8 |
24 |
예 2: 자동 크기 조정(2시간)¶
이 예에서는 3개의 클러스터가 있는 Medium 크기의 웨어하우스가 자동 크기 조정 모드에서 2시간 동안 실행됩니다.
클러스터 1은 연속해서 실행됩니다.
클러스터 2는 두 번째 시간에만 실행됩니다.
클러스터 3은 두 번째 시간 중 30분 동안 실행됩니다.
클러스터 1 |
클러스터 2 |
클러스터 3 |
총 크레딧 |
|
첫 번째 시간 |
4 |
0 |
0 |
4 |
두 번째 시간 |
4 |
4 |
2 |
10 |
총 크레딧 |
8 |
4 |
2 |
14 |
예 3: 자동 크기 조정(3시간)¶
이 예에서는 3개의 클러스터가 있는 Medium 크기의 웨어하우스가 자동 크기 조정 모드에서 3시간 동안 실행됩니다.
클러스터 1은 연속해서 실행됩니다.
클러스터 2는 두 번째 시간의 전체 시간 및 세 번째 시간의 30분 동안 연속해서 실행됩니다.
클러스터 3은 세 번째 시간 중 30분 동안 실행됩니다.
클러스터 1 |
클러스터 2 |
클러스터 3 |
총 크레딧 |
|
첫 번째 시간 |
4 |
0 |
0 |
4 |
두 번째 시간 |
4 |
4 |
0 |
8 |
세 번째 시간 |
4 |
2 |
2 |
8 |
총 크레딧 |
12 |
6 |
2 |
20 |
예 4: 크기 조정 포함 자동 크기 조정(3시간)¶
이 예에서는 예 3에서와 동일한 웨어하우스가 Medium에서 Large로 크기를 조정하여 3시간 동안 자동 크기 조정 모드에서 실행됩니다.
클러스터 1은 연속해서 실행됩니다.
클러스터 2는 두 번째 및 세 번째 시간 동안 연속해서 실행됩니다.
웨어하우스는 1:30에 Medium에서 Large로 크기가 변경됩니다.
클러스터 3은 세 번째 시간 중 15분 동안 실행됩니다.
클러스터 1 |
클러스터 2 |
클러스터 3 |
총 크레딧 |
|
첫 번째 시간 |
4 |
0 |
0 |
4 |
두 번째 시간 |
4+2 |
4+2 |
0 |
12 |
세 번째 시간 |
8 |
8 |
2 |
18 |
총 크레딧 |
18 |
14 |
2 |
34 |
멀티 클라우드 웨어하우스 만들기¶
멀티 클러스터 웨어하우스는 웹 인터페이스를 통해 또는 SQL을 사용하여 생성할 수 있습니다.
- 웹 인터페이스:
Maximum Clusters 필드에서 1보다 큰 값을 선택합니다.
Minimum Clusters 필드에서 선택적으로 1보다 큰 값을 선택합니다.
필요한 경우 웨어하우스에 대한 기타 정보를 입력한 후 Finish 를 클릭합니다.
- SQL:
다음을 사용하여 CREATE WAREHOUSE 명령을 실행합니다.
1
보다 큰 값으로 설정된MAX_CLUSTER_COUNT
.
1
보다 큰 값으로 (선택적으로) 설정된MIN_CLUSTER_COUNT
.
생성된 멀티 클러스터 웨어하우스에 대한 정보를 확인하려면:
- Classic Console:
Clusters 열에는 각 웨어하우스에 대한 최소 및 최대 클러스터 및 웨어하우스가 시작된 경우 현재 실행 중인 클러스터 수가 표시됩니다.
- SQL:
SHOW WAREHOUSES 명령을 실행합니다.
출력에는 웹 인터페이스의 Clusters 열에 제공된 동일한 정보를 표시하는 열 3개(
min_cluster_count
,max_cluster_count
,started_clusters_column
)가 포함됩니다.
멀티 클러스터 웨어하우스에 대한 다른 모든 작업(이 항목에서 설명이 제공되는 나머지 작업 제외)은 단일 클러스터 웨어하우스 작업 과 동일합니다.
멀티 클러스터 웨어하우스에 대한 크기 조정 정책 설정하기¶
자동 크기 조정 모드에서 실행되는 멀티 클러스터 웨어하우스에서 소비하는 크레딧을 관리할 수 있도록 Snowflake는 클러스터를 시작하거나 종료할 시점을 결정하기 위해 사용할 수 있는 조정 정책을 제공합니다.
멀티 클러스터 웨어하우스에 대한 크기 조정 정책은 자동 크기 조정 모드에서 실행 중인 경우에만 적용됩니다. 최대 모드에서는 모든 클러스터가 동시에 실행되므로 개별 클러스터를 시작하거나 종료할 필요가 없습니다.
Snowflake가 지원하는 크기 조정 정책은 다음과 같습니다.
정책 |
설명 |
웨어하우스 시작… |
웨어하우스 종료… |
---|---|---|---|
표준(기본값) |
크레딧을 절약하는 것보다 추가 클러스터를 시작하는 것이 우선 적용되어 큐에 추가되는 것이 방지/최소화됩니다. |
쿼리가 큐에 추가되거나 또는 현재 실행 중인 클러스터가 실행할 수 있는 용량을 초과하여 쿼리 1개가 추가되었음을 시스템이 감지하면 첫 번째 클러스터가 즉시 시작됩니다. 각 연속 클러스터는 이전 웨어하우스가 시작된 후 20초 후에 시작될 때까지 대기합니다. 예를 들어, 웨어하우스가 최대 10개의 클러스터로 구성된 경우 10개의 클러스터를 모두 시작하기 위해서는 200초 이상이 걸릴 수 있습니다. |
2~3회 검사에서 연속해서 성공한 후(1분 간격으로 수행), 클러스터를 새로 시작하지 않고 가장 적게 로드된 클러스터의 로드를 다른 클러스터로 재분배할 수 있는지 여부를 결정합니다. |
이코노미 |
추가 클러스터를 시작하는 것보다 실행 중인 클러스터를 완전히 로드된 상태로 유지하는 것이 우선 적용되어 크레딧이 절약되며, 이로 인해 쿼리가 큐에 추가되어 완료하는 데 시간이 더 오래 걸릴 수 있습니다. |
6분 이상 동안 클러스터의 사용이 유지될 충분한 쿼리 로드가 있다고 시스템이 예측하는 경우에만. |
5~6회 검사에서 연속해서 성공한 후(1분 간격으로 수행), 클러스터를 새로 시작하지 않고 가장 적게 로드된 클러스터의 로드를 다른 클러스터로 재분배할 수 있는지 여부를 결정합니다. |
참고
세 번째 크기 조정 정책인 Legacy는 이전 버전과의 호환성을 위해 제공됩니다. 다른 정책과 달리 이 정책에서는 웨어하우스가 활성/비활성 상태인 시간을 기반으로 하는 정적 접근 방식이 사용됩니다.
Legacy는 더 이상 사용되지 않거나 제거되었습니다. 기존에 Legacy 정책을 사용한 모든 웨어하우스는 이제 기본 표준 정책을 사용합니다.
멀티 클러스터 웨어하우스에 대한 크기 조정 정책은 웹 인터페이스를 통해 또는 SQL을 사용하여 생성될 때 또는 이후에 언제든지 설정할 수 있습니다.
- Classic Console:
다음을 클릭:
Scaling Policy 필드의 드롭다운에서 원하는 값을 선택합니다.
- SQL:
SCALING_POLICY
을 원하는 값을 설정하여 CREATE WAREHOUSE 또는 ALTER WAREHOUSE 명령을 실행합니다.
예를 들어, SQL에서:
ALTER WAREHOUSE mywh SET SCALING_POLICY = 'ECONOMY';
멀티 클러스터 웨어하우스에 대한 클러스터 늘리기 또는 줄이기¶
웨어하우스가 문을 실행하는 도중에도 언제든지 웨어하우스의 클러스터 수를 늘리거나 줄일 수 있습니다. 웨어하우스를 위한 클러스터는 웹 인터페이스를 통해 또는 SQL을 사용하여 늘리거나 줄일 수 있습니다.
- Classic Console:
- SQL:
ALTER WAREHOUSE 명령을 실행합니다.
실행 중인 웨어하우스의 최대 및 최소 클러스터 변경 효과는 최대 모드 또는 자동 크기 조정 모드에서 실행 중인지 여부에 따라 다릅니다.
최대:
- ↑ 최대 & 최소:
지정된 개수의 클러스터가 즉시 시작됩니다.
- ↓ 최대 & 최소:
문의 실행이 완료되고 자동 일시 중지 기간이 경과하면 지정된 개수의 클러스터가 종료됩니다.
자동 크기 조정:
- ↑ 최대:
new_max_clusters > running_clusters
인 경우, 추가 클러스터가 필요할 때까지 비용이 발생하지 않습니다.- ↓ 최대:
new_max_clusters < running_clusters
일 경우, 문의 실행이 종료되고 크기 조정 정책 조건이 충족되면 초과 클러스터가 종료됩니다.- ↑ 최소:
new_min_clusters > running_clusters
일 경우, 추가 클러스터가 즉시 시작되어 최소 조건을 충족합니다.- ↓ 최소:
new_min_clusters < running_clusters
일 경우, 문의 실행이 종료되고 크기 조정 정책 조건이 충족되면 초과 클러스터가 종료됩니다.
멀티 클라우드 웨어하우스 모니터링하기¶
멀티 클러스터 웨어하우스의 사용은 웹 인터페이스를 통해 모니터링할 수 있습니다.