Get started with Snowflake
Step-by-step instructions to connect your Snowflake data warehouse to Propel.
Architecture
Snowflake Data Pools connect to your Snowflake instance to sync data from a specified table, view, or Dynamic Table into Propel. Syncs can be configured to occur at intervals ranging from 1 minute to 24 hours.
Features
How Propel syncs inserts, updates, and deletes
Propel uses Snowflake streams for change data capture to sync records. The sync behavior depends on your chosen table engine:- MergeTree (append-only): Syncs inserts only.
- ReplacingMergeTree (mutable): Syncs inserts, updates, and deletes based on sorting key.
Snowflake warehouse activates on each sync. Consider costs when setting intervals. We recommend a 60-second minimum auto-suspend period.
Supported data structures
Propel can sync these Snowflake data structures:Schema changes
Propel enables the addition of new columns to Snowflake Data Pools through theAddColumnToDataPool job.
For breaking changes like column deletions or type modifications, recreate the Data Pool.
See our Changing Schemas section for more details.
Re-syncing data
Snowflake Data Pools with ReplacingMergeTree engine support safe re-syncing of all data. This operation:- Continues serving data to your application
- Avoids creating duplicates
- Doesn’t persist deleted Snowflake data
- Snowflake stream is deleted, failed, or stale
- Table is re-created
- Stream is manually deleted
dbt full-refreshoperation re-creates the table
reSyncSnowflakeDataPool mutation for API-based re-syncing.
Data Types
The table below shows default Snowflake to Propel data type mappings. When creating a Snowflake Data Pool, you can customize these mappings.Frequently Asked Questions
How long does the data take to sync from Snowflake to Propel?
How long does the data take to sync from Snowflake to Propel?
Data is synchronized based on your configured sync interval. You can sync as often as every minute or up to 24 hours. Once a sync is initiated, the data will be available in Propel and served via the API in 1-3 minutes.
Does Propel read through to Snowflake on every query?
Does Propel read through to Snowflake on every query?
No. Propel only queries Snowflake to sync newly inserted, updated, or deleted records.
Can you sync only certain columns from Snowflake into a Data Pool?
Can you sync only certain columns from Snowflake into a Data Pool?
Yes. When you create the Data Pool, you can select which columns from the underlying table you want to sync. This is useful if there is PII or any other data that you don’t need in Propel.
What happens if Snowflake is down?
What happens if Snowflake is down?
When does the Data Pool syncing interval start?
When does the Data Pool syncing interval start?
The syncing interval starts when your Data Pool goes
LIVE or when syncing is resumed.