ClickHouse Platform Migration Guide¶
BenchBox previously exposed a single clickhouse base platform with mixed
local/server behavior. That design has been replaced by three first-class
platform identifiers:
Platform |
Mode |
Driver |
Use case |
|---|---|---|---|
|
In-process (chDB) |
|
Embedded analytics, zero infrastructure |
|
Self-hosted (TCP) |
|
Docker, dedicated server, cluster |
|
Managed cloud (HTTPS) |
|
ClickHouse Cloud service |
Quick Reference¶
# Embedded ClickHouse (chDB) - no server required
benchbox run --platform clickhouse-local --benchmark tpch --scale 0.01
# Self-hosted / Docker ClickHouse
benchbox run --platform clickhouse-server --benchmark tpch --scale 0.01 \
--platform-option host=localhost \
--platform-option port=9000
# Managed ClickHouse Cloud
benchbox run --platform clickhouse-cloud --benchmark tpch --scale 0.01 \
--platform-option host=abc123.us-east-2.aws.clickhouse.cloud \
--platform-option password=my-password
Installation¶
# clickhouse-local (chDB embedded)
uv add benchbox --extra clickhouse-local
# clickhouse-server (self-hosted via clickhouse-driver)
uv add benchbox --extra clickhouse-server
# or equivalently:
uv add benchbox --extra clickhouse
# clickhouse-cloud (managed via clickhouse-connect)
uv add benchbox --extra clickhouse-cloud
Migrating from Legacy Selectors¶
The following legacy selectors emit a DeprecationWarning and continue to work
during the migration window. They will be removed in a future release.
Legacy selector |
Canonical replacement |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Bare clickhouse (removed)¶
Bare --platform clickhouse has been removed after its deprecation window
(shipped v0.2.1, removed after v0.3.1). It now raises an error naming the
replacements instead of silently defaulting to clickhouse-local. Choose the
first-class name explicitly: clickhouse-local (embedded chDB),
clickhouse-server (self-hosted), or clickhouse-cloud (managed). The
explicit clickhouse:local / clickhouse:server / clickhouse:cloud
selectors still work (they emit a deprecation warning and route to the
first-class name).
Config Files¶
YAML configuration files that use bare clickhouse no longer resolve and must
be updated to a first-class name:
# Before (removed — now errors)
platform: clickhouse
deployment_mode: local
# After
platform: clickhouse-local
# Before (removed — now errors)
platform: clickhouse
deployment_mode: server
# After
platform: clickhouse-server
Historical Result Artifacts¶
Result JSON files written before this migration may contain
"platform_type": "clickhouse" or related legacy labels. These files remain
readable during the migration window. Bulk artifact relabeling is deferred
until after alias removal.
What Was Changed¶
clickhouse-localandclickhouse-serverare now registered as first-class platform identifiers in the registry, adapter factory, CLI, DDL generator, cost calculator, and dependency surfaces.clickhouse-cloudwas already a first-class platform and is unchanged.Bare
clickhousehas been removed and now raises an error naming the first-class replacements. Colon-suffix syntax (clickhouse:local, etc.) remains a compatibility alias with explicitDeprecationWarningemission.Shared ClickHouse SQL dialect, workload, and tuning logic is unchanged and shared across all three platform identifiers.
Alias Removal Timeline¶
The bare clickhouse alias has now been removed (after the v0.2.1 → v0.3.1
deprecation window); passing it raises an error naming the first-class
replacements. The colon-suffix selectors (clickhouse:local / :server /
:cloud) remain as deprecating aliases. Bulk relabeling of historical result
artifacts that carry the legacy clickhouse platform label is still deferred.