이번 포스팅에서는 Snowflake의 Virtual Warehouse를 생성하고 관리하는 방법에 대해 알아보겠습니다. Virtual Warehouse는 Snowflake에서 데이터를 처리하는 컴퓨팅 자원으로, 워크로드에 맞게 유연하게 관리할 수 있습니다. 이번 실습에서는 Virtual Warehouse를 생성하고, 크기 및 상태 관리, 동작 설정 등을 다루겠습니다.
1. Virtual Warehouse 생성
Virtual Warehouse를 생성하고 기본 설정을 지정합니다.
USE ROLE SYSADMIN;
CREATE WAREHOUSE DATA_ANALYSIS_WAREHOUSE
WAREHOUSE_SIZE = 'SMALL' -- Small 사이즈로 설정
AUTO_SUSPEND = 600 -- 10분 동안 사용하지 않으면 자동으로 일시 중지
AUTO_RESUME = TRUE -- 필요 시 자동 재개
INITIALLY_SUSPENDED=TRUE; -- 처음에 생성할 때는 중지 상태로 시작
이 명령을 통해 DATA_ANALYSIS_WAREHOUSE라는 이름의 작은 사이즈 Virtual Warehouse가 생성됩니다. 이 Warehouse는 600초(10분) 동안 사용되지 않으면 자동으로 일시 중지되고, 쿼리가 실행될 때 자동으로 재개됩니다.
2. Virtual Warehouse 상태 확인 및 수동 관리
Virtual Warehouse의 상태를 수동으로 제어하고 상태를 확인해봅니다.
2.1 Virtual Warehouse 수동 재개 및 상태 확인
-- Virtual Warehouse 수동 재개
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE RESUME;
-- Warehouse 상태 확인
SHOW WAREHOUSES LIKE 'DATA_ANALYSIS_WAREHOUSE';
이 명령을 통해 Virtual Warehouse를 수동으로 재개하고, 현재 상태를 확인할 수 있습니다.
2.2 Virtual Warehouse 수동 중지
-- Virtual Warehouse 수동 중지
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SUSPEND;
SHOW WAREHOUSES LIKE 'DATA_ANALYSIS_WAREHOUSE';
SUSPEND 명령어를 통해 Virtual Warehouse를 수동으로 중지할 수 있습니다. 다시 SHOW WAREHOUSES 명령어를 사용하여 상태를 확인할 수 있습니다.
3. 데이터 조회
Virtual Warehouse가 활성화된 상태에서 데이터를 조회해보겠습니다. Snowflake 샘플 데이터베이스의 CUSTOMER 테이블에서 상위 100개의 행을 선택합니다.
USE WAREHOUSE DATA_ANALYSIS_WAREHOUSE;
USE SCHEMA SNOWFLAKE_SAMPLE_DATA.TPCH_SF1000;
SELECT
C_CUSTKEY,
C_NAME,
C_ADDRESS,
C_NATIONKEY,
C_PHONE
FROM CUSTOMER
LIMIT 100;
쿼리를 실행하여 데이터가 잘 조회되는지 확인합니다.
4. Virtual Warehouse 설정 변경
Virtual Warehouse의 크기와 동작 설정을 동적으로 변경할 수 있습니다. 실시간으로 Warehouse 설정을 변경해보겠습니다.
-- Warehouse 크기를 Large로 변경
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SET WAREHOUSE_SIZE=LARGE;
-- 자동 일시 중지 시간을 5분으로 변경
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SET AUTO_SUSPEND=300;
-- 자동 재개 기능을 비활성화
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SET AUTO_RESUME=FALSE;
ALTER WAREHOUSE 명령어를 사용하여 Warehouse 크기와 자동 일시 중지/재개 설정을 실시간으로 변경할 수 있습니다.
5. 설정 변경 확인
Warehouse 설정이 정상적으로 변경되었는지 확인합니다.
SHOW WAREHOUSES LIKE 'DATA_ANALYSIS_WAREHOUSE';
SELECT "name", "state", "size", "auto_suspend", "auto_resume" FROM TABLE(result_scan(last_query_id()));
이 명령어를 사용하여 Virtual Warehouse의 이름, 상태, 크기, 자동 일시 중지 및 재개 설정을 확인할 수 있습니다.
6. 리소스 정리
실습이 끝나면 Virtual Warehouse를 삭제하여 리소스를 정리합니다.
DROP WAREHOUSE DATA_ANALYSIS_WAREHOUSE;
이번 포스팅에서는 Snowflake의 Virtual Warehouse를 생성하고 관리하는 방법을 실습했습니다. Virtual Warehouse의 크기, 상태, 동작 설정을 유연하게 관리할 수 있어 다양한 워크로드에 맞게 활용할 수 있었습니다.
Reference
https://docs.snowflake.com/en/guides
'Snowflake' 카테고리의 다른 글
[Snowflake] Snowflake 클러스터링 키 및 클러스터링 된 테이블이란? (2) | 2024.10.12 |
---|---|
[Snowflake] Snowflake 마이크로 파티션 및 데이터 클러스터링이란? (2) | 2024.10.12 |
[Snowflake] Snowflake Multi-Cluster Warehouses란? (2) | 2024.10.12 |
[Snowflake] Snowflake에서 Masking & Row Access Policy 관리 실습하기 (2) | 2024.10.09 |
[Snowflake] Snowflake에서 RBAC 및 DAC 권한 부여 실습하기 (0) | 2024.10.06 |