gcpspannerdatabasecost-optimization

GCP Cloud Spanner cost: nodes or processing units, plus storage

Spanner bills compute as nodes (about $0.90/node/hour) or processing units (100 PU = a tenth of a node), plus $0.30 per GB-month of storage, backup, and egress. Processing units let you start small. Here is how to size and control the bill.

The C3X Team··5 min read

Quick answer

Cloud Spanner bills compute as nodes (about $0.90 per node-hour, roughly $650/month) or finer-grained processing units (100 PU equals a tenth of a node), plus $0.30 per GB-month of storage, backup, and egress. Processing units let small workloads start below a full node. Size compute to real load and use PUs to avoid overpaying.

Cloud Spanner is a horizontally scalable, strongly consistent database, and it is priced for serious workloads. Compute is the main line, and Spanner gives you two granularities: nodes and processing units.

Nodes vs processing units

A node is about $0.90 per hour, roughly $650 a month, and provides a fixed amount of compute and throughput. Processing units are a tenth-of-a-node granularity (100 PU equals 0.1 node), so a small workload can run on 100 or 200 PU instead of a full, expensive node. For anything not yet at node scale, processing units avoid overpaying.

Storage, backup, and egress

DimensionRate (approximate)
Compute (node)~$0.90 / node-hour
Compute (processing units)100 PU = 0.1 node
Storage~$0.30 / GB-month
Backup storagePer GB-month

Storage at $0.30 per GB-month is higher than most databases, backups add their own storage, and cross-region egress applies. Multi-region instances multiply compute across regions for global consistency, which is powerful and expensive.

Controlling Spanner cost

Start with processing units sized to real throughput rather than jumping to a node, use autoscaling to match compute to load, keep single-region unless you genuinely need multi-region, and manage backup retention. Because compute dominates, the biggest lever is not over-provisioning nodes or PUs for load you do not have, the same discipline as any rightsizing.

FAQ

How is Cloud Spanner priced?

Compute is billed as nodes (about $0.90 per node-hour, roughly $650 per month) or as processing units (100 PU equals a tenth of a node), plus storage at about $0.30 per GB-month, backup storage, and egress. Compute is the main line.

What are Spanner processing units?

A finer-grained compute unit, where 100 processing units equal a tenth of a node. They let small workloads run below a full, expensive node, so a workload not yet at node scale can use 100 or 200 PU instead of overpaying for a whole node.

Why is Cloud Spanner expensive?

Because it is priced for serious, scalable workloads: a node is roughly $650 a month, storage is $0.30 per GB-month (higher than most databases), and multi-region instances multiply compute across regions. It is powerful but not a small-workload database unless you use processing units.

How do I reduce Cloud Spanner cost?

Use processing units sized to real throughput instead of jumping to full nodes, enable autoscaling to match compute to load, stay single-region unless you need multi-region consistency, and manage backup retention. Not over-provisioning compute is the biggest lever.

Is Spanner cheaper than Cloud SQL?

For small workloads, no. Cloud SQL and other regional databases are cheaper at modest scale. Spanner earns its cost when you need horizontal scale, strong global consistency, and high availability that a single-instance database cannot provide.

Does C3X estimate Cloud Spanner cost?

C3X prices the google_spanner_instance resource, including its node or processing-unit configuration, from your Terraform, so compute cost appears before deploy. Storage and egress depend on usage, which you provide as assumptions.

What to do next

Size your Spanner instance before you deploy. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.