728x90
Snowflake 멀티 클러스터 웨어하우스란?
멀티 클러스터 웨어하우스는 가상 웨어하우스에서 여러 클러스터를 추가하여 컴퓨팅 리소스를 확장하고 사용자 동시성 요구를 효율적으로 처리할 수 있도록 합니다. 단일 클러스터 웨어하우스와 동일한 속성을 가지면서도 클러스터를 추가로 할당하여 리소스를 동적으로 관리할 수 있습니다.
1. 멀티 클러스터 웨어하우스의 주요 기능
- 최대 클러스터 수 설정: 최대 10개까지 설정 가능.
- 자동 크기 조정: 클러스터 수를 동적으로 관리하여 워크로드에 따라 자동으로 클러스터를 시작/종료.
- 정적 제어 모드(최대): 고정된 클러스터 수를 설정해 리소스를 정적으로 관리.
2. 크기 조정 정책
멀티 클러스터 웨어하우스는 자동 크기 조정 모드에서 두 가지 크기 조정 정책을 제공합니다
- Standard(기본값): 쿼리의 대기 시간을 최소화하며, 추가 클러스터를 빠르게 시작합니다.
- Economy: 크레딧 절약을 우선시하며, 쿼리 처리 시간이 다소 길어질 수 있습니다.
3. 멀티 클러스터 크레딧 사용 예시
멀티 클러스터 웨어하우스의 크레딧 사용은 각 클러스터가 얼마나 오랫동안 실행되었는지에 따라 달라집니다. 아래는 몇 가지 예시입니다:
- 최대 모드 (2시간): 3개의 클러스터가 모두 2시간 동안 실행될 경우 총 24크레딧이 사용됩니다.
- 자동 크기 조정 모드 (2시간): 클러스터가 필요할 때만 추가로 실행되어 총 14크레딧이 사용됩니다.
4. 멀티 클러스터 웨어하우스의 장점
- 자동 크기 조정: 동적으로 클러스터를 늘리고 줄이며, 리소스를 유연하게 관리 할 수 있습니다.
- 비용 절감: 필요하지 않은 클러스터를 종료하여 크레딧을 절약할 수 있습니다.
- 동시성 관리: 더 많은 사용자가 같은 웨어하우스를 이용할 수 있게 하여 사용자 동시성을 향상시킬 수 있습니다.
5. 멀티 클러스터 웨어하우스 설정 방법
- 웹 인터페이스: Warehouses 탭에서 Create 클릭 후, 최대/최소 클러스터 수 설정합니다.
- SQL 명령: CREATE WAREHOUSE 또는 ALTER WAREHOUSE 명령을 사용하여 설정 가능합니다.
6. 실습하기
USE ROLE SYSADMIN; #SYSADMIN 역할을 사용
CREATE OR REPLACE WAREHOUSE MULTI_CLUSTER_WAREHOUSE # 멀티 클러스터 웨어하우스 생성
WAREHOUSE_SIZE = 'SMALL' # WAREHOUSE_SIZE: 웨어하우스 크기(SMALL)
WAREHOUSE_TYPE = 'STANDARD' # WAREHOUSE_TYPE: 웨어하우스 유형(STANDARD)
AUTO_SUSPEND = 600 # AUTO_SUSPEND: 600초 동안 비활성 시 자동 일시 중지
AUTO_RESUME = TRUE # AUTO_RESUME: 쿼리가 제출되면 자동 재개
MIN_CLUSTER_COUNT = 1 # MIN_CLUSTER_COUNT: 최소 클러스터 수 1
MAX_CLUSTER_COUNT = 5 # MAX_CLUSTER_COUNT: 최대 클러스터 수 5
SCALING_POLICY = 'STANDARD'; # SCALING_POLICY: 크기 조정 정책은 STANDARD
USE ROLE ACCOUNTADMIN; # ACCOUNTADMIN 역할로 전환
CREATE OR REPLACE USER USER1 # USER1 사용자 생성
password='password' # PASSWORD: 비밀번호 설정 ('password')
default_role = SYSADMIN # DEFAULT_ROLE: 기본 역할은 SYSADMIN
DEFAULT_WAREHOUSE=MULTI_CLUSTER_WAREHOUSE; # DEFAULT_WAREHOUSE: 기본 웨어하우스는 MULTI_CLUSTER_WAREHOUSE
GRANT ROLE SYSADMIN TO USER USER1; # USER1 사용자에게 SYSADMIN 역할 부여
CREATE OR REPLACE USER USER2 # USER1 사용자 생성과 동일
password='password'
default_role = SYSADMIN
DEFAULT_WAREHOUSE=MULTI_CLUSTER_WAREHOUSE;
GRANT ROLE SYSADMIN TO USER USER2;
DROP USER USER1; # USER1 사용자 삭제
DROP USER USER2; # USER2 사용자 삭제
DROP WAREHOUSE MULTI_CLUSTER_WAREHOUSE; # MULTI_CLUSTER_WAREHOUSE 삭제
7. 결론
Snowflake의 멀티 클러스터 웨어하우스는 대규모 동시성을 지원하면서도 리소스를 효율적으로 관리할 수 있는 강력한 기능을 제공합니다. 자동 크기 조정 및 정적 모드를 통해 다양한 사용 사례에 적합한 설정이 가능하며, 비용 관리 또한 뛰어납니다.
Reference
https://docs.snowflake.com/ko/user-guide/warehouses-multicluster
728x90
'Snowflake' 카테고리의 다른 글
[Snowflake] Snowflake 클러스터링 키 및 클러스터링 된 테이블이란? (2) | 2024.10.12 |
---|---|
[Snowflake] Snowflake 마이크로 파티션 및 데이터 클러스터링이란? (2) | 2024.10.12 |
[Snowflake] Snowflake에서 Virtual Warehouse 관리 실습하기 (0) | 2024.10.10 |
[Snowflake] Snowflake에서 Masking & Row Access Policy 관리 실습하기 (2) | 2024.10.09 |
[Snowflake] Snowflake에서 RBAC 및 DAC 권한 부여 실습하기 (0) | 2024.10.06 |