Sizing a CockroachDB cluster

Everyone’s idea of production is different, but CockroachDB is obviously designed for large deployments, so I’m wondering if it’s ready for that kind use.

For example, I have a very normalized database with hundreds of tables, 400 GB of data (with about 2% in its working set), 500 selects per second, 200 inserts per second, 100 updates per second. Most SELECT queries are either simple, on smaller tables, or can be cached (lots of lookup tables). It’s primarily INSERT and UPDATE performance that is critical.

With MySQL I’m running on a 3 node replication cluster with each node having 24 CPU cores and 96 GB of RAM. The specs and number of nodes is not set in stone.

Is this the type of thing that CockroachDB can handle? I’ve read up on its limitations and known issues, but there doesn’t seem to be any information about running heavy OLTP loads.


The nodes sound like overkill for MySQL based on the traffic (if mysql is the only thing on those nodes)… The IOPs from your disk and the latency between the 3 node replication cluster will be likely be your limiting factor in that configuration (24 cores and 96 GB of RAM).

Anyways, cockroach can handle that from what little testing I have done. I plan to do more Cockroach vs MySQL multi master OLTP testing with high latency between some nodes (near 100ms), but assuming you have SSD and local to moderate latency (<10ms) almost any cluster should handle the sub 1000 QPS you outlined. If you have spinning disks (how many spindles?), or slow write ssd (without a battery backed RAID card to absorb the writes) that might become a limiting factor and the amount of memory may have a greater impact on the results.