Cloud Spanner Cost Calculator
Size a Spanner instance in nodes and processing units from read QPS, write QPS and storage, then price it.
Inputs
A Spanner node sustains roughly 10,000 reads per second.
Writes are far more expensive than reads — about 2,000 per second per node.
Google recommends 65% for regional instances and 45% for multi-region.
Regional Spanner lists near $0.90 per node-hour; multi-region is roughly 3× that.
Nodes Required
7nodes
Processing Units
7,000PU
Sizing Driven By
Read throughput
Monthly Cost
$5,299.00
Node Charge
$4,599.00
Storage Charge
$600.00
Backup Charge
$100.00
Read Headroom at This Size
12.1%
Step by step
Values used
Peak read QPS = 40,000 QPS; Peak write QPS = 3,000 QPS; Database storage = 2,000 GB; Read QPS per node = 10,000 QPS; Write QPS per node = 2,000 QPS; Target CPU utilisation = 65 %; Storage limit per node = 4,096 GB; Price per node-hour = 0.9000 USD/node-hour; Hours in the billing month = 730 hours; Storage price per GB = 0.3000 USD/GB-month; Backup storage retained = 1,000 GB; Backup price per GB = 0.1000 USD/GB-month
Cloud Spanner Cost
nodes = max(read QPS ÷ (reads per node × target CPU), write QPS ÷ (writes per node × target CPU), storage GB ÷ storage per node), rounded up; cost = nodes × node price × hours + storage + backup.
Nodes Required
= 7 nodes
Processing Units
= 7,000 PU
Sizing Driven By
= Read throughput
Monthly Cost
= 5,299.00
Node Charge
= 4,599.00
Storage Charge
= 600.00
How it works
Spanner capacity is expressed either as nodes or as processing units, with 1,000 PU to a node, and each node carries a throughput budget and a storage limit at the same time. Because a write is replicated to every voting replica it consumes roughly five times a read, so write-heavy workloads hit the node count long before read QPS would. Spanner has no small end — the first node is a real monthly commitment — so knowing whether reads, writes or storage sets your node count tells you which one to optimise before adding capacity. Multi-region instances cost several times the regional rate, so confirm the node-hour price for your exact configuration in the Google Cloud pricing calculator.
Formula
Cloud Spanner Cost
nodes = max(read QPS ÷ (reads per node × target CPU), write QPS ÷ (writes per node × target CPU), storage GB ÷ storage per node), rounded up; cost = nodes × node price × hours + storage + backup.
- reads per node
- About 10,000 read QPS per node at 100% CPU
- writes per node
- About 2,000 write QPS per node — writes replicate to every voting replica
- target CPU
- Utilisation you size to, leaving headroom for spikes and for split rebalancing
- processing units
- 1,000 PU equal one node; instances below a node are sized in 100-PU steps
Frequently Asked Questions
How is Cloud Spanner Cost calculated?
nodes = max(read QPS ÷ (reads per node × target CPU), write QPS ÷ (writes per node × target CPU), storage GB ÷ storage per node), rounded up; cost = nodes × node price × hours + storage + backup. Spanner capacity is expressed either as nodes or as processing units, with 1,000 PU to a node, and each node carries a throughput budget and a storage limit at the same time. Because a write is replicated to every voting replica it consumes roughly five times a read, so write-heavy workloads hit the node count long before read QPS would.
Why does Cloud Spanner Cost matter?
Spanner has no small end — the first node is a real monthly commitment — so knowing whether reads, writes or storage sets your node count tells you which one to optimise before adding capacity. Multi-region instances cost several times the regional rate, so confirm the node-hour price for your exact configuration in the Google Cloud pricing calculator.
What values do I need to enter?
This calculator takes 12 inputs: Peak read QPS, Peak write QPS, Database storage, Read QPS per node, Write QPS per node, Target CPU utilisation, Storage limit per node, Price per node-hour, Hours in the billing month, Storage price per GB, Backup storage retained, Backup price per GB. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
When should I use processing units instead of nodes?
Below one node. Granular instances start at 100 PU and step in hundreds, which suits development and low-traffic services; above 1,000 PU capacity is allocated in whole nodes anyway.