TL;DR
- Cloud storage bills two things: capacity and performance. Performance is IOPS, metered above a small baseline (3,000 on gp3)
- The meter grows with your workload, not your data: 1 TB on gp3 costs $200/mo at 20K IOPS and $500/mo at 80K, when 84% of the bill is no longer storage. On io2 the meter share hits 91%
- Most workloads never hit it: 5-7K IOPS covers most applications, and ClickHouse® itself is IOPS-frugal. The engine sets the floor; the workload sets the bill
- The ones that do (blockchain indexers, real-time serving past RAM, heavy ingestion) pay the meter forever, and instance-level caps mean you can't always buy your way out
- ABS deletes the meter: 20,000 IOPS included, burst to 600K, $94.90 for the same terabyte at the same 20K sustained. If the meter isn't most of your bill, stay put; if it is, move the one cluster that hurts
At our San Francisco meetup with Altinity, Tim gave a talk called "The Expensive Way to Buy IOPS." This is the write-up, and the one-liner is: if your storage bill is mostly meter, you paid the expensive way.
Here's what that means.
How you're charged
You pay for two things: capacity and performance. Capacity is the storage itself: you need a terabyte, you buy a terabyte. Performance is IOPS (read and write operations per second), and it's charged separately: a small baseline comes included, and everything above it is metered.
On AWS, gp3 includes 3,000 IOPS. That's the baseline every volume gets. Need more, and you start running into the meter. Here's what one terabyte costs on gp3 as the IOPS requirement grows. Same disk in every column; only the meter grows:
| 1 TB on gp3, per month | 20,000 IOPS | 50,000 IOPS | 80,000 IOPS |
|---|---|---|---|
| Capacity | $80 | $80 | $80 |
| IOPS charge | $85 | $235 | $385 |
| Throughput charge | $35 | $35 | $35 |
| Total | $200 | $350 | $500 |
| Meter share | 60% | 77% | 84% |
At 80,000 IOPS, 84% of the storage bill is not storage. Step up to the premium tier and the share climbs further: on io2 Block Express, the same terabyte at 20,000 sustained IOPS costs $1,425 a month, 91% of it meter, because provisioned IOPS run $0.065 each, thirteen times the gp3 rate.

You're not buying storage. You're buying permission to use it at speed.
And provisioning more doesn't always deliver more: per-instance limits cap how many IOPS a VM can consume regardless of what you attach. Our LangChain benchmark caught this directly: an m6i.xlarge tops out around 40K, so io2 provisioned at 64K performed identically to 32K. Past a point, you're buying vCPUs to buy IOPS.
Most workloads never hit the meter
Here's the part a vendor pitch usually skips: 5,000 to 7,000 IOPS covers most applications, and ClickHouse® is not inherently IOPS-hungry. The engine is IOPS-frugal by design: columnar layout means large sequential reads, and well-designed schemas prune most reads away entirely.
The distinction that matters is engine vs workload. The engine sets the floor; the workload sets the bill. Run enough concurrent queries against a working set that outgrows RAM, and even a frugal engine generates sustained IOPS, because every cache miss becomes a real disk read.
The workloads that hit the meter are specific: blockchain nodes and indexers doing multi-terabyte random traversal, real-time serving past RAM, and write-heavy ingestion where compaction competes with foreground queries for the same I/O budget. Even inside companies running these, it's typically one or two clusters, not the whole estate.
The meter punishes exactly those clusters
A cluster that needs sustained IOPS pays the meter every month, for as long as the workload exists. The dataset didn't grow. The bill is performance rent.

To be fair about what the premium tier buys: io2 comes with real guarantees, five-nines durability against roughly three on gp3, and 99.9% of provisioned IOPS delivered against 99%. What it doesn't buy is a different pricing structure. The meter is the same shape, at thirteen times the rate.
The usual escapes don't work either. Caching can't save a working set that exceeds RAM (that's the definition of the problem), and scaling up runs into the instance caps above. You can't scale your way out of a pricing model.
What we did instead
We built ABS with the IOPS meter deleted: 20,000 baseline sustained IOPS included with every volume, burstable to 600,000, with sub-millisecond latency and a queue that stays near zero under sustained load. No burst credits, no per-IOP surcharges. The same terabyte at the same 20,000 sustained IOPS: $94.90 a month, against $200 on gp3, $768 on GCP Hyperdisk Extreme, $1,425 on io2 Block Express, and $1,483 on Azure Ultra Disk (hyperscaler figures from published pricing; performance comparisons are benchmarked against gp3 and io2 only, where ClickBench put ABS within 1.5× of io2 on ~77% of queries and ~10× ahead of gp3 on cold reads).

The meter model charges most for the workloads that can least avoid it. Deleting the meter helps exactly those workloads most.
Move the one cluster that hurts
If nothing in your stack is IOPS-bound, keep your setup; the baseline is genuinely fine, and we'd be the wrong vendor. But if one cluster is paying the meter every month, that's the one to test.
For ClickHouse®, the move is a console option: Altinity's managed service for ClickHouse® now offers Nirvana as a BYOC option on Altinity.Cloud, running on the same infrastructure our published benchmarks were measured on (SSB report: 34-63 ms selective queries against 3 billion rows). Free trial is live on Altinity.cloud.
Or bring your dataset and queries and we'll benchmark them side by side:
Talk to us →
Download the full presentation.
About Nirvana Labs
Nirvana Labs is a high-performance storage cloud purpose built for blockchain, AI and databases i.e. the most demanding, real-time, stateful workloads. Accelerated Block Storage (ABS) offers 20K baseline IOPS included, no over provisioning. Nirvana Kubernetes Service (NKS) with Karpenter auto-scaling, high clock-speed compute and private networking. Backed by Jump Trading, Crucible, etc with 50+ customers live in production today.
Learn more at Nirvana Labs
Nirvana Cloud | Pricing | Blog | Docs | Changelog | LinkedIn | Twitter | Telegram | YouTube
Related Posts

Nirvana: The High Performance Storage Cloud
Why Nirvana is the High Performance Storage Cloud: purpose-built ABS with 20,000 sustained IOPS included, benchmarks against gp3 and io2, who runs on it, and what opens in Q4.

Why Nirvana is the best place to run your AI agents
Nirvana is the best place to run your AI agents. Faster storage, a smaller bill, and more billable work out of the same agents.

Idempotent compute pays off when the storage keeps up (Agents need fast disks)
Quirq benchmarked Nirvana, Google Kubernetes Engine and E2B agent sandboxes. Nirvana recovered all 5,501 checkpoints and released compute in 1.46 s, against 9.57 s on GKE. E2B recovered none.

