Streaming pipelines for ClickHouse

New version.
Same query.

Build the next version of your pipeline alongside the current one. Check its results before switching the views your queries read.

pip install sqltide
Virtual modeIllustration

Check a change before switching.

Example: change the order filteramount_cents >= 0 → >= 100
Your query stays the same SELECT * FROM tbl__order_report Reads the current version
Current version Serving queries
New version Receiving live data
Retained input + live data feed both versions

Compare results before switching: the current version keeps serving queries while the new version receives live data.

Promotion switches one view at a time, not the entire pipeline at once. Promotion limits.

From SQL to a new version.

Choose virtual mode to build and check changes before publishing them.

  1. 01 · Write & validate

    Describe the pipeline in SQL

    Check column types and model references locally, without connecting to ClickHouse.

    Compile your models →
  2. 02 · Plan

    See what will change

    Review affected models and proposed operations without changing the warehouse.

    Read the plan →
  3. 03 · Build & inspect

    Check the new version

    Build separately, then compare results. Existing published views keep reading the current version.

    Build and inspect →
  4. 04 · Promote

    Switch the views your queries read

    Explicitly publish the version you checked. Build alone does not promote it.

    Promote a version →

Read about promotion and its limits →

Replay history. Test changes. See what’s running.

Replay the input you retain

Rebuild results from retained history as part of a build. Replay can deliver duplicates; your SQL and storage must handle them.

Understand replay →

Test with example data

Run SQL tests with controlled inputs before relying on a model's results.

sqt test
Explore SQL testing →

Build, compare, then promote.

Virtual mode is opt-in. Learn how to configure it and publish your first version.

Prefer to rebuild in place? Direct mode updates results without a separate promotion step. Compare deployment modes →