If that were the tradeoff, which would you pick for setting up a geo-replicated cluster of 3 or 5 nodes? To make this comparison a bit more specific, let’s pit the $10 plan of UpCloud vs the €12 plan from Scaleway.

You are getting one core from a 10 core Xeon E5 CPU at 3.1 GHz and their proprietary faster-than-enterprise-grade-SSDs storage called MaxIOPS. Plus 1 GB RAM.

You are getting a bare metal (dedicated) System on a Chip with a four core Intel Atom processor, network-attached SSDs (slowish) and 8 GB RAM.

Now, I realise prices are not 100% comparable and other differences exists with those providers, but I am trying to get a feel for what CockroachDB likes. Maybe it won’t run in 1 GB of RAM at all, in that case let’s assume the 2 GB plan from UpCloud.

Many thanks for any opinions,


The details will depend on your specific workload, but as a general guideline it’s probably better to have a faster CPU than more RAM. We haven’t tested the difference between 1GB and 2GB of RAM (we know that 512MB is not enough)

Workload would be (potentially) many users distributed around the globe, each working with their own database (or set of tables). No cross-joins from user1’s data to that of user2. Thus I see every user working with the node topologically closest to him and enjoy great read performance. Upon writes he’ll need to wait for consensus to arrive from other nodes.

Business logic, UI etc. is all microservices connected via a message bus, so I am trying to really make this scale horizontally.

That being said, what about IOPS? Is it just as important as CPU or does it pale in comparison in a geo-replicated setup? Perhaps the latencies between data centers (can be 100ms or even 300ms) dominate performance and even the slowest SSD will be able to keep up?


Distance between datacenters will dominate latency, but throughput will still depend on IOPS and CPU. My guess is that pretty much any SSD will be fast enough that CPU will matter more, but we haven’t tried to seek out slow SSDs to test with.