Snowflake Reader runtime considerations
Change data is available only for the duration of the Time Travel retention period (default is 1 day). If an application requests change data that is beyond the retention period, it will halt. See Guides > Business Continuity & Data Recovery > Time Travel > Understanding & using Time Travel.
If the user specified in Username does not have the OWNERSHIP privilege on a table to be read (see Snowflake initial setup) and the specified Start Timestamp is before the time change tracking was enabled for that table, the application may halt or duplicate records may be written to the target.
Performance considerations
The SnowflakeConfiguration property group has a property, ThreadPoolSize
, that directly influence the performance of the Snowflake Reader and the load it places on Snowflake. ThreadPoolSize
specifies the number of queries (threads) that will be executed in parallel by SnowflakeReader.
ThreadPoolSize
<Table Count
– the average read latency will be relatively higher, the overall load on Snowflake will be lower.ThreadPoolSize
=Table Count
– Snowflake reader achieves the optimal latency. This configuration can overload source Snowflake when the number of tables I high leading to performance bottlenecks.ThreadPoolSize
>Table Count
– not recommended, and may result in unused resources in Snowflake Reader.
You can keep track of the Average Query Delay metric to determine whether modifications are necessary for this property. This metric reports the time for Poll Requests in the SnowflakeReader queue before execution after surpassing the scheduled time.