From minutes to milliseconds, without changing a single KPI.

NPP, our telecom analytics platform, was outgrowing SQL Server. In our own test environment we measured whether ClickHouse could take over its reporting layer: same hardware, same report logic, and every result compared value by value.

PlatformNPP, Telcotec’s telecom analytics platform
TypeInternal benchmark study
DataProduction-scale test data at telecom-operator volumes
StackSQL Server 2019 · ClickHouse · PostgreSQL · .NET

Summary of results

300–970×faster daily reports, all 13 KPIs per report
2,700–10,700×faster monthly reports: minutes became milliseconds
15×less storage for one day of summaries (8× for a month)
AllKPIs matched, value by value

In plain English

A daily report that took 19.4 seconds on SQL Server came back in 0.02 seconds on ClickHouse.

A monthly report that took over 4 minutes came back in 0.024 seconds.

Every number stayed the same: all KPIs matched.

No per-core licence fees for self-hosted ClickHouse

Estimate · depends on scenario

ClickHouse is open source (Apache 2.0), so self-hosting it carries no per-core software licence fees. Depending on the SQL Server edition, core count and existing agreements, moving the reporting layer can save several thousand pounds or more. Infrastructure, support, operating costs and any remaining commercial licences still apply, so any saving depends on the scenario and is not guaranteed.

The challenge

A platform that works, and a data layer reaching its limits.

NPP has run telecom reporting in production for years. As traffic grew, so did the cost of answering questions on SQL Server: every monthly report scans a very large table, and storage and backups grow by terabytes.

  • 01
    Reports measured in minutesMonthly reports took several minutes each; daily reports took seconds to tens of seconds.
  • 02
    Storage and backups growing fastBillions of rows held across row-based tables with supporting indexes, all backed up nightly.
  • 03
    Zero tolerance for different numbersOperations teams rely on these KPIs every day. A faster platform that changed even one value would be worthless.

Approach

A fair test, then a strict one.

We designed the benchmark so that a sceptical engineer could repeat it and reach the same answer.

Equal servers

Both databases on identical 4 vCPU, 16 GB cloud servers with the same storage class.

Real report logic

The platform’s own report queries and KPI formulas, not simplified benchmarks.

Production-like tables

SQL Server tables built exactly as in production, compression and indexes included.

Value-by-value checks

Every row of every report compared on all 13 KPIs, using SQL Server’s exact rounding rules.

Results

Explore the benchmark.

Choose a measure and a report. Every figure below was measured in the benchmark study.

SQL Server vs ClickHouse

Report

By switch

≈970×faster with ClickHouse
SQL Server2019, row store + indexes
ClickHousecolumn store, tuned

Bars are to scale: on a linear scale ClickHouse is a sliver. Tick Log scale to compare them more easily.

Equal servers: 4 vCPU · 16 GB · same storage class. Warm runs. Daily SQL Server times: table held in memory (its best case).

Why not just tune SQL Server?

Daily and monthly reports on SQL Server can be made faster by adding more indexes. But every extra index has a cost:

  • More storageEach index keeps another copy of the data it covers, so storage and backups grow further.
  • More to manageIndexes need regular rebuilding and statistics updates as data grows, and new reports often need new indexes.
  • Slower loadingEvery index has to be updated as each batch of records is loaded, so loading takes longer.

ClickHouse gets its speed from the way it stores data, with pre-summed report projections it maintains automatically, rather than from adding more indexes.

Architecture

Today’s platform, and the design we benchmarked.

On the left, NPP as it runs today. On the right, the design we built and measured in our test environment: a new data layer beside the existing one. Select a component for detail.

Sources
Ingest
Data
Application
In productionBenchmarkedNot yet tested

Methodology & caveats

How we measured, and what it does not prove.

Good benchmarks state their limits. These are ours.

ServersTwo identical cloud VMs: 4 vCPU, 16 GB RAM, same storage class
VersionsSQL Server 2019 (Enterprise engine) · ClickHouse 26.8 LTS
DataProduction-scale test data: one day (~20 million summary rows) and one month (~189 million rows)
QueriesThe platform’s own report SQL and KPI formulas: 8 daily and 7 monthly reports, plus 31 drill-down filter combinations
TimingWarm runs, median of repeated executions; SQL Server monthly reports single runs because of their length
AccuracyEvery row and all 13 KPIs compared value by value; SQL Server’s exact rounding reproduced
  1. Small, equal test servers. Production servers are larger, so absolute times will differ on both sides. The ratio is the finding.
  2. SQL Server times vary with disk state. Depending on the report, monthly reports took 2.4–12.6 minutes on SQL Server. For each report we quote its fastest run, which favours SQL Server.
  3. Daily SQL Server figures are its best case. They were measured with the table held in memory. Read from disk, the same reports took about 28 seconds.
  4. Not measured: streaming ingest (Kafka) and raw record storage. Any figures for these are labelled as estimates.
  5. Licence savings are an estimate and depend on the scenario. Self-hosted ClickHouse has no per-core licence fees, but infrastructure, support, operations and any remaining commercial licences (for example, SQL Server kept for other systems) must still be costed.
  6. “All KPIs matched” applies to what we tested. That is strong evidence, not proof of identical behaviour for every future query. As with any migration, a parallel run on live data is good practice before switching over.

What we covered

Our own benchmark, with results we are happy to share.

This is benchmarking work Telcotec carried out in its own test environment, using production-scale test data. Everything below was built and measured, apart from streaming ingest.

Done

Loading the data

Records and summaries loaded into ClickHouse and PostgreSQL from the same source files, at telecom-operator volumes.

Done

Side-by-side comparison

The same reports run on SQL Server and ClickHouse with the same logic, timed on equal servers and every KPI compared value by value.

Not yet tested

Streaming ingest (Kafka)

The one part we have not benchmarked. It would let records stream in continuously rather than arrive in batch files.

Stack

SQL Server 2019ClickHouse 26.8 LTSPostgreSQL.NETReactLinuxAzure

Analytics Platform Feasibility

Is your database outgrowing SQL Server?

We can run the same kind of study on your data: a benchmark, a value-by-value accuracy check and a costed recommendation.

  • Fixed scope and price, agreed after a short call
  • Dataset size and query complexity agreed before quotation
  • Storage, licence and running-cost comparison
  • Written report and presentation you keep

Production migration is quoted separately.