성능을 위한 웨어하우스 최적화하기

Snowflake 아키텍처에서 가상 웨어하우스는 쿼리 실행에 필요한 컴퓨팅 성능을 제공합니다. 웨어하우스에서 제공하는 컴퓨팅 리소스를 미세 조정하면 쿼리 또는 쿼리 세트의 성능이 향상될 수 있습니다.

웨어하우스 소유자 또는 관리자는 하나 이상의 쿼리 성능을 개선하려고 시도할 때 다음 웨어하우스 관련 전략을 시도할 수 있습니다. 웨어하우스 소유자 또는 관리자가 이러한 전략 중 하나를 기반으로 웨어하우스를 조정할 때 쿼리를 다시 실행하고 실행 시간을 확인 하여 변경 사항을 테스트할 수 있습니다.

웨어하우스 관련 전략은 쿼리 성능을 향상하는 한 가지 방법일 뿐입니다. 데이터 저장 방법과 관련된 성능 전략은 성능에 맞춰 저장소 최적화하기 섹션을 참조하십시오.

전략

설명

큐 줄이기

쿼리가 시작하기 전에 큐에서 대기해야 할 때는 쿼리 제출과 쿼리 결과 가져오기 사이의 시간이 더 길어지므로 큐 대기를 최소화하면 성능이 향상될 수 있습니다.

메모리 유출 해결하기

웨어하우스의 메모리가 부족할 때 쿼리 실행 속도가 상당히 느려져 바이트가 저장소로 “유출”되므로 웨어하우스의 사용 가능한 메모리를 조정하면 성능이 향상될 수 있습니다.

웨어하우스 크기 늘리기

웨어하우스가 클수록 쿼리 또는 쿼리 세트를 실행하는 데 사용할 수 있는 컴퓨팅 리소스가 더 많아집니다.

쿼리 가속 시도하기

Query Acceleration Service는 쿼리 처리 중 일부를 서버리스 컴퓨팅 리소스로 오프로드하여 웨어하우스의 컴퓨팅 리소스에 대한 수요를 줄이면서 쿼리 처리 속도를 높여 줍니다.

웨어하우스 캐시 최적화하기

쿼리가 테이블 대신 웨어하우스의 캐시에서 읽을 수 있으면 쿼리 성능이 향상됩니다.

동시 실행 쿼리 제한하기

웨어하우스에서 동시에 실행 중인 쿼리의 수를 제한하면 웨어하우스의 리소스를 요구하는 쿼리 수가 적어지므로 성능이 향상될 수 있습니다.

웨어하우스가 유사한 워크로드를 실행할 때는 더 간단하게 쿼리 성능을 위해 웨어하우스를 최적화할 수 있습니다. 예를 들어 웨어하우스가 상당히 다른 쿼리를 실행할 경우 최적화의 이점이 없는 쿼리에 성능 향상 비용이 낭비될 수 있습니다.

조직의 웨어하우스에 워크로드를 분산하는 방법에 대한 일반적인 지침은 Snowflake의 컴퓨팅 리소스 관리하기 (Snowflake 블로그)의 워크로드 분석하기 섹션을 참조하십시오.