Sizing a Single-Region Spanner Instance for 40K Reads and 7K Writes

PCDBE By islever Editorial Last updated

Analyze relevant variables to perform database capacity and usage planning. Optimize database cost and performance in Google Cloud.

Short answer

A Select a four-node single-region Spanner instance, because 40,000 reads/sec needs four nodes at 10,000 reads/node and 7,000 writes/sec needs 3.5 nodes at 2,000 writes/node, rounded up to four.

Question

Your company is migrating from an on-premises database to a single-region Spanner instance. The current database supports 40,000 reads each second, and 7,000 writes each second, at 1 KB row sizes at peak. You need to determine the most cost-effective size for the Spanner instance to handle the equivalent current workload. What should you do?
  1. Select a 4-node Spanner instance. Correct Answer
  2. Select a 6-node Spanner instance.
  3. Select a 1-node Spanner instance.
  4. Recommend a multi-region Spanner instance.

Key Takeaways

It tests whether you can convert Spanner per-node read and write capacity into the smallest node count that meets both dimensions, rather than adding unnecessary headroom or switching to multi-region.

This PCDBE question tests cost-effective single-region Spanner node sizing for a mixed 40,000 reads/sec and 7,000 writes/sec workload at 1 KB rows. The correct answer is A: four nodes satisfy both the read and write planning baselines.

Common mistake: Choosing B (six nodes) by adding extra headroom or miscalculating the write requirement; 7,000 writes/sec at 2,000 writes per node rounds up to four, and four nodes also meet the 40,000 reads/sec ratio.

Expert Analysis

The sizing rule that drives the decision For a single-region Spanner instance, the documented planning baseline for 1 KB rows is roughly 10,000 reads per second or 2,000 writes per second per node. The workload has two independent capacity dimensions that must both be satisfied: 40,000 reads/sec ÷ 10,000 reads/node = 4 nodes, and 7,000 writes/sec ÷ 2,000 writes/node = 3.5 nodes, which rounds up to 4 nodes. The larger requirement is four nodes, so option A is the smallest single-region configuration that handles the stated peak. Option C is clearly too small, option B overprovisions, and option D changes the availability architecture rather than minimizing capacity.

Why the six-node view is a trap The opposing six-node view appears to add extra headroom, but the stem asks for the most cost-effective size to handle the equivalent workload and gives the peak rates explicitly. Nothing in the scenario justifies rounding 3.5 write-nodes up to six; the correct rounding is to four. The community arithmetic that supports four nodes mirrors the documented baseline: satisfy the read ratio, satisfy the write ratio, and take the larger rounded-up result. Real Spanner throughput can vary with schema, hot spots, indexes, transaction mix, and CPU utilization, but those are post-migration tuning concerns unless the question adds them.

The adjacent decision: regional versus multi-region Option D is the availability decision, not the sizing decision. Multi-region Spanner is appropriate when the requirements demand cross-region disaster recovery, very high availability, or data residency, and it typically costs more and has different latency and node-capacity guidance. If the scenario changed to require 99.999% availability, cross-region failover, or a multi-region instance configuration, then D or a multi-region node count would become relevant. For a single-region equivalent workload with no such requirement, selecting multi-region is unnecessary spending.

What would flip the answer If the row size were substantially larger than 1 KB, if the workload had severe hot spots, if the stated 40,000 reads/sec and 7,000 writes/sec were sustained rather than peak, or if the operating policy required significant CPU headroom above the published baseline, more than four nodes could be justified. A requirement for automatic scaling during unpredictable spikes would also change the operational design. In that case, use Spanner monitoring to validate CPU and latency and adjust nodes or autoscaling rather than blindly doubling capacity.

Operational consequence of getting it wrong Four nodes is the cost-effective answer, but it should not be treated as a permanent set-and-forget guarantee. Underprovisioning causes high CPU utilization, increased latency, and transaction contention; overprovisioning such as six nodes wastes budget without a stated need. After migration, watch CPU utilization, latency, and hotspot metrics, and leave room for growth if production traffic approaches the planning ceiling.

Official Reference

Exam Strategy

For Spanner sizing questions, calculate two separate ratios — reads per node and writes per node — then take the larger rounded-up value. Check whether the instance is single-region or multi-region before applying the per-node guidance, and eliminate options that add availability architecture when the stem only asks for cost-effective equivalent capacity. Keep the 1 KB row assumption explicit, because larger rows or hot spots can move the real answer.

Frequently Asked Questions

Why does 7,000 writes/sec require four Spanner nodes rather than six?

At roughly 2,000 writes/sec per node for 1 KB rows, 7,000 writes/sec needs 3.5 nodes, which rounds up to four. Six nodes would exceed the minimum needed and raise cost without a stated requirement.

Would a multi-region Spanner instance be more appropriate here?

Only if the requirements include cross-region availability, disaster recovery, or data residency. The question specifies a single-region equivalent workload and asks for cost-effective sizing, so multi-region adds cost and complexity.

Do the per-node numbers guarantee production performance?

No. They are planning baselines; actual throughput depends on CPU, schema, hotspots, indexes, and transaction mix. Monitor CPU and latency after migration and adjust nodes or autoscaling as needed.

More PCDBE FAQ →

Community Votes

B
50%
A
50%

50% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 2 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 2

  1. missipssamarsh 👍 2 Answered A
    Quick math (single-region per-node guidance, ~1 KB rows): ~10,000 reads/sec per node → 40,000 reads/sec ⇒ 4 nodes ~2,000 writes/sec per node → 7,000 writes/sec ⇒ 3.5 ⇒ round up to 4 nodes
  2. AwesomeGCP 👍 1 Answered B
    Therefore, the correct answer is B. Select a 6-node Spanner instance.

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

← Back to PCDBE Study Guide