nerdexam
Snowflake

ARA-C01 · Question #109

An Architect is designing a solution that will be used to process changed records in an orders table. Newly-inserted orders must be loaded into the f_orders fact table, which will aggregate all the or

The correct answer is B. Use one stream and two tasks.. The most performant design for processing changed records, considering the need to both update records in the f_orders fact table and load changes into the order_repairs table, is to use one stream and two tasks. The stream will monitor changes in the orders table, capturing both

Performance Optimization

Question

An Architect is designing a solution that will be used to process changed records in an orders table. Newly-inserted orders must be loaded into the f_orders fact table, which will aggregate all the orders by multiple dimensions (time, region, channel, etc.). Existing orders can be updated by the sales department within 30 days after the order creation. In case of an order update, the solution must perform two actions: 1. Update the order in the f_0RDERS fact table. 2. Load the changed order data into the special table ORDER _REPAIRS. This table is used by the Accounting department once a month. If the order has been changed, the Accounting team needs to know the latest details and perform the necessary actions based on the data in the order_repairs table. What data processing logic design will be the MOST performant?

Options

  • AUse one stream and one task.
  • BUse one stream and two tasks.
  • CUse two streams and one task.
  • DUse two streams and two tasks.

How the community answered

(37 responses)
  • A
    27% (10)
  • B
    51% (19)
  • C
    8% (3)
  • D
    14% (5)

Explanation

The most performant design for processing changed records, considering the need to both update records in the f_orders fact table and load changes into the order_repairs table, is to use one stream and two tasks. The stream will monitor changes in the orders table, capturing both inserts and updates. The first task would apply these changes to the f_orders fact table, ensuring all dimensions are accurately represented. The second task would use the same stream to insert relevant changes into the order_repairs table, which is critical for the Accounting department's monthly review. This method ensures efficient processing by minimizing the overhead of managing multiple streams and synchronizing between them, while also allowing specific tasks to optimize for their target operations.

Topics

#Snowflake Streams#Snowflake Tasks#CDC#Data Pipeline Design

Community Discussion

No community discussion yet for this question.

Full ARA-C01 Practice