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 described in Building pipelines from Snowflake.
Snowflake feature summary
Feature | Initial load with Database Reader | Continuous real-time replication using Snowflake Reader | Continuous incremental replication with Incremental Batch Reader |
|---|---|---|---|
Security and governance | |||
connection profile | ✓ | ✓ | ✓ |
Operations | |||
initial load | ✓ | ||
initial schema creation | ✓ | ||
schema evolution | only ALTER TABLE ... ADD COLUMN and ALTER TABLE ... DROP COLUMN | ||
DML operations replicable in target | INSERT, UPDATE, DELETE | INSERT (UPDATE handled as INSERT, DELETE ignored) | |
Building applications / programmability | |||
automated pipelines | |||
other wizards | initial load only | initial load only, change data capture only | initial load only |
Flow Designer | ✓ | ✓ | ✓ |
TQL | ✓ | ✓ | ✓ |
Runtime | |||
output stream event type | WAEvent | WAEvent | WAEvent |
network connection fault tolerance | by JDBC driver | configurable automatic retries | by JDBC driver |
recovery | ✓ | ✓ | ✓ |
parallel threads | ✓ | ✓ | |
metrics & auditing | ✓ | ✓ | ✓ |