적응형 컴퓨팅¶
적응형 컴퓨팅은 손쉬운 작업으로 강력한 성능을 제공하는 데 중점을 둔 컴퓨팅 서비스입니다. 고정 컴퓨팅 엔진을 쿼리에 자동으로 적응하는 워크로드 인식 엔진으로 대체합니다. 시스템이 최상의 성능을 위해 리소스를 할당하는 방법을 결정하므로 인프라를 조정할 필요가 없습니다.
적응형 컴퓨팅은 리소스를 자동으로 확장하고 쿼리를 지능적으로 라우팅하여 클러스터 크기 수동 조정, 중단을 유발하는 업그레이드, 직접적인 성능 튜닝과 같이 기존 웨어하우스 관리에서 발생하는 운영 복잡성을 제거합니다. 또한 최신 하드웨어 및 성능 개선 사항이 통합되어 있어 적응형 웨어하우스에서 Gen2와 유사한 비용으로 훨씬 더 많은 쿼리를 실행할 수 있습니다.
적응형 웨어하우스를 통해 적응형 컴퓨팅에 액세스합니다. 적응형 웨어하우스를 사용하면 더 이상 다음을 관리할 필요가 없습니다.
웨어하우스 크기(XSMALL, SMALL, MEDIUM 등).
멀티 클러스터 웨어하우스 설정.
Query Acceleration Service 설정.
의미 체계 일시 중단 및 재개.
Snowflake는 이 모든 작업을 자동으로 처리하므로 팀은 데이터 이면의 인프라를 관리하는 대신 데이터 작업에 집중할 수 있습니다.
계정의 모든 적응형 웨어하우스에 있는 모든 작업은 컴퓨팅 리소스의 공유 풀로 라우팅됩니다. 이 풀은 사용자 계정 전용으로, 조직의 다른 계정과 공유되지 않으며 표준 웨어하우스, 대화형 웨어하우스 또는 Snowpark에 최적화된 웨어하우스와 같은 다른 웨어하우스 유형에서 사용되지 않습니다. 성능 및 비용 특성, 보고, 거버넌스가 유사한 워크로드를 그룹화하기 위해 계정당 여러 적응형 웨어하우스를 계속 사용할 수 있습니다.
적응형 웨어하우스는 쿼리 기반 청구 모델을 사용하며, 여기서 각 쿼리의 비용은 사용하는 컴퓨팅 및 소프트웨어 리소스의 양 등의 요소에 따라 달라집니다. 적응형 웨어하우스에서 실행되는 모든 쿼리는 해당 웨어하우스의 총 비용에 합산되므로 웨어하우스 수준에서 비용을 추론할 수 있습니다. 쿼리 수준 비용 가시성은 공개 미리 보기 중에는 사용할 수 없지만 일반 공급으로 제공될 예정입니다.
다음과 같은 동일한 비용 관리 도구를 사용할 수 있습니다.
다운타임 없이 새로운 적응형 웨어하우스를 생성하거나 기존 표준 웨어하우스를 적응형 웨어하우스로 변환할 수 있습니다. 기존 웨어하우스를 변환하면 기존 차지백과 쇼백 구조 및 워크로드 분리(분석 및 ETL, 팀 기반 웨어하우스 등)를 유지할 수 있습니다. 예를 들어, 재무 팀과 엔지니어링 팀이 서로 다른 적응형 웨어하우스를 사용할 수 있습니다.
제한 사항¶
적응형 웨어하우스에는 Enterprise Edition 이상이 필요합니다.
공개 미리 보기 중에는 US 서부 2(오레곤), EU 서부 1(아일랜드) 및 AP 북동부 1(도쿄) 리전에서 적응형 웨어하우스를 사용할 수 있습니다.
다음 변환도 아직 지원되지 않습니다.
X5Large 또는 X6Large 웨어하우스로의 변환 또는 그 반대로의 변환.
Snowpark에 최적화된 웨어하우스 또는 대화형 웨어하우스로의 변환 또는 그 반대로의 변환.
성능 및 처리량 관리하기¶
적응형 웨어하우스는 성능 및 처리량을 제어하기 위해 다음의 두 가지 기본 속성을 제공합니다.
MAX_QUERY_PERFORMANCE_LEVEL
QUERY_THROUGHPUT_MULTIPLIER
MAX_QUERY_PERFORMANCE_LEVEL¶
MAX_QUERY_PERFORMANCE_LEVEL은 개별 쿼리에 대한 성능의 상한을 나타냅니다. 이는 웨어하우스 수준에서 설정되며 시스템에 쿼리 실행을 “가속” 또는 “감속”하도록 지시하는 메커니즘의 역할을 수행합니다.
속성은 티셔츠 크기 단위(XSMALL~X4LARGE)로 나타냅니다. 각 티셔츠 크기는 그에 상응하는 클래식 웨어하우스 크기와 유사하거나 더 나은 수준의 성능을 제공합니다.
- 타입:
{ XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE }- 기본값:
XLARGE
의미 체계:
값이 클수록 문당 더 많은 컴퓨팅 여유 공간을 제공하여 복잡한 대규모 쿼리의 대기 시간을 개선하고 단일 문에 대한 잠재적인 즉시 지출이 증가합니다.
값이 작을수록 문당 지출이 제한되지만, 대규모 쿼리의 속도가 느려지면서 동시성을 위한 여유 공간이 더 많아질 수 있습니다.
이 값은 특정 기본 컴퓨팅 구성에 매핑되지 않습니다. 성능 수준만 나타냅니다. Snowflake는 각 쿼리에 필요한 실제 리소스를 결정합니다.
동작:
적응형 컴퓨팅은 쿼리 계획을 기반으로 쿼리에 필요한 최적의 컴퓨팅을 결정합니다. 서비스에서 최적의 성능을 위한 컴퓨팅 요구 사항이 MAX_QUERY_PERFORMANCE_LEVEL보다 크다고 판단하는 경우, Snowflake는 MAX_QUERY_PERFORMANCE_LEVEL로 제한합니다. 소규모 쿼리의 경우 Snowflake는 쿼리에 필요한 요구 사항에 상응하는 최적의 성능을 위해 MAX_QUERY_PERFORMANCE_LEVEL 미만의 컴퓨팅을 선택합니다.
지침:
MAX_QUERY_PERFORMANCE_LEVEL을 대규모 쿼리에 대해 부담 없이 사용할 수 있는 최상의 쿼리 성능으로 설정합니다. 예산 및 리소스 모니터 를 사용하여 시간 경과에 따른 총 지출을 관리합니다.
QUERY_THROUGHPUT_MULTIPLIER¶
QUERY_THROUGHPUT_MULTIPLIER는 주어진 시간에 최대 처리량을 계산하는 데 사용되는 승수를 나타냅니다. 절대 최대 처리량을 지정하는 대신 시스템에서 계산된 최소값에 대한 정수 배율을 지정합니다.
MAX_QUERY_PERFORMANCE_LEVEL에서 N 개의 문을 병렬로 실행하려면 승수를 N 으로 설정합니다. 대부분의 쿼리에는 쿼리가 최대값보다 적어야 하는데 MAX_QUERY_PERFORMANCE_LEVEL은 상한을 나타내므로, 이 설정은 일반적으로 N 개 이상의 쿼리가 병렬로 실행되도록 지원합니다.
- 타입:
음수가 아닌 정수
- 기본값:
2
이 값을 0 으로 설정하면 처리량이 무제한입니다. 웨어하우스는 한도 없이 사용 가능한 양의 버스트 용량을 사용할 수 있습니다.
의미 체계:
양수 값으로 설정하면 최대 처리량은 다음과 같이 계산됩니다.
MINIMUM 은 웨어하우스에 설정된 MAX_QUERY_PERFORMANCE_LEVEL에 대해 시스템에서 계산된 기본 용량입니다.
시스템에서 계산된 이 기본 용량에 대한 배율로 작동합니다.
값이 높을수록 최대 처리량(동시 작업 증가)이 증가하고 큐 대기가 감소하지만, 즉시 지출이 증가할 수 있습니다.
값이 낮을수록 버스트 처리량이 제한되고 지출이 갑자기 급증할 위험이 줄어들지만, 큐에서 대기하는 문제가 발생할 수 있습니다.
동작:
Snowflake는 MAX_QUERY_PERFORMANCE_LEVEL, 마이그레이션 기록(클래식 크기, 최대 클러스터 수, QAS 배율) 및 기타 시스템 조정 매개 변수를 기반으로 웨어하우스의 내부 기본 용량 요금을 계산합니다.
QUERY_THROUGHPUT_MULTIPLIER는 이 기본 용량에 곱해져 동시에 실행할 수 있는 총 쿼리 수를 결정합니다. 시스템이 이 목표보다 낮으면 쿼리를 실행할 수 있습니다. 대상에 도달하면 쿼리를 큐에 추가합니다.
지침:
로드 시 큐 대기 시간이 지속적으로 발생하고 처리량을 높이려면 QUERY_THROUGHPUT_MULTIPLIER를 늘립니다. 즉시 지출 한도가 더 우려되는 경우 QUERY_THROUGHPUT_MULTIPLIER를 줄이고 절대 비용 관리를 위해 예산 및 리소스 모니터를 사용합니다.
적응형 웨어하우스 생성¶
Snowsight, SQL 또는 Cortex Code 를 사용하여 적응형 웨어하우스를 생성할 수 있습니다.
Snowsight 를 사용하여 적응형 웨어하우스를 생성하려면 다음을 수행합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Compute » Warehouses 를 선택합니다.
+Warehouse 를 선택합니다.
Type 드롭다운에서 :ui:`Adaptive`를 선택합니다.
선택적으로, Advanced 및 구성을 선택합니다.
Maximum query performance level (기본값: XLarge)
Query throughput multiplier (기본값: 2)
웨어하우스가 생성되어 정상적으로 사용할 수 있습니다.
Snowsight 를 사용하는 대신 CREATE ADAPTIVE WAREHOUSE 명령을 사용하여 적응형 웨어하우스를 생성할 수 있습니다.
해당 명령은 기본값(MAX_QUERY_PERFORMANCE_LEVEL = XLARGE, QUERY_THROUGHPUT_MULTIPLIER = 2)을 사용하여 적응형 웨어하우스를 생성합니다. Snowflake는 튜닝 없이 시작할 수 있도록 보수적이고 안전한 기본값을 사용합니다.
생성 시 속성을 지정할 수도 있습니다.
전체 구문, 추가 예제, 선택적 속성 목록은 SQL 참조 섹션을 참조하세요.
Cortex Code 를 요청하여 자연어를 통해 적응형 웨어하우스를 생성할 수 있습니다. 예:
Cortex Code는 사용자를 대신하여 적절한 SQL 을 생성하고 실행합니다.
표준 웨어하우스를 적응형 웨어하우스로 변환¶
Snowsight, SQL 또는 Cortex Code 를 사용하여 표준 웨어하우스를 적응형 웨어하우스로 변환할 수 있습니다.
참고
웨어하우스를 적응형 웨어하우스로 변환하거나 그 반대로 변환하는 작업은 *온라인 작업*이므로 다운타임이 발생하지 않습니다. 이 변환으로 인해 웨어하우스를 사용할 수 없게 되거나 실행 중인 쿼리가 중단되지는 않습니다.
웨어하우스를 적응형 웨어하우스로 변환하거나 다시 표준 웨어하우스로 변환할 때, 해당 웨어하우스에서 실행된 기존 쿼리는 기존 컴퓨팅 리소스를 사용하여 완료될 때까지 계속 실행됩니다. 동시에, 웨어하우스는 새 웨어하우스 유형의 컴퓨팅 리소스에 대한 모든 새 쿼리를 실행합니다. 기존 쿼리가 실행되는 동안 두 컴퓨팅 리소스 세트에 대한 요금이 부과됩니다. 웨어하우스를 표준 웨어하우스로 다시 변환하는 경우, 쿼리가 새 컴퓨팅 리소스를 사용하는지 여부에 관계없이 이 기간 동안 웨어하우스는 자동으로 일시 중단되지 않습니다. 기존 쿼리가 완료되면 워크로드가 전적으로 새 컴퓨팅 리소스로 이동합니다.
Snowsight 를 사용하여 표준 웨어하우스를 적응형 웨어하우스로 변환하려면 다음을 수행합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Compute » Warehouses » <warehouse_identifier> 를 선택합니다.
더 보기 메뉴 … (점 3개) » Convert to Adaptive 를 선택합니다.
작업을 확인합니다.
표준 웨어하우스를 적응형 웨어하우스로 변환하려면 ALTER WAREHOUSE 명령을 사용하여 WAREHOUSE_TYPE 속성을 ADAPTIVE 로 설정합니다. 예:
적응형 웨어하우스를 다시 표준 웨어하우스로 변환하려면 속성을 STANDARD 로 변경합니다. 예:
Cortex Code 를 요청하여 자연어를 통해 웨어하우스를 변환할 수 있습니다. 예:
Cortex Code는 사용자를 대신하여 적절한 SQL 을 생성하고 실행합니다.
변환 중 속성 동작¶
표준 웨어하우스를 적응형 웨어하우스로 변환할 때, 변경해야 하는 유일한 속성은 WAREHOUSE_TYPE입니다. Snowflake는 MAX_QUERY_PERFORMANCE_LEVEL 및 QUERY_THROUGHPUT_MULTIPLIER에 대한 적절한 값을 자동으로 계산합니다.
시스템은 표준 웨어하우스의 다음과 같은 기존 구성에서 이를 파생합니다.
웨어하우스 크기
MAX_CLUSTER_COUNT(다중 클러스터 웨어하우스의 경우)
QAS 배율.
웨어하우스 생성(하드웨어/소프트웨어 생성).
목표는 원래 표준 웨어하우스와 비교하여 성능을 유지하거나 개선하고, 일반적인 부하 급증에 충분한 버스트 용량을 제공하며, 적응형 웨어하우스로 전환할 때 수동 튜닝이 필요하지 않도록 하는 것입니다.
변환 후 선택적으로 ALTER WAREHOUSE를 사용하여 MAX_QUERY_PERFORMANCE_LEVEL 및 QUERY_THROUGHPUT_MULTIPLIER을 재정의할 수 있습니다. 적응형 웨어하우스로 변환된 후에는 WAREHOUSE_SIZE 및 MAX_CLUSTER_COUNT와 같은 표준 웨어하우스 속성이 더 이상 적용되지 않으며, 표준형 웨어하우스로 다시 변환된 후에는 적응형 웨어하우스 속성이 더 이상 적용되지 않습니다.
청구 및 가격¶
적응형 웨어하우스는 쿼리 기반 청구 모델을 사용합니다. 각 쿼리의 비용은 클러스터 크기 및 Query Acceleration Service(QAS)와 같은 기능에서 사용되는 클러스터 크기 및 추가 용량을 포함하여 사용되는 컴퓨팅 및 소프트웨어 리소스의 양과 같은 요소에 따라 달라집니다. 적응형 웨어하우스 생성에 대한 요금은 청구되지 않으며, 첫 번째 쿼리가 실행될 때부터 요금이 발생합니다.
적응형 웨어하우스에서 실행되는 모든 쿼리는 해당 웨어하우스의 총비용에 합산되므로 기존 차지백 및 쇼백 구조를 계속 사용할 수 있습니다. 적응형 웨어하우스 사용량은 가상 웨어하우스 크레딧을 사용하는 사용 명세서에서 COMPUTE의 일부로 보고됩니다.
주로 다음을 통해 성능과 지출을 제어합니다.
MAX_QUERY_PERFORMANCE_LEVEL: 문당 성능 수준을 제한합니다.
QUERY_THROUGHPUT_MULTIPLIER: 모든 순간의 전체 버스트 용량을 제한합니다.
예산 및 리소스 모니터: 계정 또는 웨어하우스 수준에서 시간 경과에 따른 총 지출을 관리합니다.
일반적인 구성 패턴:
워크로드 유형 |
구성 |
|---|---|
지연 시간에 민감한 중요한 워크로드 |
높은 MAX_QUERY_PERFORMANCE_LEVEL(XLARGE 이상). 높은 QUERY_THROUGHPUT_MULTIPLIER. 계획 내에서 총 지출을 유지하기 위한 리소스 모니터 또는 예산. |
비용에 민감하고 처리량이 많은 워크로드 |
중간 MAX_QUERY_PERFORMANCE_LEVEL(MEDIUM 또는 LARGE). 지출 급증에 대한 처리량의 균형을 유지하는 중간 QUERY_THROUGHPUT_MULTIPLIER. |
엄격하게 예산이 책정된 워크로드 |
낮은 MAX_QUERY_PERFORMANCE_LEVEL 낮은 QUERY_THROUGHPUT_MULTIPLIER 엄격한 예산 및 리소스 모니터. |
ACCOUNT_USAGE 뷰를 사용하여 특정 적응형 웨어하우스의 크레딧 사용량에 대한 세분화된 데이터를 검색할 수 있습니다. WAREHOUSE_METERING_HISTORY 뷰 를 사용하여 웨어하우스의 크레딧 사용량을 확인합니다. 관련 뷰의 전체 목록은 Account Usage 뷰 섹션을 참조하세요.
컴퓨팅 비용에 대한 자세한 내용은 컴퓨팅 비용 이해하기 섹션을 참조하세요.
SQL 참조¶
CREATE ADAPTIVE WAREHOUSE¶
새로운 적응형 가상 웨어하우스를 생성합니다.
WAREHOUSE_TYPE = 'ADAPTIVE' 와 함께 표준 CREATE WAREHOUSE 구문을 사용하여 적응형 웨어하우스를 생성할 수도 있습니다.
참고
WAREHOUSE_SIZE, MIN_CLUSTER_COUNT, MAX_CLUSTER_COUNT 및 SCALING_POLICY와 같은 표준 웨어하우스 속성은 적응형 웨어하우스에 설정할 수 없습니다. 마찬가지로, MAX_QUERY_PERFORMANCE_LEVEL 및 QUERY_THROUGHPUT_MULTIPLIER와 같은 적응형 웨어하우스 속성은 표준 웨어하우스에 설정할 수 없습니다.
필수 매개 변수¶
name적응형 가상 웨어하우스의 식별자입니다. 계정에 고유한 식별자여야 합니다. 알파벳 문자로 시작해야 하며 큰따옴표로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 자세한 내용은 오브젝트 식별자 섹션을 참조하십시오.
선택적 속성¶
MAX_QUERY_PERFORMANCE_LEVEL = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE }단일 문에 대한 성능 수준의 상한으로, 티셔츠 크기로 나타냅니다. 기본값:
XLARGE.Snowflake는 문 특성에 따라 이 경계까지의 성능 수준을 선택합니다. 지출을 줄이기 위해 더 작은 문은 더 낮은 성능 수준에서 실행될 수 있습니다. 가장 큰 쿼리에 적합한 값을 선택합니다.
자세한 내용은 성능 및 처리량 관리하기 섹션을 참조하십시오.
QUERY_THROUGHPUT_MULTIPLIER = <integer>주어진 시간에서 최대 처리량을 계산하는 데 사용되는 승수로, 시스템에서 계산된 최소값에 대한 음수가 아닌 정수 배율로 나타냅니다. 값이 높을수록 최대 처리량(동시 작업 증가)이 증가하고 큐 대기가 감소하지만, 즉시 지출이 증가할 수 있습니다. 값이 낮을수록 버스트 처리량이 제한되고 지출이 갑자기 급증할 위험이 줄어들지만, 큐에서 대기하는 문제가 발생할 수 있습니다.
0값은 무제한 처리량을 의미합니다.기본값:
2.자세한 내용은 성능 및 처리량 관리하기 섹션을 참조하십시오.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>Snowflake가 취소하기 전에 SQL 문이 웨어하우스에서 큐에 남아 있을 수 있는 최대 시간(초)입니다. 자세한 내용은 매개 변수 섹션을 참조하십시오.
STATEMENT_TIMEOUT_IN_SECONDS = <num>Snowflake에서 취소하기 전에 SQL 문이 실행될 수 있는 실행 중인 최대 시간(초)입니다. 자세한 내용은 매개 변수 섹션을 참조하십시오.
예¶
기본값을 사용하여 적응형 웨어하우스 생성:
특정 성능 수준으로 생성:
두 속성을 모두 사용하여 생성:
표준을 CREATE WAREHOUSE 구문을 사용하여 생성:
ALTER WAREHOUSE(적응형)¶
ALTER WAREHOUSE 를 사용하여 표준 웨어하우스를 적응형 웨어하우스로 변환하거나, 적응형 웨어하우스 속성을 수정하거나, 적응형 웨어하우스를 다시 표준 웨어하우스로 변환할 수 있습니다.
표준 웨어하우스를 적응형 웨어하우스로 변환:
적응형 웨어하우스 생성 또는 변환 후 속성 수정:
적응형 웨어하우스를 다시 표준 웨어하우스로 변환:
SHOW WAREHOUSES¶
적응형 웨어하우스 기능은 SHOW WAREHOUSES 명령에 새 열을 도입합니다. 적응형 웨어하우스에 적용되지 않는 속성은 NULL 로 표시됩니다.
적응형 웨어하우스와 관련된 열에는 다음이 포함됩니다.
열 이름 |
설명 |
|---|---|
STATE |
다음 중 하나:
|
MAX_QUERY_PERFORMANCE_LEVEL |
티셔츠 크기로 나타냅니다. 문당 성능 수준의 상한입니다. |
QUERY_THROUGHPUT_MULTIPLIER |
웨어하우스가 임의의 순간에 사용할 수 있는 버스트 용량을 제어하는 정수 배율입니다. |
DISABLED_REASONS |
적응형 웨어하우스가 비활성화된 하나 이상의 이유입니다. |
Account Usage 뷰¶
적응형 웨어하우스에 다음 ACCOUNT_USAGE 뷰를 사용할 수 있습니다.
참고
적응형 웨어하우스의 경우, QAS 사용량은 컴퓨팅 크레딧에 포함되며 별도의 크레딧 열로 표시되지 않습니다. WAREHOUSE_LOAD_HISTORY 뷰 를 사용하여 큐 대기 동작을 모니터링하고 MAX_QUERY_PERFORMANCE_LEVEL 또는 QUERY_THROUGHPUT_MULTIPLIER를 조정할지 여부를 파악합니다.
다음 샘플 쿼리는 지정된 조회 기간 내에 ADAPTIVE 상태에서 하나 이상의 쿼리를 실행한 모든 웨어하우스에 대한 웨어하우스 수준 성능 데이터의 시계열을 생성합니다.
표준 웨어하우스를 적응형 웨어하우스로 대량 마이그레이션¶
많은 표준 웨어하우스를 적응형 웨어하우스로 동시에 마이그레이션하려면 SYSTEM$BULK_UPDATE_WH 함수를 사용합니다.
매개 변수 |
설명 |
허용되는 값 |
|---|---|---|
property_name |
업데이트할 웨어하우스 속성입니다. |
|
new_value |
속성의 새 값입니다. |
|
property_filter |
웨어하우스 속성(예: 이름 패턴, 크기)에 대한 JSON 필터입니다. 모든 필터와 일치하는 웨어하우스가 업데이트 대상으로 고려됩니다. |
|
tag_filter |
태그에 대한 JSON 필터입니다. 웨어하우스가 지정된 모든 태그와 일치해야 선택할 수 있습니다. |
|
execution_mode |
작업 모드: 업데이트 또는 테스트 실행을 수행합니다. |
|
권장 사용법:
먼저, 테스트 실행을 수행하고 결과를 검토합니다.
출력을 검토하고 필요한 경우 필터를 조정합니다.
테스트 실행을 확인한 후 활성 모드를 사용하여 함수를 다시 호출합니다.
마이그레이션 범위를 반복하거나 넓히기 전에 결과와 오류를 주의 깊게 검토합니다.