Courseiva

SnowPro Advanced: Architect (ARA-C01) — Questions 76–150

209 questions total · 3pages · All types, answers revealed

Page 1

Page 2 of 3

Page 3
76
Multi-Selecthard

A Data Provider wants to share data with a Consumer who does not have a Snowflake account. Which TWO architectural components are required to facilitate this type of sharing?

Select 2 answers
A.A Reader Account created and managed by the Data Provider.
B.A Private Data Exchange listing that is restricted to the consumer's IP.
C.A Share object containing grants on the database and schema.
D.A Storage Integration that allows the consumer to access the provider's S3 bucket.
E.A Secure View that masks the provider's metadata from the consumer.
AnswersA, C

Reader Accounts are a specific architectural feature designed for consumers who do not have their own Snowflake account. The Data Provider creates the account within their own organization and provides the login credentials to the consumer. The provider is responsible for all costs incurred by the virtual warehouses within the reader account.

Why this answer

To share data with a non-Snowflake user, a Data Provider must create a Reader Account. This is a managed Snowflake account created and paid for by the provider. The provider then uses a 'Share' object to grant access to specific database objects.

This allows the consumer to query the shared data using a web interface or supported drivers without needing their own Snowflake contract.

Exam trap

Candidates often incorrectly assume that a Data Exchange or a Data Marketplace listing is required for all external sharing, forgetting that a simple Reader Account is the most direct method for non-Snowflake users.

77
MCQhard

A Snowflake architect is investigating a query that performs poorly due to a large hash join. The query joins a 5TB fact table with a 10GB dimension table. The fact table is not clustered. The query filters the fact table on a date range that covers 10% of the data. Which optimization is most likely to improve performance with minimal cost?

A.Add a clustering key on the date column of the fact table.
B.Increase the warehouse size to provide more memory for the hash join.
C.Create a materialized view that pre-joins the fact and dimension tables.
D.Enable the Search Optimization Service on the fact table's date column.
AnswerA

Clustering on the date column allows Snowflake to prune micro-partitions that fall outside the filtered date range, reducing the data scanned by the join. Since the query filters on date and only 10% of data is relevant, clustering can significantly reduce I/O and improve performance. It is a targeted and cost-effective optimization for this scenario.

Why this answer

Clustering the fact table on the date column enables micro-partition pruning for the date range filter, reducing the data scanned by the join. This directly addresses the performance bottleneck without the overhead of larger warehouses or materialized views. It is the most cost-effective optimization for this scenario.

Exam trap

The trap here is assuming that increasing warehouse size will solve the performance issue, when the real problem is the amount of data being scanned due to lack of pruning.

78
MCQmedium

An architect needs to audit all queries executed by users in the last 30 days. Which approach is most efficient?

A.Query the INFORMATION_SCHEMA.QUERY_HISTORY view.
B.Query the SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY view.
C.Enable query logging in the user profile.
D.Use the GET_QUERY_HISTORY() function.
AnswerB

The ACCOUNT_USAGE.QUERY_HISTORY view contains query metadata for up to 365 days, making it the correct choice for a 30-day lookback requirement. It is designed for audit and analysis purposes, providing a centralized and consistent view of all query activity across the account without requiring the maintenance of custom logging solutions.

Why this answer

The SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY view is the standard interface for auditing executed queries. It provides a comprehensive historical record of all SQL commands, their execution times, and the users who ran them. This is the most efficient and scalable method for auditing compared to manual logs or local metadata, as it is maintained and optimized by Snowflake, ensuring minimal impact on production query performance.

Exam trap

Candidates frequently mistake INFORMATION_SCHEMA for ACCOUNT_USAGE views, forgetting that INFORMATION_SCHEMA only retains query history for the last 7 days.

79
MCQmedium

While reviewing a Query Profile, an architect notices that a 'Join' operator is consuming 90% of the total execution time, and one specific node in the warehouse is processing significantly more rows than others. What is the most likely cause and the best resolution?

A.The warehouse size is too small; increase it to a larger T-shirt size.
B.The query is experiencing data skew; investigate the join key distribution.
C.The Result Cache is cold; run the query again to populate the cache.
D.The table is not clustered; apply a clustering key to the join column.
AnswerB

The symptom of one node processing significantly more rows than others is a classic indicator of data skew. The architect should analyze the distribution of values in the join column. If a single value (like NULL or a default ID) appears in millions of rows, it will concentrate processing on a single node.

Why this answer

Data skew occurs when the data is not evenly distributed across the join key. This causes one node in the warehouse to perform the majority of the work while others remain idle. To resolve this, the architect should consider using a different join key or applying a 'skew hint' if supported, or pre-aggregating the skewed data.

Exam trap

Candidates often blame the warehouse size for slow joins, overlooking the symptom of uneven row processing which is a classic indicator of data skew rather than insufficient compute.

80
MCQmedium

An enterprise data engineering team is designing a real-time ingestion pipeline into Snowflake using Snowpipe streaming. The target is a transactional table that requires low latency and high frequency inserts from Java applications. Which architectural consideration is critical for optimizing performance and maintaining transactional integrity when using Snowpipe streaming?

A.Files must be staged in an external cloud storage bucket prior to ingestion via the streaming Java SDK.
B.The client application must explicitly execute a SQL ALTER TABLE command to flush data buffers every five minutes.
C.Channels write directly to micro-partitions without intermediate staging, requiring careful sizing of the client's memory buffers.
D.Data loaded via Snowpipe streaming must undergo a mandatory virus scan within an internal stage before table insertion.
AnswerC

The streaming SDK writes rows directly into cloud storage micro-partitions. Because there are no staging files, client applications must manage memory buffers effectively to prevent dropped payloads or excessive network chatter during peak ingestion periods.

Why this answer

Snowpipe streaming utilizes client-side buffering to write rows directly to micro-partitions without staging files first, achieving sub-second latency. Understanding this architecture is critical for data architects designing high-throughput real-time pipelines to balance memory allocation on ingestion clients with Snowflake's micro-partition generation limits.

Exam trap

Candidates often confuse Snowpipe Streaming with standard Snowpipe, mistakenly believing that intermediate staging files are still required for the streaming ingestion process.

81
MCQmedium

An organization requires that all data ingested into Snowflake must be encrypted at rest with customer-managed keys. Which feature enables this security requirement for data stored in Snowflake?

A.Data Masking
B.Tri-Secret Secure
C.Row-Level Security
D.Access Control Lists (ACLs)
AnswerB

Tri-Secret Secure combines a Snowflake-managed key and a customer-managed key (stored in AWS KMS, Azure Key Vault, or Google Cloud KMS) to encrypt the data. This meets the requirement for customer-managed keys, giving the client ultimate control over the data's encryption state and access policies.

Why this answer

Tri-Secret Secure uses a combination of a Snowflake-managed key and a customer-managed key stored in a cloud provider's Key Management Service (KMS). This provides an additional layer of security, ensuring that data is encrypted using a key outside of Snowflake's direct control. This is vital for highly regulated industries like finance or healthcare that must maintain strict data governance and compliance over their encryption keys.

Exam trap

Candidates frequently confuse Tri-Secret Secure with general data encryption at rest or Time Travel, failing to recognize it as the specific feature for customer-managed key (CMK) integration.

82
MCQmedium

Which Snowflake architectural layer is responsible for the 'Time Travel' functionality?

A.The compute warehouse layer.
B.The cloud storage object repository.
C.The Cloud Services layer.
D.The local SSD cache of the virtual warehouse.
AnswerC

The Cloud Services layer maintains the versioned metadata. By tracking the state of objects over time, it can route queries to the correct set of micro-partitions that existed at the requested point in time. This centralized metadata management is essential for the seamless and performant implementation of the Time Travel feature.

Why this answer

Time Travel works because micro-partitions are immutable. When data is modified, Snowflake preserves the original micro-partitions for a defined period based on the object's retention policy. The Cloud Services layer acts as a time-based index, allowing the system to query the state of the metadata as it existed at a specific point in time, enabling users to reconstruct previous data states without requiring manual backups.

Exam trap

Candidates often mistakenly attribute Time Travel to the Data Storage layer. While data is stored in the cloud, the logic that tracks metadata versions and handles time-based point-in-time recovery resides in Cloud Services.

83
MCQeasy

A data engineer is loading data into a Snowflake table using the COPY INTO command. The source files are in an external stage and have a consistent schema. The engineer wants to ensure that any errors during loading do not cause the entire load to fail, but rather log the errors for later review. Which COPY INTO option should the engineer use?

A.ON_ERROR = 'SKIP_FILE'
B.VALIDATION_MODE = 'RETURN_ERRORS'
C.ON_ERROR = 'ABORT_STATEMENT'
D.ON_ERROR = 'CONTINUE'
AnswerD

The ON_ERROR = 'CONTINUE' option instructs COPY INTO to skip any rows that cause errors and continue loading the rest of the file. Error details are logged in the load metadata, allowing later review. This meets the requirement of not failing the entire load due to individual row errors, while still capturing error information for analysis.

Why this answer

The ON_ERROR = 'CONTINUE' option allows COPY INTO to skip erroneous rows and continue loading the remaining rows. Errors are logged in the load metadata, which can be queried using the VALIDATE function or by checking the COPY_HISTORY. This ensures that the load does not fail entirely while still capturing error details for later review.

Other options either abort the load, skip entire files, or only validate without loading.

Exam trap

The trap here is confusing error handling with validation; VALIDATION_MODE only checks files without loading, while ON_ERROR controls behavior during actual loading.

84
MCQmedium

A Snowpipe is configured to load data from an S3 bucket. The architect notices that some files are failing to load due to a schema mismatch, but no alerts are being generated. What is the most robust way to implement automated error notification for Snowpipe?

A.Schedule a Task to query the VALIDATE_PIPE_LOAD function every hour
B.Configure the ERROR_INTEGRATION parameter on the PIPE object
C.Use a Stream on the target table to track failed insert attempts
D.Set the Snowpipe parameter ON_ERROR = 'NOTIFY'
AnswerB

Setting up an Error Integration allows Snowpipe to automatically send notifications to a cloud provider's messaging service (like AWS SNS, Azure Event Grid, or GCP Pub/Sub) whenever a load error occurs. This provides a proactive, near real-time alerting mechanism for data ingestion failures.

Why this answer

Snowpipe error notifications allow architects to push alerts to a cloud messaging service when errors occur. By configuring the ERROR_INTEGRATION parameter in the Pipe definition, Snowflake can send detailed JSON error reports to services like Amazon SNS, which can then trigger emails or Slack alerts for the engineering team.

Exam trap

Candidates frequently select 'Snowpipe' settings or 'Table' parameters instead of the pipe-specific 'ERROR_INTEGRATION' parameter, confusing general alerting with the targeted error notification mechanism required for pipe failures.

85
MCQmedium

A Snowflake architect notices that a recurring ETL job that loads data into a table and then immediately runs a complex aggregation query is taking longer than expected. The table is not clustered, and the query filters on a timestamp column. Which action would most directly improve the performance of the aggregation query?

A.Adding a clustering key on the timestamp column
B.Increasing the warehouse size
C.Using a multi-cluster warehouse
D.Enabling the Search Optimization Service on the table
AnswerA

Clustering the table on the timestamp column physically orders the data by that column, allowing the query to prune micro-partitions based on the timestamp filter. This reduces the amount of data scanned, directly improving the performance of the aggregation query that filters on that column.

Why this answer

