ADA-C01 Question 397
Single answerEvaluate use cases for the ACCOUNT_USAGE and INFORMATION_SCHEMAA Snowflake administrator is asked to build a monitoring solution for two different needs: (1) a dashboard that must show near-real-time warehouse load and currently running queries for operational troubleshooting, and (2) a monthly governance report that summarizes query activity and object usage across the entire account over the last 12 months. Which approach best meets both requirements?
- A
Use INFORMATION_SCHEMA table functions/views for the operational dashboard, and use SNOWFLAKE.ACCOUNT_USAGE views for the long-term governance report.
- B
Use SNOWFLAKE.ACCOUNT_USAGE views for both the operational dashboard and the long-term governance report because they are the authoritative source for all metadata.
- C
Use INFORMATION_SCHEMA for both requirements because it provides the most current metadata and complete account-wide historical retention.
- D
Use SHOW commands for the operational dashboard and clone the results into reporting tables for the governance report, because SHOW output has the same retention and scope as ACCOUNT_USAGE.
Show answer and explanation
Correct answer: A
Explanation
The key distinction is use case: INFORMATION_SCHEMA is commonly used for lower-latency, operational metadata access, while SNOWFLAKE.ACCOUNT_USAGE is intended for historical, account-level reporting and governance. For example, administrators may use INFORMATION_SCHEMA table functions such as QUERY_HISTORY* variants for recent operational troubleshooting, while ACCOUNT_USAGE views support longer-term analysis of usage, cost, and access patterns. Snowflake documentation notes that ACCOUNT_USAGE views can have latency, making them less suitable for dashboards that require the freshest possible data. Best practice is therefore to choose the metadata source based on freshness, retention, and scope requirements rather than trying to use a single source for all monitoring needs.
- A. Correct.
Correct. INFORMATION_SCHEMA is appropriate for operational monitoring use cases that need very recent metadata, such as active or recent query and warehouse activity, because it is designed for lower-latency access to current metadata. SNOWFLAKE.ACCOUNT_USAGE is better suited for account-level historical reporting and governance because it provides centralized usage views with longer retention, including views such as QUERY_HISTORY and ACCESS_HISTORY (edition-dependent) used for trend analysis and audit-style reporting. This combination matches the scenario's need for near-real-time troubleshooting plus 12 months of historical analysis.
- B. Incorrect.
Incorrect. Although ACCOUNT_USAGE is the preferred source for long-term historical and account-wide reporting, it is not the best fit for near-real-time operational dashboards because many ACCOUNT_USAGE views have latency before records appear. A common misconception is that the authoritative source is automatically the best source for every use case. In practice, administrators often use INFORMATION_SCHEMA for timely operational visibility and ACCOUNT_USAGE for historical governance and trending.
- C. Incorrect.
Incorrect. INFORMATION_SCHEMA is useful for current-state and lower-latency metadata access, but it is not the best source for complete long-term account-wide historical reporting over 12 months. Its history-oriented table functions generally have shorter retention windows than ACCOUNT_USAGE views, so it would not satisfy the governance reporting requirement. This option reflects the mistaken assumption that current metadata access also implies deep historical retention.
- D. Incorrect.
Incorrect. SHOW commands can be helpful for ad hoc inspection, but they are not the recommended foundation for a durable monitoring architecture requiring both near-real-time dashboards and 12 months of account-wide historical reporting. SHOW results are session-oriented command output, not a replacement for the structured metadata available in INFORMATION_SCHEMA or ACCOUNT_USAGE. This option also incorrectly assumes SHOW output has equivalent scope and retention to ACCOUNT_USAGE.