ARA-C01 Question 430
Single answerResource monitoringA Snowflake account hosts three business units: ETL, BI, and Data Science. Each unit uses its own virtual warehouses, and the platform team wants to prevent a repeat of a month-end incident where ad hoc experimentation consumed most of the account's compute budget in two days. The requirements are: (1) cap monthly credit usage for the Data Science warehouses at 2,000 credits, (2) notify administrators when usage reaches 75% of that limit, and (3) automatically stop additional compute consumption by those warehouses after the limit is reached, without affecting ETL or BI warehouses. Which design best meets these requirements?
- A
Create a resource monitor with a 2,000-credit monthly quota, define a NOTIFY trigger at 75% and a SUSPEND_IMMEDIATE trigger at 100%, and assign only the Data Science warehouses to that monitor.
- B
Create an account-level resource monitor with a 2,000-credit monthly quota, define a NOTIFY trigger at 75%, and rely on warehouse auto-suspend settings to stop additional consumption after the quota is exceeded.
- C
Create separate statement timeout parameters for the Data Science warehouses and configure alerts externally when query history shows 1,500 credits consumed.
- D
Create a resource monitor for each Data Science user, set a 2,000-credit quota on each monitor, and define a SUSPEND trigger at 100% so currently running statements can finish before future statements are blocked.
Show answer and explanation
Correct answer: A
Explanation
The best design is to use a warehouse-scoped resource monitor assigned only to the Data Science warehouses. Snowflake resource monitors can track credit usage over a schedule, such as monthly, and support trigger actions at specified percentages of the quota. Common actions include NOTIFY, SUSPEND, and SUSPEND_IMMEDIATE. For this scenario, a 75% NOTIFY trigger provides early warning, while a 100% SUSPEND_IMMEDIATE trigger most directly satisfies the need to halt further consumption by the targeted warehouses. This approach is preferable to an account-level monitor because account-level assignment would affect unrelated workloads. It is also more appropriate than statement timeouts or external reporting because those do not natively enforce credit budgets. These behaviors align with Snowflake best practices for using resource monitors to govern warehouse and account credit consumption.
- A. Correct.
Correct. A resource monitor can be configured with a credit quota for a schedule such as monthly and can trigger actions at thresholds, including NOTIFY and SUSPEND_IMMEDIATE. Assigning the monitor only to the Data Science warehouses scopes enforcement to that business unit, leaving ETL and BI unaffected. SUSPEND_IMMEDIATE is the best fit for the requirement to stop additional compute consumption once the limit is reached.
- B. Incorrect.
Incorrect. An account-level resource monitor would affect all warehouses in the account, not just Data Science. That violates the requirement to avoid impacting ETL and BI. In addition, warehouse auto-suspend only stops an idle warehouse after inactivity; it does not enforce a credit cap when a resource monitor threshold is exceeded.
- C. Incorrect.
Incorrect. Statement timeout parameters limit execution duration, not total warehouse credit consumption over a monthly budget period. External alerting based on query history may provide visibility, but it does not provide native budget enforcement or automatic warehouse suspension at a credit threshold.
- D. Incorrect.
Incorrect. Resource monitors are designed to control credit usage for warehouses or the entire account, not per-user consumption. Also, using SUSPEND rather than SUSPEND_IMMEDIATE allows currently executing statements to continue, which may permit additional credits to be consumed beyond the threshold. That does not best satisfy the requirement to stop consumption after the limit is reached.