Clustering the table on the timestamp column enables partition pruning, so the query only scans micro-partitions that contain the relevant time range. This directly reduces I/O and improves aggregation performance. Search Optimization is for point lookups, larger warehouses add compute but not pruning, and multi-cluster addresses concurrency.

Exam trap

The trap here is assuming that increasing warehouse size always solves performance issues, when in fact reducing data scanned through clustering can be more effective for filtered aggregations.

86
MCQmedium

A financial services company uses Snowflake to analyze trade data. They have a large table TRANSACTIONS with a clustering key on TRADE_DATE. Queries that filter on TRADE_DATE and ACCOUNT_ID are performing well, but queries that filter only on ACCOUNT_ID are slow. The architect wants to improve performance for ACCOUNT_ID-only queries without degrading the performance of TRADE_DATE queries. Which solution is most appropriate?

A.Create a search optimization service on the ACCOUNT_ID column.
B.Add a secondary clustering key on ACCOUNT_ID.
C.Add a materialized view that filters on ACCOUNT_ID and pre-aggregates the data.
D.Change the clustering key to (ACCOUNT_ID, TRADE_DATE).
AnswerA

Search Optimization Service (SOS) is designed to accelerate point lookups and selective queries on columns that are not the clustering key. By enabling SOS on ACCOUNT_ID, queries filtering on that column can benefit from an optimized search access path, without affecting the existing clustering on TRADE_DATE. This maintains performance for TRADE_DATE queries while improving ACCOUNT_ID queries.

Why this answer

Search Optimization Service is the ideal solution for accelerating selective queries on columns that are not part of the clustering key. It creates a persistent search access path that allows Snowflake to quickly locate micro-partitions containing the desired values. This improves ACCOUNT_ID-only queries without altering the existing clustering on TRADE_DATE, thus preserving performance for TRADE_DATE queries.

Exam trap

The trap here is assuming that you can have multiple clustering keys or that changing the clustering key is the only way to improve performance on a non-clustered column.

87
MCQeasy

A data engineer is loading a large CSV file into Snowflake using the COPY INTO command. They want the load to continue even if some rows have errors, and they need to review the errors later. Which parameter should be added to the COPY command?

A.ON_ERROR = 'ABORT_STATEMENT'
B.ON_ERROR = 'CONTINUE'
C.ON_ERROR = 'SKIP_FILE'
D.VALIDATION_MODE = 'RETURN_ERRORS'
AnswerB

The CONTINUE option instructs Snowflake to ignore errors and keep loading data from the file. This is a common pattern in data engineering for handling 'dirty' source data, allowing the pipeline to remain resilient while providing a mechanism to audit and fix rejected rows after the load completes.

Why this answer

The ON_ERROR parameter controls how the COPY command handles data validation errors. By setting it to CONTINUE, Snowflake skips any rows that fail to load due to formatting issues and proceeds with the rest of the file. The errors can then be queried using the VALIDATE function or the LOAD_HISTORY view.

Exam trap

Candidates often confuse ON_ERROR='CONTINUE' with other parameters like VALIDATION_MODE, which only checks for errors without actually performing the data load into the target table.

88
MCQmedium

Which action should an architect take to optimize a query that is experiencing significant 'Remote Disk Spilling' during a join operation on large datasets?

A.Enable multi-cluster warehouse auto-scaling.
B.Increase the warehouse size.
C.Change the table join order in the SQL statement.
D.Remove the query from the warehouse and use a serverless task.
AnswerB

Increasing the warehouse size doubles the compute and memory resources per node. This extra memory capacity allows the query processing engine to perform operations like hash joins entirely in memory, eliminating the performance penalty of writing temporary data to remote storage, which is the primary cause of slow performance.

Why this answer

Remote disk spilling occurs when the active memory of a warehouse node is insufficient to hold the working set of data for an operation like a join or aggregation. By increasing the warehouse size, you provide more memory per node, allowing the query to complete in-memory. This prevents the high-latency I/O operations associated with spilling to remote cloud storage, thereby drastically reducing query execution time.

Exam trap

Candidates often mistakenly select query acceleration service or altering clustering keys to fix remote disk spilling, missing that only scaling up the warehouse size increases the per-node memory required to resolve the issue.

89
MCQmedium

A data engineering team needs to merge late-arriving dimension updates into a large target table. The source is a staging table containing both inserts and updates, and the target has a natural business key. The team wants a single statement that applies all changes atomically and avoids duplicate rows when the source contains multiple records for the same key. Which approach should the architect recommend?

A.Run an INSERT for new keys and a separate UPDATE for existing keys as two statements inside an explicit transaction.
B.Use INSERT OVERWRITE to replace the entire target table with a fresh join of the staging table and the existing target.
C.Create a Stream on the staging table and consume it with a task that issues individual UPDATE statements per changed row.
D.Use a MERGE statement whose source is a subquery that deduplicates the staging table by business key, keeping the latest record per key.
AnswerD

MERGE applies inserts, updates, and optionally deletes in one atomic statement. Deduplicating the source with a windowed subquery that ranks rows per business key and keeps the most recent ensures each target row is matched at most once. This prevents the error Snowflake raises when a source row joins to multiple target rows or the source has duplicates for a matched key, giving deterministic results.

Why this answer

A MERGE with a deduplicated source applies all changes in one atomic statement and guarantees each target row is touched once. Ranking staging rows per business key and keeping the latest avoids the duplicate-match error and yields deterministic upserts. Separate insert and update statements, full-table overwrite, and per-row task updates either risk nondeterminism, incur excessive cost, or fail to collapse duplicates.

Exam trap

The trap here is assuming MERGE tolerates duplicate source rows per key, when a matched key appearing more than once in the source causes a nondeterministic or failing merge.

90
MCQhard

An architect is configuring a Snowflake account to use Federated Authentication with Okta as the identity provider (IdP). The requirement is to allow users to authenticate to Snowflake using their Okta credentials and to automatically provision users and roles based on Okta group memberships. Which configuration steps must the architect perform to meet these requirements?

A.Configure Snowflake to use Okta as an external OAuth server, and use Snowflake's built-in user provisioning.
B.Configure SAML 2.0 in Okta and Snowflake, and manually create users and roles in Snowflake to match Okta groups.
C.Configure SAML 2.0 in Okta and Snowflake, and enable SCIM provisioning to synchronize users and groups.
D.Configure OAuth 2.0 in Okta and Snowflake, and use the Snowflake Connector for Okta to sync users.
AnswerC

SAML 2.0 handles authentication by allowing Okta to act as IdP and Snowflake as SP. SCIM provisioning automates user and role creation and updates based on Okta group assignments. This combination meets both authentication and automatic provisioning requirements without manual intervention.

Why this answer

The correct configuration involves setting up SAML 2.0 for authentication and SCIM for automatic provisioning. SAML allows Okta to authenticate users, while SCIM synchronizes users and groups, enabling automatic creation and updates of Snowflake users and roles based on Okta group memberships. This dual approach satisfies both authentication and provisioning requirements.

Exam trap

The trap here is confusing authentication protocols with provisioning protocols; SAML handles authentication but not user synchronization, which requires SCIM.

91
MCQeasy

Which layer of the Snowflake architecture is responsible for ensuring ACID compliance and transactional integrity?

A.The Storage Layer, which uses immutable files to prevent data corruption.
B.The Virtual Warehouse Layer, which executes the commit and rollback commands.
C.The Cloud Services Layer, which manages metadata and transaction state.
D.The Network Layer, which ensures that data packets are delivered without errors.
AnswerC

The Cloud Services layer acts as the global coordinator for all transactions. It maintains the metadata that tracks which micro-partitions belong to which version of a table and manages the locks required to ensure ACID compliance. This architecture allows for multiple virtual warehouses to access the same data consistently without conflict.

Why this answer

ACID compliance is managed by the Cloud Services layer. This layer handles transaction management, including locking at the table level and ensuring that all operations within a transaction either succeed completely or fail without impacting data integrity. This centralized management allows Snowflake to provide strong consistency across its distributed storage and compute layers.

Exam trap

Candidates often mistakenly attribute transactional integrity to the Virtual Warehouse (compute) layer, assuming that because the warehouse runs the query, it must also be responsible for managing the ACID state.

92
MCQmedium

An architect is configuring a Snowflake account to use Federated Authentication with Okta. The requirement is that users must authenticate through Okta and receive Snowflake roles based on their Okta group membership. The architect has already configured the SAML integration. What additional step is required to map Okta groups to Snowflake roles?

A.Configure the Snowflake JDBC driver to pass Okta group information as a session parameter.
B.Create a SAML integration with the attribute 'Role' in the Okta SAML assertion.
C.Create a stored procedure that queries the Okta API and assigns roles based on group membership.
D.Create a SCIM integration in Snowflake and configure the Okta provisioning connector.
AnswerD

SCIM integration allows Snowflake to receive user and group information from Okta, enabling automatic provisioning and role mapping. By configuring the Okta provisioning connector, group memberships can be synchronized, and Snowflake roles can be assigned based on those groups. This is the standard way to map Okta groups to Snowflake roles without manual intervention.

Why this answer

To map Okta groups to Snowflake roles automatically, the architect must set up SCIM integration. SCIM allows Okta to provision users and groups into Snowflake, and Snowflake can then assign roles based on group membership. SAML alone handles authentication but not provisioning.

The other options either misunderstand the role of SAML or propose custom solutions that are not standard.

Exam trap

The trap here is confusing authentication (SAML) with provisioning (SCIM); SAML alone does not synchronize group memberships or assign roles.

93
MCQmedium

A Snowflake architect is designing a multi-tenant environment where each tenant has its own database. The architect wants to ensure that tenant administrators can manage roles and users within their own database but cannot affect other tenants. Which Snowflake feature should be used to achieve this isolation?

A.Network policies
B.Resource monitors
C.Account roles
D.Database roles
AnswerD

Database roles allow you to define roles within a specific database, enabling granular access control. A tenant administrator can be granted a database role with privileges to manage objects within that database, without having account-level privileges. This provides isolation because database roles are scoped to the database and cannot affect other databases or account-level objects.

Why this answer

Database roles are scoped to a specific database and allow for granular privilege management within that database. By granting a tenant administrator a database role with the ability to create and manage other database roles, you enable them to manage access within their database without affecting other databases. Account roles are too broad and would not provide the needed isolation.

Exam trap

The trap here is confusing account-level roles with database-scoped roles; account roles grant privileges across the account, not just within a single database.

94
MCQhard

When would using a Search Optimization Service be inappropriate for a table?

A.When the table is frequently queried by ID.
B.When the table is extremely large.
C.When the table experiences extremely high DML volume.
D.When the query filter uses equality predicates.
AnswerC

The Search Optimization Service continuously updates its index as data changes. On tables with constant, high-frequency DML (inserts, updates, deletes), the cost and overhead of maintaining the index become prohibitive. The performance impact on the DML operations makes this an inappropriate choice for highly transactional, volatile datasets.

Why this answer

The Search Optimization Service is not designed for every workload. It is specifically aimed at point-lookups on large tables. It is inappropriate for tables that are very small, where standard scanning is already extremely fast, or for tables that undergo extremely high-frequency DML updates, as the maintenance cost of the search index would become a performance bottleneck.

Exam trap

Candidates often assume the Search Optimization Service is a universal performance boost. They fail to consider the high overhead costs associated with maintaining indexes during frequent DML operations.

95
MCQhard

Refer to the exhibit. Which architectural mechanism is responsible for the significant difference between 'partitions_total' and 'partitions_scanned'?

