웨어하우스(공유 리소스)에 예산 사용하기
웨어하우스(공유 리소스)에 예산 사용하기
웨어하우스는 대개 Snowflake 계정에서 가장 큰 컴퓨팅 도메인이며 여러 사업부나 팀이 공유하는 경우가 흔해요. 웨어하우스를 공유 리소스로 예산에 추가하고, 선택된 사용자가 그 웨어하우스에서 쿼리를 실행할 때에만 소비한 크레딧이 지출 한도에 집계되도록 구성할 수 있어요. 이를 통해 여러 팀이나 비용 센터 간 웨어하우스 사용량을 추적·통제할 수 있어요.
출처: Snowflake 문서
본문
예를 들어 여러 팀이 같은 웨어하우스에서 쿼리를 실행한다고 가정해 보아요. 어느 사용자가 쿼리를 실행하는지에 따라 각 팀의 소비를 별도의 예산으로 추적할 수 있어요 — 엔지니어링 팀용 예산 하나, 재무 팀용 예산 하나처럼요.
이 기능은 AI Functions, Cortex Code, Cortex Agents, Snowflake CoWork에 이미 일반 공개된 것과 같은 사용자 수준 공유 모델을 확장해요. 일반 워크플로(사용자 태그 지정 및 사용자 태그를 예산에 추가)는 AI 기능(공유 리소스)에 예산 사용하기를 참고해요.
중요(Important): 웨어하우스 귀속에는 AI 기능 도메인과 의미 있게 다른 제품별 동작이 있어요. 이 기능을 사용하기 전에 아래의 사용 참고 사항 섹션, 특히 귀속 의미론과 데이터 지연 시간 섹션을 검토해요.
웨어하우스를 예산에 추가
웨어하우스를 사용하는 사용자를 구성한 후에는 어떤 웨어하우스가 예산에 의해 추적될지 지정해야 해요. ADD_SHARED_RESOURCE 메서드를 사용해요.
팁(Tip): 계정에서 사용 가능한 모든 웨어하우스를 보려면 SHOW WAREHOUSES를 실행해요.
예시: 모든 웨어하우스를 예산에 추가
CALL finance_budget!ADD_SHARED_RESOURCE('WAREHOUSE');
finance_budget은 예산에 추가된 태그-값 쌍으로 태그된 사용자에 대해 모든 웨어하우스의 소비를 추적해요. 향후 만들어진 웨어하우스도 자동으로 포함돼요.
예시: 특정 웨어하우스를 예산에 추가
CALL finance_budget!ADD_SHARED_RESOURCE(
'WAREHOUSE',
(SELECT SYSTEM$REFERENCE('WAREHOUSE', 'SNOWADHOC')));
finance_budget은 SNOWADHOC 웨어하우스의 소비를 추적하지만, 예산에 추가된 태그-값 쌍으로 태그된 사용자에 대해서만 추적해요.
참고(Note): 웨어하우스는 객체 인스턴스이므로 두 번째 인자는 단순 웨어하우스 이름이 아니라 특정 웨어하우스에 대한
SYSTEM$REFERENCE여야 해요.
Snowsight에서 웨어하우스용 예산 만들기
Snowsight에서 안내형 사용자 인터페이스를 사용해 웨어하우스용 예산을 직접 만들고 구성할 수 있어요.
참고(Note): 웨어하우스 같은 공유 리소스에는 태그를 사용해 예산 범위를 정의하는 것이 필요해요.
- Snowsight에 로그인해요.
- 내비게이션 메뉴에서 Admin » Cost management를 선택해요.
- Budgets 탭을 선택해요.
- 오른쪽 위의 + Budget을 선택해요.
- Basic Information 페이지에서 필수 필드를 작성해요.
- Budget scope 페이지에서 예산에 포함할 객체를 추가해요.
- 웨어하우스에 대한 예산을 설정하려면 Budget scope 페이지로 이동해 다음과 같이 업데이트해요.
Tags on users 섹션에서:
- 관련 태그(예: 비용 센터 또는 팀)를 검색하고 선택해요.
- 이렇게 하면 태그된 사용자의 활동 추적이 활성화되며, 공유 리소스 모니터링 시 필요해요.
Select resources to monitor 섹션에서 Warehouses를 활성화해요.
- 웨어하우스를 구성해요.
- 기본적으로 모든 웨어하우스가 선택되며, 향후 생성된 웨어하우스도 자동으로 포함돼요.
- 특정 웨어하우스만 추적하려면 개별적으로 선택해요.
- 선택 사항을 검토해요.
- 올바른 웨어하우스가 선택됐는지, 선택된 태그가 의도한 범위를 정확히 반영하는지 확인해요.
- 나머지 구성을 완료하고 Create를 클릭해요.
구성 후 Budget 세부정보 페이지는 공유 리소스 섹션 아래에 선택된 웨어하우스를 나열하며, 웨어하우스가 이제 예산 측정 범위에 포함됐음을 확인해요.
사용 참고 사항
사용자 범위의 공유 웨어하우스가 있는 예산은 전체 웨어하우스 지출의 일부만 측정하는데, 모든 웨어하우스 비용이 개별 사용자에게 귀속될 수 있는 것은 아니기 때문이에요. 데이터 신선도(freshness)도 다른 예산 유형과 다를 수 있어요. 자세한 내용은 아래의 귀속 의미론과 데이터 신선도를 참고해요.
귀속 의미론(Attribution semantics)
이 웨어하우스 예산은 사용자의 대화형으로 실행한 쿼리 비용의 일부를 추적해요. 전체 웨어하우스 비용의 일부가 아닌 점에 유의해요. 다음 유형의 지출은 개별 사용자에게 귀속되지 않으므로 예산 측정에 포함되지 않아요.
- 유휴 시간(Idle time): 쿼리 사이의 웨어하우스 가동 시간은 어떤 사용자에게도 귀속될 수 없어요.
- 매우 짧은 쿼리(Very short queries): 최소 기간 임계값 미만의 쿼리는 추적되지 않아요.
- 오버헤드 비용(Overhead costs): 클라우드 서비스 크레딧 같은 일부 웨어하우스 수준 비용은 사용자별로 나뉘지 않아요.
- 자동화된 워크로드(Automated workloads): 태스크, 동적 테이블 새로고침, 구체화된 뷰 새로고침, 유사한 시스템 시작 작업은 귀속할 최종 사용자 신원이 없어요.
이것들은 QUERY_ATTRIBUTION_HISTORY 뷰에 문서화된 것과 같은 귀속 경계예요.
웨어하우스가 직접 리소스와 공유 리소스 둘 다로 범위에 있을 때는 직접 리소스 측정이 우선해요. 웨어하우스가 리소스 태그와 ADD_SHARED_RESOURCE 둘 다로 예산에 추가되면, 예산은 직접 경로를 통해 웨어하우스 지출을 한 번만 집계해요. 사용자 범위 부분은 그 위에 추가되지 않아요.
데이터 신선도(Data freshness)
웨어하우스 예산 데이터는 다른 예산 유형보다 지연 시간이 더 높게 제공돼요. 공유 웨어하우스(이 기능)의 경우 표준 예산은 최대 11시간, 저지연(low-latency) 예산은 최대 6시간의 데이터 신선도를 가져요.
알림 임계값과 보고 주기를 그에 맞춰 계획해요.
장기 실행 쿼리의 지출은 쿼리가 완료될 때 기록돼요. 쿼리는 완료될 때까지 예산에 나타나지 않으므로, 장기 실행 쿼리의 실질적 지연은 위 수치를 초과할 수 있어요.
구성 변경이 반영되려면 최대 약 2시간이 걸려요. 공유 웨어하우스를 추가하거나 제거하거나 사용자 태그 집합을 변경한 후에는 다음 예산 측정이 업데이트된 구성을 반영하는 데 최대 약 2시간이 걸릴 것으로 예상해요.
제한사항과 고려사항
- 웨어하우스의 경우 예산은
WAREHOUSE_METERING및QUERY_ACCELERATION서비스 유형을 추적해요. - 웨어하우스 예산은 개별 사용자에게 귀속될 수 있는 웨어하우스 지출 부분만 측정해요. 위의 귀속 의미론을 참고해요.
- 공유 웨어하우스의 종단 간 데이터 신선도는 표준 예산 최대 약 11시간, 저지연 예산 최대 약 6시간이에요. 자세한 내용은 위의 데이터 신선도를 참고해요.
- 구성 변경(웨어하우스 또는 사용자 태그 추가/제거)은 예산 측정에 반영되는 데 최대 약 2시간이 걸려요.
관련 메서드
더 알아보기 (Learn more)
- AI 기능(공유 리소스)에 예산 사용하기 — 일반 공유 리소스 워크플로
- 예산(Budgets) 개요 — 예산 기능 소개
- 예산 메서드 — 예산 클래스 메서드