Integrations — Warehouses
NerveStax and ClickHouse
Agents build and test dbt models on ClickHouse, over HTTP or the native protocol.
What we do
What NerveStax does with ClickHouse
Point a project at ClickHouse and agents build and test its dbt models on a development target from inside a sandbox, read databases, tables and run history, and check the project against what is really there. Every code change arrives as a pull request a person approves.
-
Builds and tests models on a dev target
dbt run, test and build execute in the sandbox against the target the project configures. On a protected project each one stops for approval before it touches the cluster.
-
HTTP or native, detected from the profile
Which protocol a project uses follows from its dbt profile, including the port convention, so the record of your models matches how the project actually connects.
-
Two-level naming kept honest
ClickHouse has database and table, not a third catalog level. NerveStax records identity the way the adapter emits it instead of inventing a level that does not exist.
-
Reads databases, tables and columns
Agents list databases and tables, read column types and row counts, and use that instead of guessing what a model can select from.
-
Profiles and samples a table
When an agent profiles or samples a table, the rows it retrieves go to your model provider under your key. Result rows are not masked, so treat sampling as you would any query.
-
Its own pinned sandbox image
ClickHouse projects run in a sandbox image built around the dbt ClickHouse adapter and both of its drivers, so a version window in one adapter cannot drag the others backwards.
Background
About ClickHouse
ClickHouse is an open-source column-oriented database used for analytics at high volume. Its naming has two levels, database and table, and clients reach it over HTTP or its native protocol.
How it connects
What connecting it looks like
-
01
Create a ClickHouse user
We recommend a user limited to the databases the project reads and builds into, rather than one with cluster-wide rights.
-
02
Add the connection
Add host, port, user and password in settings, over HTTP or the native protocol. They are stored encrypted and never shown back.
-
03
Point a project at it
Give the dbt project the target it should build into. That development target is where agent work is tested before you see it.
-
04
Mark production projects protected
Protection makes every dbt command on that project wait for a person's approval, with the command, selector and target shown.
Scope
What this does not cover
- Older ClickHouse versions expose an incomplete information schema, so introspection uses the system tables the adapter relies on instead.
- There is no separate least-privilege identity for agent runs — an agent uses the credentials on the project.
- Lineage is model-level. Column-level lineage is not built.
Questions
ClickHouse and NerveStax
Q01Does it run against production ClickHouse?+
Not without a person. dbt commands run in a sandbox against the target the project configures, normally a development one, and on a project you mark as protected every dbt run, test and build waits for approval. Code reaches production only through a pull request your team merges.
Q02HTTP or native protocol?+
Both. Which one a project uses is decided by its dbt profile — the driver it names, or the port convention when it names none — and NerveStax follows that rather than overriding it. One sandbox image carries the libraries for both.
Q03Do my table rows go to the model provider?+
Only when an agent queries, samples or profiles a table — then the rows it retrieves are in the answer it reads, capped per call and not masked. Those calls go to the model provider you chose, under your own key. The rest of the time it works from schemas, dbt artifacts and run results.
Q04Does it handle ClickHouse Cloud?+
It connects the way your dbt profile does, with the host, port and credentials you give it, so a managed cluster is a connection like any other as long as the sandbox can reach it. Self-host and run the sandbox tier in your own cluster if the endpoint is only reachable from your network.
Q05Which dbt adapter version is used?+
dbt-clickhouse, pinned in its own sandbox image, because its dependency window does not currently line up with the other adapters we ship. That is an implementation detail with one visible effect: ClickHouse projects get their own image, and it is built and tested on every change like the rest.