A.Materialized views automatically created by the optimizer.
B.Metadata-based partition pruning.
C.Automatic indexing of the date column by the system.
D.Data clustering on the 'date' column.
AnswerB

Partition pruning uses the metadata (min/max values) for each micro-partition stored in the Cloud Services layer. When a filter is applied, the engine checks this metadata to skip any partition that doesn't meet the criteria. This is the fundamental architectural mechanism for efficient data retrieval in Snowflake's columnar storage format.

Why this answer

The difference between total partitions and scanned partitions is caused by partition pruning, a critical optimization feature of Snowflake. By consulting the metadata in the Cloud Services layer, the engine identifies that only 150 partitions contain data matching the '2023-01-01' filter. This prevents the compute engine from scanning unnecessary files, which significantly improves query performance and reduces compute costs by minimizing the amount of data processed during a table scan.

Exam trap

Candidates often confuse 'partition pruning' with 'data clustering,' erroneously thinking that the engine scans all files but filters them later, rather than skipping files entirely using metadata.

96
MCQmedium

A financial services company runs a Snowflake workload where several long-running analytical queries compete with a high volume of short interactive dashboard queries on the same multi-cluster warehouse. Users report that dashboards sometimes wait behind heavy reports. The architect wants a cost-effective configuration that isolates the heavy reports from the interactive queries without duplicating compute unnecessarily. What should the architect do?

A.Increase the warehouse size to the next larger size so that all queries get more compute resources.
B.Create a separate warehouse for the heavy reports and route those queries to it, leaving the dashboard warehouse for interactive queries.
C.Enable the Query Acceleration Service on the existing warehouse to offload portions of the heavy queries.
D.Set the STATEMENT_TIMEOUT_IN_SECONDS parameter to a low value on the warehouse so long queries are cancelled.
AnswerB

Using separate warehouses for the heavy reports and the interactive dashboards isolates the two workloads so they no longer compete for the same compute resources. The dashboard queries run on their own warehouse without waiting behind long reports, and each warehouse can be sized and scaled independently, which is the recommended way to handle mixed workloads cost-effectively.

Why this answer

Separate warehouses are the standard way to isolate workloads in Snowflake. By giving heavy reports their own warehouse, the interactive dashboards no longer queue behind them, and each workload can be sized and scaled independently. This avoids over-provisioning a single warehouse and keeps credit usage aligned with each workload's needs.

Exam trap

The trap here is assuming that scaling up a single warehouse or enabling acceleration features will isolate workloads, when only separate warehouses truly prevent one workload from blocking another.

97
MCQeasy

A Snowflake architect is investigating a slow-running query that joins a large fact table with a small dimension table. The query profile shows that the join operation is using a Cartesian product, resulting in a massive number of rows processed. The architect checks the query and notices that the join condition is missing. Which action should the architect take to resolve the performance issue?

A.Enable the Query Acceleration Service to automatically optimize the join.
B.Rewrite the query to include an appropriate join condition between the fact and dimension tables.
C.Add a WHERE clause to filter the result set after the join.
D.Increase the size of the virtual warehouse to handle the larger result set.
AnswerB

A Cartesian product occurs when a join lacks a proper join condition, causing every row from one table to be paired with every row from the other. Adding the correct join condition (e.g., matching foreign key to primary key) eliminates the Cartesian product and allows Snowflake to perform an efficient hash join or similar operation, drastically reducing the number of rows processed.

Why this answer

A Cartesian product in a join is typically caused by a missing or incorrect join condition. The most effective fix is to rewrite the query to include the proper join predicate, which enables Snowflake to execute an efficient join algorithm. Other measures like adding filters or increasing warehouse size do not address the core problem.

Exam trap

The trap here is thinking that adding a filter or scaling up the warehouse can mitigate a Cartesian join, when the only real solution is to correct the join condition.

98
Multi-Selectmedium

A Snowflake architect is evaluating the use of Search Optimization Service for a large table that is frequently queried with highly selective filters on a column with high cardinality, such as a UUID. The architect wants to understand the benefits and limitations of enabling Search Optimization Service on this column. Which two statements are true regarding Search Optimization Service? (Choose two.)

Select 2 answers
A.Search Optimization Service can be used to optimize joins between two large tables on the optimized column.
B.Search Optimization Service automatically optimizes all columns in the table without the need to specify which columns to optimize.
C.Enabling Search Optimization Service on a column increases storage costs due to the additional search access path.
D.Search Optimization Service is most effective for queries that use wildcard characters at the beginning of a string pattern, such as LIKE '%abc'.
E.Search Optimization Service can significantly improve query performance for equality and IN predicates on the optimized column.
AnswersC, E

Search Optimization Service adds a persistent search access path that consumes additional storage. This overhead is proportional to the number of distinct values and the size of the optimized columns. Architects must consider the trade-off between query performance gains and increased storage costs.

Why this answer

Search Optimization Service improves performance for highly selective queries using equality and IN predicates on optimized columns, and it incurs additional storage costs. It does not automatically optimize all columns, is ineffective for leading wildcards, and is not intended for join optimization. These characteristics make it suitable for point lookups on high-cardinality columns like UUIDs.

Exam trap

The trap here is assuming Search Optimization Service automatically applies to all columns or works for any string pattern, when it requires explicit column selection and does not support leading wildcards.

99
MCQhard

A retail company ingests point-of-sale data into a Snowflake table using Snowpipe. The data arrives as JSON files in an internal stage. The architect needs to transform the semi-structured JSON into a relational format and load it into a reporting table. The transformation involves flattening nested arrays and applying several business rules. The volume is high, and the team wants to minimize latency and cost. Which approach should the architect recommend?

A.Load raw JSON into a staging table using Snowpipe, then use a Stream and a Task to transform and merge into the reporting table.
B.Create a materialized view on the staging table that automatically flattens the JSON and applies business rules.
C.Use a Snowpipe with a COPY INTO statement that includes a transformation query to flatten and transform the JSON during load.
D.Use an external function to call an AWS Lambda that transforms the JSON before loading into Snowflake.
AnswerA

This approach decouples ingestion from transformation, allowing Snowpipe to load raw data quickly while a stream captures new rows. A task can then process only the new data, flatten the JSON, apply business rules, and merge into the reporting table. It minimizes latency and cost by processing incrementally and leveraging Snowflake's native scheduling.

Why this answer

The recommended approach is to load raw JSON into a staging table via Snowpipe, then use a stream and task to incrementally transform and merge into the reporting table. This leverages Snowflake's native change tracking and scheduling, processes only new data, and avoids external dependencies. It balances latency and cost effectively for high-volume semi-structured data.

Exam trap

The trap here is assuming that COPY INTO can perform complex flattening and business rule transformations during load, which it cannot.

100
MCQmedium

A retailer has a 50TB table containing transaction logs. Users frequently query specific transaction_id values (highly selective point lookups) but also run daily reports aggregated by transaction_date. The table is currently clustered by transaction_date. What is the most cost-effective way to improve point lookup performance without degrading report performance?

A.Re-cluster the table by transaction_id and transaction_date.
B.Increase the Virtual Warehouse size to X-Large.
C.Enable the Search Optimization Service on the transaction_id column.
D.Create a Materialized View on transaction_id.
AnswerC

Search Optimization is specifically designed for highly selective queries on non-clustered columns. By adding this service to the transaction ID, Snowflake builds an access path that skips irrelevant micro-partitions. This approach preserves the existing date-based clustering, ensuring that both point lookups and daily aggregate reports remain highly performant.

Why this answer

Point lookups on high-cardinality columns like IDs benefit significantly from the Search Optimization Service because it creates a persistent data structure to locate specific rows without scanning entire micro-partitions. Unlike re-clustering, SOS does not change the physical layout of the data, allowing the existing clustering on date to remain optimal for range-based analytical reporting while drastically reducing latency for needle-in-a-haystack queries.

Exam trap

Candidates often try to re-cluster the table by the lookup column, which ruins the existing date-based reporting performance and wastes compute credits.

101
MCQhard

A financial services firm uses Snowflake with Tri-Secret Secure. They have integrated AWS KMS with Snowflake and manage their own key. During a security audit, the auditor asks how Snowflake ensures that data cannot be decrypted if the customer revokes access to their key. Which statement accurately describes the behavior?

A.Revoking the key only prevents new data from being encrypted, but existing data remains accessible.
B.Snowflake stores a copy of the customer's key in an encrypted vault to ensure availability.
C.If the customer revokes the key, Snowflake immediately loses the ability to decrypt data, and data becomes inaccessible.
D.Snowflake can still decrypt data using its internal key, but the customer's key is required for auditing.
AnswerC

In Tri-Secret Secure, Snowflake combines a Snowflake-managed key with a customer-managed key. If the customer revokes access to their key in the KMS, Snowflake cannot retrieve it, and thus cannot decrypt the data. This provides an effective kill switch, ensuring data is inaccessible without the customer's key.

Why this answer

Tri-Secret Secure uses a composite master key consisting of a Snowflake-managed key and a customer-managed key. If the customer revokes access to their key, Snowflake cannot reconstruct the composite key, making data undecryptable. This provides a strong security control where the customer retains ultimate control over data access.

Other options incorrectly suggest Snowflake retains a copy or can bypass the customer key.

Exam trap

The trap here is thinking Snowflake keeps a backup of the customer key or can decrypt without it, which contradicts the zero-trust model of Tri-Secret Secure.

102
MCQhard

A security architect is configuring access control for a Snowflake environment. They need to ensure that a service account used by an ETL tool can only access specific tables in a schema and cannot create or drop any objects. The ETL tool connects using key-pair authentication. Which set of privileges should be granted to the service account's role to adhere to the principle of least privilege?

A.Grant USAGE on the database and schema, and CREATE TABLE on the schema.
B.Grant USAGE on the database and schema, and SELECT on all tables in the schema.
C.Grant USAGE on the database and schema, and ALL PRIVILEGES on the specific tables.
D.Grant USAGE on the database and schema, and SELECT on the specific tables.
AnswerD

Granting USAGE on the database and schema allows the role to see and use these objects, while SELECT on the specific tables provides read access only. This follows least privilege because it does not allow any object creation or modification, and restricts access to only the required tables.

Why this answer

The principle of least privilege requires granting only the privileges necessary to perform the required tasks. The ETL tool needs to read specific tables, so USAGE on the database and schema plus SELECT on those tables is sufficient. This avoids unnecessary privileges like object creation or data modification.

Exam trap

The trap here is assuming that ALL PRIVILEGES on tables or SELECT on all tables in the schema is acceptable, when it grants more access than needed.

103
MCQmedium

A large retail organization is experiencing slow performance on a specific set of complex queries that filter by a non-clustered high-cardinality timestamp column. Which architectural feature of Snowflake should the architect prioritize to optimize these specific lookups without manually rebuilding the entire table structure?

A.Manually re-sorting the data using an ORDER BY clause during a table rewrite.
B.Implementing a Materialized View on the timestamp column.
C.Enabling the Search Optimization Service for the specific table and column.
D.Increasing the size of the Virtual Warehouse to a larger T-shirt size.
AnswerC

The Search Optimization Service is specifically designed to improve the performance of point lookup queries on large tables by using a specialized search access path. It is ideal for high-cardinality columns where the query filters a small fraction of the total rows, allowing the system to skip irrelevant micro-partitions more efficiently than standard pruning.

Why this answer

