Skip to main content

Snowflake

Snowflake is a cloud-based data warehousing and analytics platform. It allows users to store, analyze, and query large datasets in a fast and scalable way using SQL-like queries.

Typical use cases for reading data from Snowflake include:

  • Reverse ETL-based use cases (for example, updating predicted LTV or churn scores on customer profiles) to read from Snowflake Analytics results and write to operational systems (such as CRM, SCM, or OLTP databases).

  • Consolidation of data warehouses from departmental instances to a corporate instance.

You can read from Snowflake as follows, and write to any target supported by Striim. Typically, you will set up data pipelines that read from Snowflake in two phases—initial load, followed by continuous replication—as explained in this concept article on Pipelines.

  • For initial load, you can use Database Reader to create a point-in-time copy of the existing source Snowflake dataset at the target.

  • After initial load has completed, you can start continuous replication by continuously reading the new data created in the same Snowflake dataset after the initial load was started, and then writing this new source data to the target.

    • For real-time continuous replication of new source data using CDC, you can use Snowflake Reader.

    • If you choose not to enable CDC on Snowflake, you can use Incremental Batch Reader to read the new source data at regular intervals, allowing for continuous updates in near real-time.  Incremental Batch Reader differs from the CDC readers in several ways, including not capturing DELETE operations at the source (see the discussion in Incremental Batch Reader about INSERT, UPDATE, and DELETE operations).

Striim UI wizards

You can read from Snowflake using the wizards on the Striim UI:

  • Initial Load only

  • CDC only