Database guides
ClickHouse
Columnar OLAP over the HTTP interface, with EXPLAIN ESTIMATE wired into the cost banner for MergeTree tables.
AddisDB connects to ClickHouse over its HTTP interface. Row-producing statements are requested in a compact JSON format that carries column metadata, so results map straight onto the grid without a round trip through text parsing.
Who it is for
ClickHouse is built to scan enormous tables quickly. Columnar storage, aggressive compression and vectorized execution mean aggregations over billions of rows return in the time other systems take to plan them.
The MergeTree family is where that speed comes from. Data is written as sorted parts that merge in the background, and the ORDER BY clause of the table — not an index you add later — is what lets a query skip almost everything. Choosing it well is the single biggest performance decision you make.
It suits product and web analytics, observability and log storage, real-time dashboards, and time-stamped event data at volumes where a general-purpose database has stopped being viable.
It suits transactional work badly: updates and deletes are asynchronous mutations that rewrite parts, and there are no multi-statement transactions to lean on.
Set up the server
- ClickHouse Cloud: create a service, copy the host, and note the password shown at creation. Cloud services use HTTPS on port 8443.
- Add your IP to the service’s IP access list.
- Local: docker run -p 8123:8123 -p 9000:9000 clickhouse/clickhouse-server.
- Use MergeTree-family table engines — they are what makes ClickHouse fast, and what cost estimation needs.
- Choose the table’s ORDER BY to match how you filter, most selective column first.
CREATE TABLE events (
ts DateTime,
tenant_id UInt32,
event LowCardinality(String),
payload String
) ENGINE = MergeTree
PARTITION BY toYYYYMM(ts)
ORDER BY (tenant_id, ts);
Connect from AddisDB
- New Connection → ClickHouse under Big Data / Warehouse. Port prefills to 8123 (the HTTP interface — not 9000, which is the native protocol).
- Enter the host, username (default is default) and password.
- For ClickHouse Cloud, set the port to 8443 and SSL mode to require.
- Set Database to the database you want as your default.
- Test, then Save.
Port 9000 is the native protocol and will not answer HTTP. A connection there fails in a way that looks like the server is down when it is simply listening for a different client.
What AddisDB gives you
- The Big Data Console — a catalog browser reading system.tables and system.columns, a query pane, and a row cap on previews.
- Cost estimation via EXPLAIN ESTIMATE, reporting the parts and rows ClickHouse would read per table.
- The Chart view — ClickHouse aggregations are exactly what it is for.
- Full safety: read-only connections, prod tagging, destructive-statement detection.
- Notebooks, ⌘K search, and AI querying grounded in your real schema.
- The Live Monitor over system.processes and system.parts, with per-table bytes on disk.

The system tables are worth knowing
ClickHouse exposes its own state as ordinary queryable tables, which makes diagnosis unusually direct: system.parts for how a table is physically laid out, system.query_log for what has already run and what it cost, system.mutations for the deletes still catching up.
-- The ten most expensive queries in the last hour
SELECT query_duration_ms, read_rows, formatReadableSize(read_bytes) AS read,
substring(query, 1, 80) AS q
FROM system.query_log
WHERE type = 'QueryFinish' AND event_time > now() - INTERVAL 1 HOUR
ORDER BY query_duration_ms DESC
LIMIT 10;