Snowflake utilizes Search Optimization Service (SOS) as a background process that creates a specialized persistent data structure to accelerate point lookup queries on specific columns. This is particularly effective for high-cardinality columns where traditional micro-partition pruning is less effective. SOS operates independently of the table clustering, providing a maintenance-free way to improve performance for highly selective filters in large datasets.

Exam trap

Candidates often choose clustering keys for high-cardinality timestamp columns, overlooking that frequent point lookups on high-cardinality columns perform poorly with micro-partition pruning alone and require the Search Optimization Service.

104
MCQhard

Refer to the exhibit. An architect observes these statistics in the Query Profile for a nightly batch job. What is the most effective architectural change to address the performance bottleneck shown?

A.Implement a Search Optimization Service on the join columns to reduce the number of partitions scanned.
B.Enable the Query Acceleration Service (QAS) for the warehouse to handle the excess data volume.
C.Increase the virtual warehouse size (e.g., from Medium to Large or X-Large).
D.Rewrite the query to use a LATERAL FLATTEN on the largest tables to optimize memory usage.
AnswerC

Scaling up the warehouse provides each compute node with more RAM and larger local SSD storage. Since the query is spilling significantly to remote storage, a larger warehouse will likely keep more data in memory or local disk, drastically reducing the latency caused by slow network-based I/O.

Why this answer

The exhibit shows significant 'spilling to remote storage', which occurs when the local SSD of the virtual warehouse is exhausted during a memory-intensive operation like a large join or sort. Remote spilling is much slower than local spilling. The primary solution is to increase the warehouse size to provide more memory and local disk.

Exam trap

Candidates often suggest optimizing the query SQL or adding indexes, missing that 'spilling to remote storage' is a hardware/resource constraint that can only be solved by increasing the warehouse size.

105
MCQeasy

A Snowflake architect is explaining the layers of Snowflake's architecture to a new team. Which layer is responsible for managing metadata, optimizing queries, and providing transaction management?

A.Compute layer
B.Database layer
C.Storage layer
D.Cloud Services layer
AnswerD

The Cloud Services layer is the brain of Snowflake. It handles metadata management, query parsing and optimization, transaction management, and access control. It ensures ACID compliance and coordinates all activities across the platform. This layer is responsible for the services that make Snowflake a fully managed, transactional data warehouse.

Why this answer

Snowflake's architecture consists of three layers: storage, compute, and Cloud Services. The Cloud Services layer is responsible for metadata management, query optimization, transaction management, and access control. It coordinates all activities and ensures ACID compliance.

The compute layer executes queries, and the storage layer stores data. Thus, the Cloud Services layer is the correct answer.

Exam trap

The trap here is attributing metadata and transaction management to the compute or storage layer, when these are centralized in the Cloud Services layer.

106
MCQhard

What happens when a Virtual Warehouse is 'resized' to a larger size while queries are currently running on it?

A.All running queries are terminated and restarted.
B.The warehouse is paused until all current queries finish.
C.Running queries continue on the original resources; new queries use the new size.
D.The warehouse creates a new temporary warehouse.
AnswerC

This is the correct behavior. The existing nodes continue processing their assigned tasks until completion. As soon as the resize completes, any new queries submitted to the warehouse are routed to the expanded compute infrastructure, enabling immediate benefit from the additional power without impacting existing work in progress.

Why this answer

Resizing a warehouse is a dynamic operation. When you increase the size, Snowflake adds new compute nodes to the existing cluster. The currently running queries continue to run on the old nodes, while all new queries submitted after the resize operation begin using the new, larger capacity.

This allows for seamless scaling without interrupting or failing active queries, which is critical for high-availability production environments requiring zero downtime.

Exam trap

Candidates often assume that resizing a warehouse immediately impacts currently running queries, causing them to run faster. They ignore the fact that current queries are pinned to the original resources until completion.

107
MCQmedium

An e-commerce company wants to analyze JSON data stored in an external stage on Amazon S3. The JSON files contain nested arrays and objects, and the schema varies between files. The architect needs to query this data with Snowflake while minimizing data duplication and storage costs. Which approach should the architect recommend?

A.Create a materialized view over the external stage that shreds the JSON into relational columns.
B.Create an external table with a VARIANT column and use the FLATTEN function to query nested elements.
C.Use a directory table and a stored procedure to parse and insert JSON into a relational table.
D.Load the JSON files into a Snowflake table with a VARIANT column using COPY INTO, then query with FLATTEN.
AnswerB

External tables allow querying data directly from the external stage without loading it into Snowflake, avoiding duplication and storage costs. Using a VARIANT column accommodates the semi-structured and variable schema, and FLATTEN enables querying nested arrays and objects. This approach meets the requirement to analyze JSON data while minimizing data movement and storage.

Why this answer

External tables with a VARIANT column allow direct querying of JSON in the external stage without loading, avoiding duplication and storage costs. FLATTEN handles nested structures. This is the most efficient approach for variable-schema JSON when the goal is to minimize data movement and storage, unlike loading into a table or using materialized views.

Exam trap

The trap here is assuming that loading JSON into a Snowflake table is necessary for querying with FLATTEN, but external tables support VARIANT and FLATTEN directly.

108
MCQeasy

What is the function of the 'Snowflake Data Storage' layer in the overall architecture?

A.It manages user connections and sessions.
B.It stores and organizes data in a proprietary, columnar format.
C.It executes queries and processes data transformations.
D.It keeps track of query history and metadata.
AnswerB

The Data Storage layer automatically organizes data into immutable micro-partitions. This columnar format is highly optimized for analytical queries, enabling efficient data retrieval by reading only the necessary columns. This managed approach removes the need for manual performance tuning or storage indexing, which is a key architectural advantage of Snowflake.

Why this answer

The Data Storage layer is responsible for the persistent storage of data, which is organized into micro-partitions and stored in a proprietary, compressed, and columnar format. It is completely managed by Snowflake, meaning users do not need to worry about storage management, file indexing, or configuration. This layer acts as the foundation, allowing the compute layer to access data independently while maintaining high reliability, durability, and performance for various analytical workloads.

Exam trap

Candidates often assume that users must manage the storage format or indexing, failing to recognize that Snowflake's storage layer is fully managed and proprietary.

109
MCQmedium

A company wants to share a large dataset with a consumer who is in a different Snowflake region but on the same cloud provider. What is the most architecturally sound way to achieve this while ensuring the consumer has the most up-to-date data?

A.Replicate the database to the consumer's region and then create a Share from the replica.
B.Use a Secure Data Share directly across regions as Snowflake handles this automatically.
C.Provide the consumer with a Storage Integration to the provider's S3 bucket in the original region.
D.Create a Data Exchange and invite the consumer to join the exchange from their region.
AnswerA

Snowflake's cross-region sharing requires the data to be physically present in the target region first. By replicating the database, the provider ensures that a read-only copy is maintained in the consumer's region, which can then be shared securely using standard Snowflake sharing mechanisms without data leaving the region again.

Why this answer

Snowflake Secure Data Sharing is restricted to the same region. To share across regions, the provider must first use Database Replication to move the data to a secondary database in the consumer's region. Once replicated, the data can be shared locally within that region, providing the consumer with a consistent and high-performance experience.

Exam trap

Candidates often mistakenly believe Secure Data Sharing works natively across regions without any additional steps, ignoring the requirement for database replication in the consumer region.

110
MCQmedium

When a query is slow, which Snowflake feature provides the most granular details about the time spent in every operator (e.g., Join, Filter, Aggregate)?

A.Snowflake Query History.
B.The Query Profile tool.
C.The SHOW METRICS command.
D.The EXPLAIN command.
AnswerB

The Query Profile is designed to show the performance of every individual operator within a query. It includes details on data volume, memory usage, spill counts, and time taken. This granularity is essential for pinpointing the exact cause of a query's slowness, whether it is a join, a scan, or an aggregation.

Why this answer

The Query Profile is the single most important diagnostic tool for performance tuning in Snowflake. It provides a hierarchical view of the query execution plan, showing exactly how much time was spent in each operator. By analyzing the time spent in joins, filters, or aggregations, an architect can identify the exact source of performance bottlenecks, such as spilling or scan inefficiencies, for rapid remediation.

Exam trap

Candidates often look at the Query History or Account Usage views to diagnose a slow query, missing that these only provide high-level metrics without the operator-level detail.

111
Multi-Selectmedium

An architect is designing a staging area for a data pipeline where data will only be needed for 24 hours before being transformed and moved. Which TWO table types would be most cost-effective for this scenario? (Select TWO)

Select 2 answers
A.Permanent tables with a 1-day Time Travel retention period.
B.Transient tables, as they do not incur Fail-safe storage costs.
C.Temporary tables, which are automatically dropped at the end of the session.
D.External tables pointing to a folder in an S3 bucket.
E.Materialized views created on top of the source external stage.
AnswersB, C

Transient tables are designed specifically for data that does not require the high-availability protection of Fail-safe. They support up to 1 day of Time Travel, allowing for recovery from accidental errors during the ETL process, but they completely bypass the 7-day Fail-safe period, significantly reducing storage costs for short-term staging data.

Why this answer

Temporary and Transient tables are the most cost-effective choices for short-lived data. Temporary tables are tied to a session, making them ideal for ETL steps. Transient tables persist across sessions but lack Fail-safe storage, reducing costs for data that can be easily recreated.

Both types avoid the 7-day Fail-safe storage charges associated with Permanent tables.

Exam trap

Candidates often select permanent tables for short-lived staging data, forgetting that permanent tables incur unnecessary 7-day Fail-safe storage costs that transient and temporary tables successfully avoid.

112
MCQhard

An architect is tasked with auditing all failed login attempts for a security investigation. Which view should be queried?

A.QUERY_HISTORY
B.ACCESS_HISTORY
C.LOGIN_HISTORY
D.SESSIONS
AnswerC

LOGIN_HISTORY is the authoritative source for tracking authentication activity. It contains columns for the event status, including failures, the user attempting to log in, and the source IP, which are critical data points for performing a thorough security audit regarding unauthorized access attempts or credential testing.

Why this answer

The ACCOUNT_USAGE schema provides historical metadata about account activity. Specifically, the LOGIN_HISTORY view records all login attempts, including successes and failures, the client used, and the source IP address. Querying this view is essential for security architects to identify brute-force attacks or anomalous behavior, allowing them to take proactive measures such as updating network policies or flagging compromised accounts, thereby maintaining the overall integrity and security posture of the Snowflake environment.

Exam trap

Candidates often choose QUERY_HISTORY or ACCESS_HISTORY instead of LOGIN_HISTORY when specifically looking for failed authentication attempts.

113
Multi-Selectmedium

Which THREE of the following functions are primarily handled by the Snowflake Cloud Services layer? (Choose THREE)

Select 3 answers
A.Authentication and access control for users and applications.
B.Executing complex JOIN operations between large tables.
C.Maintaining metadata for micro-partitions and table versions.
D.Query optimization and generation of execution plans.
E.Physically storing the data in encrypted S3 or Azure Blobs.
AnswersA, C, D

Authentication is a core security function managed within the global services layer to ensure that only authorized users can access the system before any compute resources are engaged. It handles the validation of credentials and the enforcement of role-based access control policies across the entire Snowflake account.

Why this answer

The Cloud Services layer is the 'brain' of Snowflake, managing the overall state and coordination of the system. It handles tasks that do not require the heavy computational power of virtual warehouses, such as security, metadata management, and query optimization. Understanding the separation between compute, storage, and services is fundamental to passing the Architect exam and optimizing Snowflake costs.

