Snowpro Advanced Architect Practice Questions
Prepare for ARA-C01 with more than an answer.
- Exam fee
- $375 USD
- Level
- Advanced
- Valid for
- 2 years
Domains covered on the exam 4
- Accounts and Security25%
- Snowflake Architecture30%
- Data Engineering25%
- Performance Optimization20%
- 1
The
SYSTEM$CLUSTERING_INFORMATIONfunction for a large table returns a JSON object where"total_partition_count"is 500,000 and"total_constant_partition_count"is 450,000. What does this output indicate about the table's data and the effectiveness of micro-partition pruning for queries filtered on the clustering key?Show answer details
Correct answer: B
The
total_constant_partition_countrepresents the number of micro-partitions for which the min/max values of the clustering key columns are the same, meaning they contain no overlapping values with other partitions. The high ratio of constant partitions (450,000 out of 500,000, or 90%) to the total partitions indicates that the table is very well-clustered. This state allows for highly effective micro-partition pruning because when a query filters on the clustering key, Snowflake can eliminate a large number of partitions from the scan. - 2
A new security administrator is reviewing the RBAC implementation in a Snowflake account. They find that several developers have been granted the
ACCOUNTADMINrole to simplify environment setup. An architect has advised that this is a significant security risk and that no individual user should regularly use theACCOUNTADMINrole. Why is this considered a critical security best practice?Show answer details
Correct answer: B
The
ACCOUNTADMINrole is the most powerful role in Snowflake, encapsulating theSYSADMINandSECURITYADMINroles. It has permissions to perform any action in the account, including modifying users, roles, grants, and viewing all data. Granting this role widely violates the principle of least privilege and creates a massive security risk, as a compromised developer account could lead to a full account takeover. Best practice dictates that this role should be used sparingly, only for initial setup, and day-to-day activities should be performed using less privileged roles likeSYSADMIN(for object creation) andSECURITYADMIN(for user/role management). - 3
Case Study: SaaS Provider's Data Isolation Strategy
A rapidly growing SaaS company provides analytics services to hundreds of customers. They are designing their Snowflake architecture to store and process each customer's data. The company has the following architectural principles and requirements:
- Strict Data Isolation: There must be no possibility of one customer accessing another customer's data. This is the highest priority.
- Customization: Each customer may require different data retention policies (Time Travel settings) and may have unique IP address whitelists for their employees to access the data.
- Cost Allocation: The company must be able to accurately track and bill each customer for their specific storage and compute usage.
- Operational Efficiency: The company's internal DevOps team needs to manage all customer environments efficiently, without logging into hundreds of different interfaces.
Given these requirements, which architectural approach provides the best balance of isolation, customization, cost tracking, and manageability?
Show answer details
Correct answer: C
This architecture perfectly meets all requirements. Using a separate account per customer provides the ultimate level of data isolation (Requirement 1). Within each account, customer-specific settings like Time Travel and Network Policies can be configured independently (Requirement 2). Cost tracking is straightforward, as usage is reported on a per-account basis (Requirement 3). Finally, Snowflake Organizations allow a central administrator to manage all these accounts from a single interface, create new accounts programmatically, and view aggregated usage, ensuring operational efficiency (Requirement 4). The other options fail to provide the required level of isolation and customization.
- 4
A development team wants to create a sandbox environment by taking a snapshot of a 50 TB production database. The process must be completed in under a minute and must not incur any additional storage costs for the duplicated data. The developers in the sandbox should be able to modify data without affecting the production database. Which Snowflake feature is designed for this purpose?
Show answer details
Correct answer: B
Zero-Copy Cloning is the feature that allows for the creation of near-instantaneous copies of databases, schemas, or tables without duplicating the underlying storage. It's a metadata-only operation, which is why it's so fast. The clone is fully independent and writable. Storage costs are only incurred for the delta of changes made to the clone, satisfying all the requirements of speed, cost-efficiency, and isolation for a sandbox environment.
- 5
A company has defined its Role-Based Access Control (RBAC) model using a best-practice approach with functional roles (e.g.,
FINANCE_ANALYST) and access roles (e.g.,DB_FINANCE_R,WH_ANALYTICS_RW).graph TD subgraph Users U1[User: Alice] end subgraph Functional Roles FR1[FINANCE_ANALYST] end subgraph Access Roles AR1[DB_FINANCE_R] AR2[WH_ANALYTICS_RW] end subgraph Privileges P1[(SELECT on FIN_DB)] P2[(USAGE, OPERATE on ANALYTICS_WH)] end U1 --> FR1 FR1 --> AR1 FR1 --> AR2 AR1 --> P1 AR2 --> P2Based on the diagram and Snowflake RBAC best practices, what is the correct way to structure these grants?
Show answer details
Correct answer: B
The recommended best practice for a scalable and manageable RBAC hierarchy is to grant privileges on objects to access roles. These access roles are then granted to functional roles, which represent business functions. Finally, functional roles are granted to users. This creates a clear separation of concerns, where access roles define 'what' can be accessed and functional roles define 'who' (in terms of business role) gets the access.
- 6
A financial services firm is architecting a multi-tenant data platform on Snowflake. They will host data for several independent hedge funds. A critical requirement is that no hedge fund can ever see another's data, and network traffic for each must be isolated to a specific set of IP addresses. Additionally, the firm wants to manage all accounts centrally under a single master agreement. Which combination of Snowflake features is required to meet these stringent isolation and management requirements?
Show answer details
Correct answer: C
This is the most secure and correct architecture. Using a Snowflake Organization allows for central management and billing. Creating separate accounts for each hedge fund provides the strongest data isolation, as objects and compute are completely segregated. Applying unique Network Policies within each account ensures that network traffic is restricted to the specific IP addresses designated for that fund, fulfilling the network isolation requirement. Row Access Policies in a single account are complex to manage for true multi-tenancy and don't provide compute or network traffic isolation. Applying network policies at the master account level would enforce the same policy for all funds, which contradicts the requirement for fund-specific IP whitelists.
- 7
A data architect is designing a data vault model in Snowflake. To improve query performance for the business vault, they are considering applying constraints to the link and satellite tables. They want the query optimizer to use this metadata, but they do not want Snowflake to expend resources validating the constraints during data loading. What is the correct syntax to achieve this?
Show answer details
Correct answer: B
The
RELYproperty tells the Snowflake optimizer that the data in the table conforms to the constraint, allowing it to use this information for query rewrites and optimizations (like join elimination) without actually validating the data. This meets the requirement of improving performance without incurring validation overhead.NOT ENFORCEDis the default and simply declares the constraint without validation or reliance by the optimizer.VALIDATEwould force validation, which is what the architect wants to avoid.ENABLEis not a standalone constraint property; it's used withVALIDATE. - 8
A data engineering team is building an ELT pipeline. A stream object has been created on a raw data table to capture changes (inserts, updates, deletes). A downstream task merges these changes into a dimension table. After a successful merge operation, the team notices that the stream is not empty and contains the same change records. The subsequent task run processes the same records again, causing data duplication issues. What is the most likely cause of this behavior?
Show answer details
Correct answer: B
A stream's offset advances only when the DML statement that consumes it is part of a successful transaction. If the
MERGEstatement runs as a standalone, auto-committed transaction, the stream consumption is not guaranteed to be part of that same transaction. To ensure the stream is consumed atomically with theMERGEoperation, both theSELECTfrom the stream and theMERGEinto the target table must be enclosed within an explicitBEGIN...COMMITtransaction block. This guarantees that if theMERGEis successful, the stream's offset is advanced, and the records are consumed. - 9
During a performance review of a large data warehouse, an architect analyzes a query profile for a frequently executed report. The profile reveals that a significant portion of the execution time is spent on a 'TableScan' operation, and the 'Partitions scanned' is nearly equal to the 'Partitions total', despite the query having a highly selective
WHEREclause on aTIMESTAMP_NTZcolumn. The table's data is naturally ordered by the timestamp of insertion. What is the most effective and cost-efficient first step to optimize this query?Show answer details
Correct answer: C
The query profile indicates poor micro-partition pruning, as almost all partitions are being scanned. Since the data is naturally ordered by the timestamp column used in the
WHEREclause, defining a clustering key on this column will formalize this organization. Snowflake can then use the micro-partition metadata to prune (skip) the vast majority of partitions that do not contain data relevant to the query's time range. This directly addresses the root cause of the excessive table scan. Increasing warehouse size would only brute-force the scan faster at a higher cost. Search Optimization is best for highly selective point lookups on high-cardinality columns, not range scans on a naturally ordered key. Creating a materialized view is a heavier solution and might not be as effective as fixing the base table's physical layout. - 10
A healthcare organization must implement a security model where data analysts can query patient data for statistical research but must NEVER see patient names or social security numbers. However, a separate group of 'Auditors' must be able to view the original, unmasked data for compliance checks. The solution must be centrally managed and automatically applied to any user with the
ANALYSTrole. Which Snowflake security features should be combined to meet these requirements? (Select TWO)Show answer details
Correct answer: B, D
Dynamic Data Masking allows defining a policy that conditionally alters the data returned from a query based on the user's role. A masking policy can be created to show the real value for the
AUDITORrole but a masked value (e.g., 'XXX-XX-XXXX') for theANALYSTrole.RBAC is the foundation for this solution. The masking policy's logic will explicitly check the user's current role (
IS_ROLE_IN_SESSION('AUDITOR')) to decide whether to show masked or unmasked data. The distinct roles (ANALYST,AUDITOR) are essential for the policy to function as required.
