Skip to content

Getting started

Overview

What SQLTide does, and where to start.

SQLTide turns SQL files into streaming pipelines in ClickHouse. You write each step of a pipeline as a SQL model with typed columns. SQLTide creates the tables and materialized views, shows you a plan before it changes anything, and can rebuild a table from the source history it keeps in ClickHouse.

To see it before installing anything, open the UI demo. To try it on your machine, install it and follow the quickstart, which uses sqt playground to start a small orders project with Docker.

  • Direct mode, the default: sqt build drops the selected tables (all of them unless you select some), recreates them and refills them from stored history. Queries read the tables while they refill, and there is no switching back.
  • Virtual mode, which you turn on per project or pipeline: sqt build puts the new version in tables of its own, next to the one your queries read. You check it, then promote it, which switches the views your queries read. The previous version is kept, so you can switch back.

One sqt build can update pipelines in both modes, but a model can only read from pipelines in its own mode.

  • SQL models with typed columns, declared with MODEL()
  • Reading Kafka topics into ClickHouse through its Kafka engine
  • Stream tables you already have in ClickHouse, which SQLTide reads without taking over
  • The materialized views that connect your models, worked out from your SQL
  • Replay from an offset, a timestamp, the time rows landed, or a cursor. Replay is at least once, so a row can arrive twice.
  • SQL tests for models and macros, and data-quality audits, which can also run on a schedule
  • A local UI for plans, runs, deployments, lineage, Kafka lag, topics and the messages a source still holds
  • Compile output you can review or use in automation

SQLTide currently supports ClickHouse only. It does not provide dbt compatibility, authored seeds, UDF management, or a generic multi-warehouse abstraction.

sqt discover
sqt compile
sqt plan
sqt build
sqt test
sqt audit
sqt dev

Run commands from anywhere inside a project, or pass --project-dir explicitly.

sqt build already runs applicable audits. Use the separate sqt audit command when you want to rerun live checks later without rebuilding.