Exam trap

Candidates often attribute query execution and data loading tasks to the Cloud Services layer, confusing the orchestration brain with the virtual warehouse compute resources.

114
MCQhard

Refer to the exhibit. Based on the security integration definition provided, what is the primary purpose of the 'token_user_field' parameter in this specific configuration?

A.It specifies the Snowflake role that the user will be assigned when they connect via the OAuth provider.
B.It defines the field in the OAuth token that Snowflake uses to match against the login_name of a Snowflake user.
C.It identifies the public key used to verify the digital signature of the incoming OAuth access token.
D.It determines the audience for which the token was issued to prevent token substitution attacks.
AnswerB

The `token_user_field` parameter identifies the claim within the JWT, such as 'upn' or 'email', that Snowflake will extract to find a matching user record. If the value in this field does not match a user's `login_name` in Snowflake, the authentication attempt will fail because the identity cannot be resolved.

Why this answer

External OAuth allows third-party identity providers like Azure AD to authorize access to Snowflake. The `token_user_field` is a critical configuration parameter that tells Snowflake which claim in the incoming JWT (JSON Web Token) should be used to identify the Snowflake user. In this exhibit, setting it to 'upn' ensures the user identity is mapped correctly from the Microsoft environment.

Exam trap

Candidates often confuse the 'token_user_field' with the 'issuer' or 'client_id', failing to understand that this field specifically maps the identity provider's claim to the Snowflake login_name.

115
MCQeasy

A data architect is designing a pipeline that uses Snowpipe to load data from an external stage. The architect wants to ensure that data is loaded as soon as files are available and that the load is triggered automatically. Which mechanism should be used to notify Snowpipe of new files?

A.Configure the pipe with AUTO_INGEST = TRUE and manually call ALTER PIPE ... REFRESH.
B.Create a task that calls the Snowpipe REST API to ingest files on a schedule.
C.Configure a cloud storage event notification that triggers Snowpipe via a notification integration.
D.Use a Snowflake stream on the external stage to detect new files.
AnswerC

Snowpipe supports event notifications from cloud storage services (e.g., AWS S3, Azure Blob Storage, Google Cloud Storage) through a notification integration. When a new file is created, the storage service sends an event to Snowflake, which triggers the pipe to load the file automatically. This provides near-real-time ingestion without manual intervention.

Why this answer

The correct mechanism is to configure a cloud storage event notification that triggers Snowpipe via a notification integration. This enables Snowpipe to automatically load new files as soon as they are written to the stage, providing near-real-time data ingestion. It eliminates the need for polling or manual refreshes.

Exam trap

The trap here is thinking that setting AUTO_INGEST = TRUE alone is sufficient, but it also requires the cloud storage event notification to be configured to actually trigger the pipe.

116
MCQmedium

A healthcare company stores PHI in a Snowflake database and must ensure that only authorized roles can decrypt the data at rest. They want an additional layer of protection so that even Snowflake cannot access the data without a customer-held key. Which Snowflake feature should the architect implement?

A.Network policies with private connectivity
B.Column-level security with masking policies
C.Client-side encryption with Snowflake's ENCRYPT function
D.Tri-Secret Secure
AnswerD

Tri-Secret Secure combines a customer-managed key in a cloud KMS with Snowflake's internal key, creating a composite master key. This ensures that data cannot be decrypted without the customer's key, satisfying the requirement that even Snowflake cannot access data without customer consent. It is the correct choice for an additional layer of protection for data at rest.

Why this answer

Tri-Secret Secure is designed to give customers control over a key that is part of the encryption hierarchy. By combining a customer-managed key with Snowflake's key, it ensures that data cannot be decrypted without the customer's key, providing an extra layer of protection. This directly addresses the need for customer-controlled encryption at rest.

Exam trap

The trap here is confusing access control features like masking policies with encryption key management features.

117
MCQmedium

An architect is designing a dashboard that runs a query joining a 5 TB fact table to a small 2 GB dimension table. The fact table is not clustered, and the dimension table is updated hourly. The query filters on a high-cardinality column in the fact table and joins on a low-cardinality key. The architect wants to minimize query latency without increasing warehouse size. Which approach is most effective?

A.Add a clustering key on the fact table's high-cardinality filter column.
B.Enable the Search Optimization Service on the fact table.
C.Materialize the join as a new table and refresh it hourly.
D.Increase the warehouse size to add more compute nodes.
AnswerA

Clustering the fact table on the high-cardinality filter column improves partition pruning, so the query reads fewer micro-partitions. This reduces I/O and speeds up the join without resizing the warehouse. Since the dimension is small, it can be broadcast or cached, so the main bottleneck is scanning the large fact table. Clustering directly addresses that bottleneck.

Why this answer

The query's main cost is scanning the large fact table. Clustering on the high-cardinality filter column enables partition pruning, reducing I/O. The small dimension table does not warrant special handling.

Search Optimization is for point lookups, materializing adds overhead, and resizing does not address the root cause of excessive data scanning.

Exam trap

The trap here is assuming that Search Optimization Service can replace clustering for all selective queries, when it is actually optimized for point lookups and may not help with range scans or joins.

118
MCQmedium

A Snowflake architect is reviewing a query that uses a window function partitioned by customer_id and ordered by transaction_date. The query processes a 1TB table and runs slowly. The architect notices that the table is not clustered. Which action should the architect take to improve performance?

A.Increase the warehouse size to provide more compute for the window function.
B.Use the Search Optimization Service on the customer_id column.
C.Cluster the table on customer_id and transaction_date.
D.Create a materialized view that pre-computes the window function.
AnswerC

Clustering on the partition and order columns of the window function allows Snowflake to co-locate related rows, reducing data shuffling and improving the efficiency of the window computation. This can significantly speed up the query by minimizing the amount of data that must be sorted and processed within each partition.

Why this answer

Clustering on the columns used in the window function's PARTITION BY and ORDER BY clauses co-locates related data, reducing shuffling and sorting during query execution. This directly improves the performance of window functions on large tables. Other options either do not address data organization or are not applicable.

Exam trap

The trap here is assuming that increasing warehouse size will always improve window function performance, when data clustering is often more impactful for large-scale sorts and partitions.

119
MCQhard

A Snowflake architect is analyzing a query that performs a large aggregation over a fact table with billions of rows. The query profile shows that the aggregation step is spilling to local disk, and the warehouse is a 2XL multi-cluster warehouse with 4 clusters. The architect wants to reduce the spilling and improve performance. Which action is most likely to achieve this?

A.Increase the number of clusters in the multi-cluster warehouse to 8.
B.Reduce the size of the warehouse to a smaller size to decrease spilling.
C.Scale up the warehouse to a larger size to provide more memory per node.
D.Enable the Query Acceleration Service to offload the aggregation.
AnswerC

Scaling up the warehouse increases the compute and memory resources per node. A larger warehouse, such as a 3XL or 4XL, provides more memory for each node to hold intermediate aggregation results, reducing the need to spill to disk. This directly addresses the spilling issue and can significantly improve query performance.

Why this answer

Spilling to local disk during aggregation indicates that the query's working set exceeds the available memory per node. Scaling up the warehouse increases memory per node, allowing the aggregation to be processed in memory and reducing spilling. Adding clusters or enabling QAS does not address the per-query memory limitation.

Exam trap

The trap here is confusing concurrency scaling (adding clusters) with scaling up for per-query performance, and assuming QAS can fix any performance issue.

120
Multi-Selectmedium

Which TWO of the following statements correctly describe the behavior of Key Pair Authentication in Snowflake?

Select 2 answers
A.The private key is stored in the Snowflake user object.
B.The public key must be associated with the user profile.
C.Key pair authentication is only supported for the ACCOUNTADMIN role.
D.Key rotation involves updating the public key in the Snowflake user object.
E.Snowflake manages the generation of the private key.
AnswersB, D

To enable key pair authentication, the public key must be converted to a specific format and associated with the Snowflake user via an ALTER USER command. Snowflake uses this stored public key to verify the signature generated by the client's private key during the authentication sequence, confirming the user's identity.

Why this answer

Key Pair Authentication replaces traditional password authentication with a cryptographic approach using a private key stored locally and a public key registered in Snowflake. This is essential for automated services and programmatic access where hardcoded passwords pose security risks. By rotating keys and managing the public key in the user object, security architects can implement high-assurance machine-to-machine authentication protocols that eliminate the risks of credential leakage.

Exam trap

Candidates often assume that Key Pair Authentication requires a certificate authority or that the private key must be uploaded to Snowflake. They fail to understand that only the public key is registered in Snowflake.

121
Multi-Selectmedium

A Snowflake architect is optimizing a slow query that performs a large aggregation over a fact table. The query profile shows that the Aggregation operator is taking a long time. Which TWO actions are most likely to improve the performance of this aggregation? (Choose two.)

Select 2 answers
A.Use a materialized view that pre-aggregates the data.
B.Rewrite the query to use a window function instead of GROUP BY.
C.Increase the size of the virtual warehouse to add more compute resources.
D.Add a clustering key on the columns used in the GROUP BY clause.
E.Enable the Search Optimization Service on the fact table.
AnswersA, D

A materialized view that pre-aggregates the data can eliminate the need to compute the aggregation at query time, especially if the query matches the view's definition. This can dramatically reduce query latency. However, it requires storage and maintenance, and is only effective if the query patterns are repetitive and align with the view's aggregation.

Why this answer

Clustering on the GROUP BY columns improves data locality, reducing shuffle during aggregation, while a materialized view that pre-aggregates can avoid computing the aggregation altogether for matching queries. Both directly target the aggregation bottleneck. Scaling up or enabling Search Optimization Service do not address the core issue of data organization for aggregation.

Exam trap

The trap here is assuming that any performance feature like Search Optimization Service or simply scaling up will fix aggregation slowness, when the key is to optimize how data is grouped and pre-aggregated.

122
MCQeasy

A data architect notices that a recurring batch job that loads data into a Snowflake table and then runs a series of transformation queries is taking longer than expected. The transformation queries involve multiple joins and aggregations. The architect wants to ensure that the warehouse is adequately sized for the workload without over-provisioning. Which Snowflake feature should the architect use to analyze the performance of individual queries and identify bottlenecks?

A.Warehouse load monitoring in the Snowflake web interface.
B.Snowflake's automatic clustering recommendations.
C.Query Profile in the Snowflake web interface.
D.ACCOUNT_USAGE.QUERY_HISTORY view.
AnswerC

Query Profile provides a graphical representation of the query execution plan, showing operators, time spent, rows processed, and spilling. It is the primary tool for diagnosing performance issues at the query level. The architect can use it to identify which parts of the transformation queries are slow, such as joins or aggregations, and then decide on warehouse sizing or query tuning.

Why this answer

Query Profile is the dedicated tool for examining query execution plans and operator-level metrics. It helps identify bottlenecks like expensive joins or aggregations. Other options provide either high-level metadata or capacity information, but not the granular execution details needed for tuning individual queries.

Exam trap

The trap here is confusing monitoring tools like QUERY_HISTORY with diagnostic tools like Query Profile; the former gives metadata, while the latter gives execution details.

123
MCQhard

A data architect is designing a pipeline that ingests streaming data into a Snowflake table. The data must be transformed with a Python UDF that calls an external API for enrichment. The architect wants to minimize latency and ensure the UDF can scale independently. Which Snowflake feature should be used?

