Overview
If you consume BlockDB via the Snowflake Share, enable Snowflake streams to capture inserts/updates within minutes. Streams generate change rows you can merge into analytics tables for near-real-time freshness.Create a Stream
- Use one stream per dataset for clearer orchestration.
APPEND_ONLY=FALSEensures updates appear withmetadata$action.
Processing Loop
- Schedule a Snowflake task (every 5-15 minutes) to read from each stream.
- MERGE into your curated tables keyed on
_tracing_idor primary columns. - Track offsets so you can re-run a window if the task fails.
Task Template
Operational Tips
- Lag monitoring: Compare the latest
_updated_atfrom source tables vs. your analytics schema. - Schema changes: Streams break on column changes—subscribe to Schema Governance and recreate streams after migrations.
- Fallback: If a stream falls behind, reload from the share tables (or archives) then re-enable the task.
- Cost: Keep ingest warehouses small; CDC batches are usually tiny.
Streams live entirely in your Snowflake account—BlockDB doesn’t need additional infrastructure once the share is active.