A.Create a JavaScript UDF and call the external API using the built-in fetch function.
B.Use a stored procedure with Python and call the API using the requests library.
C.Create a Python UDF and use the Snowpark library to make HTTP requests.
D.Create an external function that calls the API via an API integration and use it in the transformation.
AnswerD

External functions in Snowflake allow you to call code outside Snowflake, such as a cloud function or API gateway, through an API integration. This enables secure outbound network access and independent scaling of the external service. Using an external function for API enrichment is the recommended approach for calling external APIs from SQL.

Why this answer

External functions are specifically designed to call external services via API integrations, providing secure and scalable access to external APIs. They allow the external service to scale independently from Snowflake warehouses, and they are invoked from SQL like regular functions. This makes them ideal for enriching streaming data with external API calls while minimizing latency and ensuring scalability.

Exam trap

The trap here is assuming that Python UDFs or stored procedures can make outbound HTTP requests, but Snowflake's sandbox prevents direct network access from these constructs.

124
MCQmedium

Refer to the exhibit. An architect attempts to connect to Snowflake from 10.0.0.5. Based on the configuration, what will happen?

A.The connection is successful.
B.The connection is rejected.
C.The connection depends on the user's role.
D.The connection is deferred to the secondary policy.
AnswerB

The connection is rejected because 10.0.0.5 falls within the blocked 10.0.0.0/8 CIDR range. In Snowflake network policy evaluation logic, an explicit block always overrides an allow entry, providing a definitive security posture that prevents unauthorized access from specific network segments, even if misconfigurations exist elsewhere in the policy.

Why this answer

Snowflake evaluates network policies by checking the blocked list first, then the allowed list. Because the IP 10.0.0.5 falls within the 10.0.0.0/8 range defined in the blocked_ip_list, the connection request is rejected immediately. Even if the IP were also in an allowed range, the explicit block takes precedence, ensuring that known malicious or restricted subnets are denied access regardless of other configuration settings within the specific network policy applied to the account.

Exam trap

Many candidates assume that an allowed IP range overrides a blocked list entry, forgetting that Snowflake evaluates blocked lists first.

125
MCQhard

Refer to the exhibit. What is the most likely performance issue here?

A.The warehouse is too small for the amount of data.
B.The table is not effectively clustered by the date column.
C.The result cache is disabled.
D.The query is missing a search optimization index.
AnswerB

When a query filters by a specific range and scans all partitions, it is a clear sign that the physical data layout does not support the query filter. By clustering the table by the date column, the engine can identify and skip partitions that fall outside the specified date range.

Why this answer

The exhibit shows that the query scanned all 1,000 partitions despite applying a filter on a date range. This indicates that the data is not physically organized by the date column, preventing the engine from performing partition pruning. Because no partitions could be skipped, the engine was forced to scan every single micro-partition, leading to long execution times regardless of the filter's narrow range.

Exam trap

Candidates often assume that because a filter is present, the query should be fast, ignoring that the physical layout of the data must support that filter via pruning.

126
MCQmedium

Refer to the exhibit. A user runs a query that returns results in 0.2 seconds and shows 'Result Cache used' in the Query Profile. Where did Snowflake retrieve this data from?

A.The Virtual Warehouse local SSD cache.
B.The centralized cloud storage bucket.
C.The Cloud Services layer.
D.The local disk of the user's client.
AnswerC

The Cloud Services layer maintains the result cache. When a query is submitted, Snowflake checks if an identical query exists in the cache. If found, the result is returned immediately without utilizing any compute resources from a Virtual Warehouse, providing significant performance and cost efficiency benefits.

Why this answer

When Snowflake detects a query that matches a previously executed result set, it uses the Result Cache located in the Cloud Services layer. This avoids spinning up or utilizing a Virtual Warehouse, which is why the execution time is extremely low. Understanding this mechanism is crucial for architects to optimize costs by leveraging existing cached result sets instead of re-running compute-heavy analytical queries unnecessarily.

Exam trap

Candidates often mistakenly believe the Result Cache is stored within the Virtual Warehouse. They assume that if a warehouse is suspended, the result cache is lost or inaccessible, which is incorrect.

127
MCQmedium

A SnowPro Advanced Architect is designing a new fact table that will be loaded incrementally each day with 500 million rows. The table will be queried primarily by a small set of high-concurrency BI dashboards filtering on order_date and product_category. The architect wants to minimize micro-partition scanning for these queries. Which table design approach should the architect choose?

A.Define a clustering key on (order_date, product_category) to co-locate related rows in the same micro-partitions.
B.Create a materialized view that pre-aggregates the fact table by order_date and product_category.
C.Partition the table manually by order_date using separate tables per month and a UNION ALL view.
D.Enable the Search Optimization Service on the fact table to speed up point lookups on order_date and product_category.
AnswerA

A clustering key on the most frequently filtered columns, order_date and product_category, co-locates rows with similar values into the same micro-partitions. This reduces the number of micro-partitions scanned by dashboard queries that filter on these columns, improving pruning and lowering latency. Because the table is loaded incrementally, Snowflake's automatic clustering will maintain the clustering as new data arrives, keeping the layout efficient over time.

Why this answer

The scenario calls for reducing micro-partition scanning for range and equality filters on order_date and product_category. A clustering key on those columns aligns rows with similar values into the same micro-partitions, so the optimizer can prune more effectively. Automatic clustering maintains the layout as new data is inserted, which is critical for an incrementally loaded fact table.

Other options either do not improve pruning or add unnecessary complexity and cost.

Exam trap

The trap here is assuming that any performance feature, such as Search Optimization or a materialized view, will improve pruning for broad analytical filters, when clustering is the feature specifically designed for that access pattern.

128
Multi-Selectmedium

An architect needs to implement a Change Data Capture (CDC) process for data stored in an external S3 bucket without moving all data into Snowflake first. Which TWO features must be combined to track new and modified files efficiently? (Select TWO)

Select 2 answers
A.Directory Tables with AUTO_REFRESH = TRUE
B.Streams created on the Directory Table
C.Snowpipe with a custom REST API integration
D.Materialized Views on the External Table
E.External Functions to trigger AWS Lambda
AnswersA, B

Directory tables store metadata about files in a stage, and enabling AUTO_REFRESH ensures that the metadata is updated via cloud event notifications. This provides a queryable interface to see what files exist, which is a prerequisite for tracking changes in the external storage environment.

Why this answer

Capturing changes from external tables requires a combination of directory tables and streams. Directory tables provide a catalog of files in the stage, while streams track the metadata changes. This architecture allows Snowflake to react to new files landing in cloud storage without needing to constantly poll the entire bucket.

Exam trap

Candidates often suggest using standard Streams on external storage, forgetting that Streams cannot be created directly on external buckets; they require an intermediate Directory Table to track file metadata.

129
MCQhard

A Snowflake architect is analyzing a slow-running query that joins two large tables and aggregates results. The query profile shows a significant amount of time spent in the 'Join' operator and a large number of rows spilled to local storage. The join condition uses a non-equality predicate (e.g., range join). Which optimization technique is most likely to improve performance?

A.Rewrite the query to use an equality join by adding a derived join key.
B.Enable the Query Acceleration Service on the warehouse.
C.Add a clustering key on the join columns of both tables.
D.Increase the warehouse size to add more memory per node.
AnswerA

Range joins can be inefficient because they cannot use hash joins and often result in nested loops or sort-merge joins with high spilling. By adding a derived equality key (e.g., bucketing or rounding), the query can use a hash join, which is more efficient and reduces data shuffling and spilling. This directly addresses the bottleneck shown in the query profile.

Why this answer

The query profile indicates a costly range join with spilling. Converting to an equality join via a derived key allows Snowflake to use a hash join, which is more scalable and reduces memory pressure. Other options either do not change the join algorithm or are less targeted for this specific bottleneck.

Exam trap

The trap here is assuming that scaling up the warehouse will always fix spilling, but spilling can be caused by inefficient join algorithms that persist regardless of memory size.

130
MCQhard

An architect is designing a multi-cluster warehouse for a retail analytics workload that experiences unpredictable spikes in concurrency. The warehouse is configured with a minimum of 2 clusters and a maximum of 10 clusters, scaling policy set to Economy. During a sudden spike, queries are queuing despite the warehouse scaling out to 6 clusters. What is the most likely cause of the queuing?

A.The Economy scaling policy adds clusters more slowly than the Standard policy, causing queries to queue during rapid spikes.
B.The queries are not suitable for multi-cluster warehouses because they are too complex.
C.The warehouse is configured with a maximum cluster count that is too low for the workload.
D.The warehouse has reached the limit of concurrent queries per cluster, so adding more clusters does not help.
AnswerA

The Economy scaling policy is designed to favor cost savings by scaling out more conservatively and scaling in aggressively. It may take longer to add clusters during a sudden spike, leading to temporary queuing even if the maximum cluster count has not been reached. The Standard policy would add clusters more quickly, reducing queuing at the expense of higher cost.

Why this answer

The Economy scaling policy prioritizes cost by scaling out slowly and scaling in quickly. During a sudden spike, it may not add clusters fast enough to prevent queuing, even if the maximum cluster count is not reached. The Standard policy would scale out more aggressively to minimize queuing.

Exam trap

The trap here is assuming that queuing always means the maximum cluster count is too low, when the scaling policy's aggressiveness can also cause temporary queuing.

131
MCQmedium

A data engineer needs to copy data from an internal stage into a Snowflake table. The stage contains files with a mix of valid and malformed records. The engineer wants to load all valid records and capture the malformed ones for later analysis without failing the entire load. Which COPY INTO option should be used?

A.VALIDATION_MODE = 'RETURN_ERRORS'
B.ON_ERROR = 'CONTINUE'
C.ON_ERROR = 'ABORT_STATEMENT'
D.ON_ERROR = 'SKIP_FILE'
AnswerB

ON_ERROR = 'CONTINUE' instructs COPY INTO to skip any rows that cause errors and continue loading the remaining rows. It allows the load to succeed even if some records are malformed, and the skipped rows can be retrieved from the load metadata for analysis. This exactly matches the requirement to load valid records and capture malformed ones.

Why this answer

ON_ERROR = 'CONTINUE' is the correct option because it allows the COPY INTO operation to skip erroneous rows and load all valid ones. The rejected rows are recorded in the load metadata, which can be queried using the VALIDATE function or by checking the COPY_HISTORY. This provides a way to capture malformed records for later analysis while ensuring valid data is loaded.

Exam trap

The trap here is confusing ON_ERROR = 'CONTINUE' with VALIDATION_MODE, which only validates without loading, or with SKIP_FILE, which skips entire files rather than individual rows.

132
Multi-Selectmedium

An architect is designing a secure data sharing strategy using Snowflake's Data Sharing feature. The goal is to share a subset of data with a partner account while ensuring that the partner cannot access underlying micro-partitions directly and that the shared data is always up-to-date. Which two statements are true regarding Snowflake Data Sharing? (Choose two.)

Select 2 answers
A.The consumer can modify the shared data by inserting new rows into the shared tables.
B.Data sharing provides live, read-only access to the shared data without copying it, ensuring the partner always sees the latest changes.
C.Data sharing requires the consumer to have a Snowflake account in the same cloud region as the provider.
D.The consumer can create their own micro-partitions on the shared data to improve query performance.
E.The provider can share data using a share object that grants USAGE privileges on specific database objects to the consumer.
AnswersB, E

Snowflake Data Sharing creates a secure view or database object that references the provider's data. The consumer queries the data directly from the provider's storage, so any updates are immediately visible. No data is copied, and access is read-only, ensuring real-time consistency and eliminating data duplication.

Why this answer

Snowflake Data Sharing provides live, read-only access to data without copying, and providers use share objects to grant granular privileges. Consumers cannot modify shared data or create micro-partitions. Cross-region sharing is possible with replication, so the same-region requirement is not absolute.

Exam trap

The trap here is assuming that shared data can be modified or that sharing is limited to the same region; in reality, it is read-only and can span regions with replication.

133
MCQhard

A Snowflake architect is investigating a query that performs poorly due to a Cartesian join between two large tables. The query is intended to join on a specific key, but the join condition is missing in the SQL. After correcting the query to include the join condition, the architect wants to ensure optimal performance. Which of the following is the most effective next step?

A.Add a clustering key on the join key in both tables.
B.Increase the warehouse size to handle the larger intermediate result set.
C.Rewrite the query to use a CROSS JOIN with a WHERE clause.
D.Verify that the join key columns in both tables have the same data type and are not implicitly cast.
AnswerD

Implicit casting of join keys can prevent efficient join methods and lead to full table scans. Ensuring both columns have identical data types allows Snowflake to use hash joins or other optimized join strategies. This is a critical step after fixing the join condition to avoid performance degradation due to type mismatches.

Why this answer

After correcting the missing join condition, the most effective next step is to ensure that the join keys have matching data types and are not subject to implicit casting. Implicit casts can prevent hash joins and cause full scans, severely impacting performance. Addressing this ensures the optimizer can choose an efficient join method before considering other optimizations like clustering.

Exam trap

The trap here is assuming that simply adding a clustering key or scaling up will solve join performance, when the root cause could be implicit type casting that prevents efficient join algorithms.

134
MCQmedium

A financial services company runs a Snowflake account in the AWS us-east-1 region. The security team mandates that all data at rest must be encrypted with customer-managed keys, and they require an audit trail of key usage. Which Snowflake feature should the architect implement to meet these requirements with minimal administrative overhead?

A.Enable client-side encryption using the Snowflake JDBC driver's encryption capabilities.
B.Implement a Snowflake External Function that encrypts data before writing to internal stages.
C.Use Snowflake's default encryption with AES-256 and enable periodic key rotation.
D.Configure Tri-Secret Secure with a customer-managed key in AWS KMS.
AnswerD

Tri-Secret Secure combines a Snowflake-managed key with a customer-managed key in AWS KMS, ensuring that data cannot be decrypted without both keys. It provides an audit trail of key usage via AWS CloudTrail and meets the requirement for customer-managed encryption at rest with minimal overhead because Snowflake integrates directly with KMS.

Why this answer

Tri-Secret Secure is the only Snowflake feature that allows customers to use their own AWS KMS key in combination with a Snowflake-managed key, providing customer-managed encryption at rest with an audit trail through AWS CloudTrail. The other options either do not provide customer-managed keys or do not meet the audit trail requirement.

Exam trap

The trap here is assuming that Snowflake's default encryption or client-side encryption satisfies customer-managed key requirements, when only Tri-Secret Secure provides that level of control.

135
MCQhard

A query that usually takes 10 seconds is now taking 5 minutes. The Query Profile shows that 'Local Disk Spilling' is high. What does this indicate about the warehouse and the query?

A.The query is waiting for metadata locks from the Cloud Services layer.
B.The network bandwidth between the warehouse and the storage layer is throttled.
C.The data processed by the query exceeds the available memory on the warehouse nodes.
D.The Result Cache has been invalidated by a concurrent DML operation.
AnswerC

When a query involves massive sorts, hashes, or joins, Snowflake attempts to perform these in memory. If the data set is too large for the allocated RAM of the warehouse size, it 'spills' the excess to local SSD. This is significantly slower than RAM, leading to the observed performance degradation.

Why this answer

Disk spilling occurs when the memory (RAM) available on the Virtual Warehouse nodes is exhausted by the query's intermediate data, such as large joins or sorts. The system first spills to local SSD (Local Spilling) and, if that is also full, to remote storage. This is a clear sign that the warehouse size is too small for the query's memory requirements.

Exam trap

Candidates often confuse local disk spilling with insufficient warehouse capacity for concurrency, incorrectly suggesting a multi-cluster warehouse (scaling out) instead of a larger warehouse size (scaling up) to provide more memory per node.

136
MCQhard

A company is moving towards an Open Data Lakehouse architecture using Snowflake Iceberg Tables. They want to ensure that the data is stored in Parquet format in their own S3 bucket but still benefit from Snowflake's performance. Which configuration should the architect recommend for the Iceberg Table's catalog?

A.Set the CATALOG to 'AWS_GLUE' to ensure that other AWS services can manage the metadata.
B.Set the CATALOG to 'SNOWFLAKE' and specify an EXTERNAL_VOLUME.
C.Use the 'EXTERNAL' catalog type and point to a Snowflake Managed Iceberg Catalog.
D.Create a standard Snowflake table and use a periodic Task to export the data to S3 in Iceberg format.
AnswerB

When the catalog is set to Snowflake, the platform handles all metadata management, allowing for performance optimizations similar to native tables. The External Volume defines the connection to the customer's S3 bucket, ensuring the data remains in their account in the open Parquet-based Iceberg format.

Why this answer

Snowflake supports two catalog options for Iceberg tables: Snowflake and External. Using Snowflake as the catalog allows Snowflake to manage the metadata and perform full DML operations, which provides the best performance and integration while still keeping the data in an open format in the customer's cloud storage.

Exam trap

Candidates frequently select an external catalog when the requirement explicitly asks for Snowflake-managed performance and full DML support on an open format table.

137
MCQmedium

A data architect is designing a pipeline that requires data freshness within 5 minutes across a series of five interdependent tables. The architect wants to minimize the operational overhead of managing task schedules and manual dependency logic. Which Snowflake feature should be prioritized to meet these requirements?

A.Standard Streams and Tasks with explicit AFTER dependencies.
B.Dynamic Tables using the TARGET_LAG parameter set to 5 minutes.
C.Materialized Views on each of the five tables with automatic clustering.
D.Snowpipe with a custom Lambda function to trigger downstream updates.
AnswerB

Snowflake manages the refresh frequency automatically based on the TARGET_LAG parameter, which eliminates the need for manual scheduling via Cron or frequency expressions. This allows architects to focus on the data logic rather than the underlying compute orchestration, leading to more resilient and maintainable data architectures in Snowflake.

Why this answer

Dynamic tables simplify data engineering by automating the refresh process based on a defined target lag rather than manual task orchestration. Snowflake's scheduler determines the optimal execution order to meet the freshness requirements across the entire graph. This shift from imperative to declarative pipelines reduces the risk of scheduling gaps and simplifies the management of complex dependencies.

Exam trap

Candidates frequently suggest manual task graphs with complex CRON schedules, overlooking that Dynamic Tables natively handle multi-layered dependency ordering and meet strict freshness targets through the TARGET_LAG parameter.

138
MCQmedium

A global enterprise is consolidating multiple Snowflake accounts into a single Organization to optimize billing and data sharing. They need to move a large production database from an account in 'aws_us_east_1' to an account in 'azure_west_us'. What is the most efficient architectural approach to achieve this while maintaining data consistency?

A.Unload data to a cross-region S3 bucket and use the COPY INTO command to load it into the Azure account.
B.Use Snowflake Data Sharing to share the database from the AWS account to the Azure account directly.
C.Enable database replication between the source AWS account and the target Azure account within the Organization.
D.Create a Clone of the database and use the Snowflake CLI to push the metadata to the Azure account.
AnswerC

Database replication allows for the asynchronous synchronization of databases across different regions and cloud providers within a Snowflake Organization. This feature provides a robust way to migrate data while preserving object metadata and ensuring that the target account remains consistent with the primary source database without complex manual intervention.

Why this answer

Consolidating multiple Snowflake accounts into a single Organization requires a strategy for moving data across regions. Snowflake's cross-region database replication is the primary mechanism for this, as it handles the underlying cloud provider differences and ensures data integrity through asynchronous synchronization. This architectural approach minimizes downtime and prevents the complexities of manual export/import processes while maintaining a single source of truth.

Exam trap

Candidates frequently suggest manual data unloading and loading via S3/Blob storage, ignoring the architectural efficiency of built-in database replication which handles cross-region synchronization automatically.

139
MCQeasy

A data engineer needs to load data from a local file system into a Snowflake table. The file is 10 GB in size and contains CSV data. The engineer wants to use the most efficient method for a one-time bulk load. Which Snowflake feature should the engineer use?

A.Snowpipe
B.Snowflake Connector for Kafka
C.COPY INTO command
D.External tables
AnswerC

The COPY INTO command is the standard and most efficient way to load data from a stage into a Snowflake table. For a local file, the engineer would first upload the file to an internal stage using PUT, then execute COPY INTO. This method is straightforward for one-time bulk loads and leverages Snowflake's parallel loading capabilities, making it ideal for a 10 GB CSV file.

Why this answer

For a one-time bulk load from a local file, the engineer should first upload the file to an internal stage with PUT, then use COPY INTO to load it into the table. COPY INTO is optimized for bulk loading and is the most efficient method. Other options are designed for continuous ingestion or external access, not bulk loading.

Exam trap

The trap here is confusing continuous ingestion tools like Snowpipe with bulk loading, when the COPY command is the correct choice for one-time loads.

140
Multi-Selectmedium

An architect is configuring key-pair authentication for a service account used by an automated ETL process. They need to ensure the private key is stored securely and the public key is assigned to the user. Which two actions should be performed? (Choose two.)

Select 2 answers
A.Assign the public key to the Snowflake user using ALTER USER ... SET RSA_PUBLIC_KEY.
B.Generate a PEM private key and store it in a secure vault accessible only to the ETL service.
C.Enable multi-factor authentication for the service account to add an extra layer of security.
D.Set the user's RSA_PUBLIC_KEY_FP parameter to the fingerprint of the private key.
E.Configure the ETL service to use the private key passphrase in the connection string.
AnswersA, B

The public key corresponding to the private key must be assigned to the Snowflake user. This is done with ALTER USER <username> SET RSA_PUBLIC_KEY='<public_key>'. Snowflake uses this public key to verify the signature created with the private key. Without this step, the user cannot authenticate using key-pair, as Snowflake has no knowledge of the public key to validate the signature.

Why this answer

For key-pair authentication, the private key must be securely stored and the corresponding public key assigned to the Snowflake user. The private key is used by the client to sign authentication requests, and Snowflake verifies the signature using the public key. Storing the private key in a vault and setting the public key via ALTER USER are the essential steps to enable this authentication method securely.

Exam trap

The trap here is confusing the public key fingerprint parameter with the actual public key assignment, or assuming MFA is required for service accounts.

141
MCQmedium

When analyzing a query profile, you observe a high 'Remote Disk Spilling' metric. What is the most likely cause, and how can it be resolved?

A.The query is not using the Result Cache; enable the Result Cache.
B.Data is not clustered properly; re-cluster the table.
C.Insufficient memory for operations; increase warehouse size.
D.Network latency is high; change the cloud provider region.
AnswerC

Increasing the warehouse size provides more RAM per node, which directly reduces the likelihood of spilling intermediate datasets to disk. When a query is complex, scaling up is the most effective way to provide the memory headroom required for operations like large-scale joins and window functions.

Why this answer

Remote disk spilling happens when intermediate result sets exceed the local disk space of the compute nodes, forcing data to be written to remote storage (S3/Azure Blob). This significantly impacts latency. The resolution is to either increase the warehouse size to provide more local memory/disk space or optimize the query logic—specifically joining, sorting, or grouping operations—to reduce the amount of data being processed in memory.

Exam trap

Candidates frequently mistake remote disk spilling for cloud storage latency, failing to recognize it as a compute node memory exhaustion problem.

142
MCQhard

Refer to the exhibit. An architect is configuring a Snowflake Storage Integration to access an external S3 bucket. Based on the IAM policy shown, what will happen if a Snowflake user attempts to create an External Stage pointing to 's3://production-data/raw/'?

A.The stage will be created successfully and data can be loaded because GetObject is allowed.
B.The stage creation will fail immediately because Snowflake cannot validate the bucket's existence.
C.Data loading will work, but only if the user specifies the exact filenames in the COPY command.
D.The operation will fail because the ListBucket permission is constrained to the 'logs/' prefix.
AnswerD

The IAM policy explicitly restricts the 's3:ListBucket' action to the 'logs/*' prefix using a condition block. When Snowflake tries to access 's3://production-data/raw/', the AWS IAM service will deny the request because the requested prefix does not match the allowed condition in the policy statement.

Why this answer

Snowflake requires both s3:ListBucket and s3:GetObject permissions to access data in an external stage. While the policy allows GetObject for the entire bucket, the ListBucket permission is restricted by a condition to only allow the 'logs/' prefix. Therefore, any attempt to list or access files in the 'raw/' prefix will result in an Access Denied error from AWS.

Exam trap

Candidates often focus only on the IAM policy's 'Action' section and overlook the 'Resource' conditions, failing to notice that the ListBucket permission is restricted to a specific sub-folder prefix.

143
MCQmedium

An architect is designing a table to support analytical queries. Which data type choice would most likely improve performance for filtering operations?

A.Storing all numeric values as VARCHAR.
B.Using the smallest appropriate data type.
C.Storing dates as integers in a single column.
D.Using VARIANT for all columns.
AnswerB

Smaller, native data types require less space, which means fewer micro-partitions to read. This reduces I/O and speeds up query execution. By choosing the most efficient type, you maximize the amount of data that can be processed per unit of compute, directly enhancing performance for filtering and scan operations.

Why this answer

Using specific, numeric, or date/time types is significantly more efficient than storing data as strings (VARCHAR). Snowflake can perform range pruning and min/max tracking much better on structured types. Converting to the most restrictive data type possible reduces storage size and improves the speed at which the query engine can filter and scan data during execution.

Exam trap

Candidates often default to generic VARCHAR data types for simplicity, missing the performance and pruning penalties imposed on analytical filters.

144
MCQeasy

A healthcare organization needs to share patient data with external research partners without copying the data. The partners use their own Snowflake accounts and require read-only access to a specific subset of tables. Which Snowflake feature should the architect use to meet these requirements?

A.Create a secure view and grant SELECT privileges to the partners' roles.
B.Use Snowflake Data Sharing to create a share and grant access to the partners' accounts.
C.Export the data to an external stage and provide the partners with credentials.
D.Set up a Snowflake reader account for each partner and grant access to the tables.
AnswerB

Snowflake Data Sharing allows sharing data across accounts without copying. The provider creates a share, adds the specific tables or secure views, and grants access to the consumer accounts. Consumers can then create databases from the share and query the data with read-only access. This meets the requirement for external sharing without data duplication.

Why this answer

Snowflake Data Sharing enables secure, governed access to data across Snowflake accounts without copying. By creating a share and granting access to the partners' accounts, the healthcare organization can provide read-only access to specific tables. This approach ensures data remains in the provider's account, reducing risk and eliminating data duplication.

Exam trap

The trap here is assuming that secure views alone can be shared across accounts; they must be included in a share to be accessible externally.

145
Multi-Selecthard

An architect is investigating query performance issues where queries are spilling to local disk. Which TWO actions would most effectively mitigate this issue?

Select 2 answers
A.Resize the virtual warehouse to a larger size.
B.Increase the warehouse multi-cluster scale factor.
C.Optimize the query to reduce the volume of data shuffled.
D.Enable query result cache.
E.Convert the table to a temporary table.
AnswersA, C

Scaling up a warehouse increases the amount of memory available for operations on each compute node. This directly accommodates larger intermediate datasets that would otherwise be forced to spill to local SSDs during complex join or sort operations, thereby significantly improving query performance for memory-intensive workloads.

Why this answer

Spilling to disk occurs when the data required for an operation (like a Join or Sort) exceeds the memory available in the warehouse's compute nodes. By scaling up the warehouse, you increase the memory capacity per node. Alternatively, optimizing the query logic to reduce the volume of data being shuffled or sorted ensures that intermediate result sets fit within the available memory heap of the virtual warehouse.

Exam trap

Candidates often think increasing the maximum concurrency clusters will solve memory spilling issues, confusing horizontal scalability with node memory capacity.

146
MCQmedium

An architect is designing a Snowflake environment for a financial services company that requires the highest level of security. The company must ensure that data is encrypted at rest and in transit, and that encryption keys are managed by the customer, not Snowflake. Which Snowflake feature should the architect implement?

A.Enable periodic rekeying of Snowflake-managed keys and store the keys in an external HSM.
B.Use the ENCRYPTION parameter in the CREATE DATABASE command to specify a customer key.
C.Enable Tri-Secret Secure with a customer-managed key in AWS KMS or Azure Key Vault.
D.Configure Snowflake to use client-side encryption with a customer-provided key before loading data.
AnswerC

Tri-Secret Secure combines a Snowflake-managed key with a customer-managed key to create a composite master key. This ensures that the customer controls one of the keys, and data cannot be decrypted without both. It meets the requirement for customer-managed encryption keys and is available in Business Critical edition and higher.

Why this answer

Tri-Secret Secure is the Snowflake feature that allows customers to use their own encryption key, managed in a cloud KMS, in addition to Snowflake's key. This provides customer control over encryption keys and meets the highest security requirements. The other options either do not provide customer-managed keys for Snowflake's internal encryption or are not valid Snowflake features.

Exam trap

The trap here is assuming that client-side encryption or database-level parameters can provide customer-managed keys for Snowflake's internal encryption, when only Tri-Secret Secure does.

147
MCQmedium

A security architect at a financial services company needs to ensure that all data stored in Snowflake is encrypted with keys that the company controls and can revoke at any time. They have already enabled Tri-Secret Secure. Which additional configuration is required to meet this requirement?

A.Create a custom role with the MANAGE ENCRYPTION KEYS privilege and assign it to the security team.
B.Set up a network policy that restricts access to the Snowflake account to only the company's IP ranges.
C.Configure the account to use a customer-managed key (CMK) stored in a supported cloud KMS.
D.Enable periodic rekeying of the Snowflake-managed key through the ACCOUNTADMIN role.
AnswerC

Tri-Secret Secure combines a Snowflake-managed key with a customer-managed key (CMK) that you create and control in your cloud provider's KMS (AWS KMS, Azure Key Vault, or GCP KMS). By configuring the CMK, the company retains control over the key and can revoke access by disabling or deleting the CMK, which renders the data inaccessible. This is exactly what the scenario requires.

Why this answer

Tri-Secret Secure requires a customer-managed key (CMK) in a supported cloud KMS to give the customer control over encryption keys. By configuring the CMK, the company can revoke access by disabling the key. The other options do not provide key control: rekeying is automatic and not customer-controlled, network policies are unrelated to encryption, and there is no Snowflake privilege to manage encryption keys directly.

Exam trap

The trap here is assuming that enabling Tri-Secret Secure alone provides customer-controlled keys, when in fact it must be paired with a customer-managed key in the cloud KMS.

148
MCQeasy

A Snowflake architect is reviewing a query that scans a large table and applies a highly selective filter on a column that is not the clustering key. The query profile shows a TableScan operator with a high percentage of partitions scanned but few rows returned. Which feature should the architect recommend to improve performance for this type of query?

A.Query Acceleration Service
B.Search Optimization Service
C.Clustering key on the filtered column
D.Materialized view on the filtered column
AnswerB

Search Optimization Service is designed to accelerate queries with highly selective filters, such as point lookups and substring searches, on columns that are not the clustering key. It builds a persistent search access path that allows Snowflake to quickly locate micro-partitions containing the desired values, reducing the number of partitions scanned. This directly addresses the symptom of scanning many partitions but returning few rows.

Why this answer

Search Optimization Service is purpose-built for queries that apply highly selective filters on columns that are not the clustering key. It creates a search access path that enables efficient micro-partition pruning, reducing the number of partitions scanned. While clustering can also improve pruning, it is more suitable for range filters and columns used in multiple queries.

QAS and materialized views target different workloads.

Exam trap

The trap here is assuming that any pruning improvement requires a clustering key, when Search Optimization Service is specifically designed for selective point lookups and substring searches.

149
MCQmedium

A data architect is tuning a Snowflake virtual warehouse that runs a mix of short ad-hoc queries and long-running analytical queries. The warehouse is sized as Medium, and the architect observes that short queries are frequently queued behind long queries. The architect wants to reduce queuing for short queries without increasing the warehouse size. Which configuration change should the architect make?

A.Create a separate warehouse for short ad-hoc queries and route them accordingly.
B.Enable the Query Acceleration Service on the warehouse.
C.Configure the warehouse with a multi-cluster scaling policy set to Standard.
D.Set the warehouse to auto-suspend after 60 seconds and auto-resume when queued.
AnswerA

Separating short ad-hoc queries onto a dedicated warehouse isolates them from long-running analytical queries, preventing queuing behind long queries. This approach allows each warehouse to be sized and scaled independently, optimizing for the specific workload. It is a common best practice for workload isolation and improves concurrency without increasing the size of the original warehouse.

Why this answer

Workload isolation by creating a separate warehouse for short ad-hoc queries prevents them from queuing behind long analytical queries. This allows independent sizing and scaling, improving performance for both workloads without increasing the size of the original warehouse. It is a standard Snowflake best practice for managing mixed workloads and reducing contention.

Exam trap

The trap here is thinking that multi-cluster warehouses solve all concurrency issues, but they add clusters for overall load and do not prioritize short queries over long ones.

150
MCQhard

A database architect needs to design a high-churn table that receives millions of updates daily. To minimize storage costs associated with Fail-safe and Time Travel while maintaining some recovery capability, which table type and configuration should be used?

A.Permanent table with Time Travel set to 0 days.
B.Transient table with Time Travel set to 1 day.
C.Temporary table with Time Travel set to 90 days.
D.Permanent table with a cluster key defined on the update timestamp.
AnswerB

Transient tables provide a balance by allowing up to 1 day of Time Travel for accidental deletion recovery while completely eliminating the 7-day Fail-safe period. This architecture is ideal for high-churn data where the cost of Fail-safe storage would outweigh the benefit of long-term emergency recovery provided by Snowflake support.

Why this answer

Transient tables are designed for data that is important but does not require the high level of protection provided by Fail-safe. They support Time Travel (up to 1 day) but do not have a Fail-safe period. For high-churn tables, this significantly reduces storage costs because Fail-safe records all changes for 7 days, which can be expensive with frequent updates.

Exam trap

Candidates often assume that Transient tables lack any recovery capability, ignoring that they still support Time Travel (up to 1 day), which is sufficient for most short-term recovery needs in high-churn environments.

Page 1

Page 2 of 3

Page 3

All pages