CockroachDB review: Distributed SQL shifts into high gear

CockroachDB 19.2.2 impresses with lower latency, higher throughput, greater scalability, and new fully managed CockroachCloud service

1 2 Page 2
Page 2 of 2

CockroachDB’s new optimized atomic commit protocol cuts the commit latency of a transaction in half, from two rounds of consensus down to one. Combined with transaction pipelining, parallel commits bring the latency incurred by common OLTP transactions to near the theoretical minimum: the sum of all read latencies plus one round of consensus latency.

JSON queries are now optimized by using inverted indexes on the schemaless data in a JSONB column. A new batched, column-oriented, vectorized, in-memory execution engine speeds up queries with supported column types and large numbers of rows; this will support OLAP queries. A distributed SQL engine is also in development.

CockroachDB performance benchmarks

While all these optimizations sound great in theory, you need to look at performance in practice to understand their real-world effects. Cockroach Labs has been doing extensive testing using industry-standard benchmarks such as TPC-C and Sysbench. TPC-C is a synthetic data warehouse OLTP test that generates large data sets and does a series of SQL queries against them; Sysbench does low-level benchmarking. As you can see in the graph below, the CockroachDB TPC-C scale and scores are now quite impressive.

cockroachdb tpc c throughput 03 IDG

CockroachDB has recently been able to scale its TPC-C tests to 100,000 data warehouses and 1.2 million tpmC. That’s close to the theoretical maximum.

The conditions and results of the TPC-C summarized by the graph above are in the table below. Essentially, to get a maximum throughput of 1.2 million tpmC using 8TB of unreplicated data, it took 81 nodes, each a c5d.9xlarge AWS instance with 36 vCPUs, 72 GiB RAM, and one 900 GB NVMe SSD.

You can replicate this benchmark yourself should you wish, although doing it at full scale takes a lot of work. The instructions are online; you’ll also need to request a free 30-day CockroachDB Enterprise trial license.

If you are in the market for a scalable, distributed, portable, OLTP SQL database with strict serializability, look no further than CockroachDB or CockroachCloud. Do pay attention to the current limits of the database, however. CockroachDB gives you a hugely scalable, strongly consistent OLTP across geographically distributed nodes, but no geographic or full-text indexes; no triggers, events, stored procedures, or UDFs; and no OLAP. 

Cost: CockroachCloud: $75 to $700 per node per month, depending on Cloud and instance size. CockroachDB Core: Free open source. CockroachDB Enterprise: 30-day free trial, pricing based on number of CPUs, with discounts based on the type of usage and support. 

Platform: CockroachCloud: GCP/GKE or AWS/EKS, minimum 2 vCPU and 2 GB RAM per node. CockroachDB Core/Enterprise: MacOS, Linux, Windows; executable, Kubernetes, Docker, build from source. 

At a Glance
  • CockroachDB is scalable, distributed, portable OLTP SQL database with strict serializability, available in free open source and enterprise editions, and also as a fully managed cloud service.

    Pros

    • Strongly consistent OLTP across geographically distributed nodes
    • Horizontally scalable for writes as well as reads
    • Free open source CockroachDB Core version
    • Does not require GPS or atomic clocks
    • Available on most clouds and platforms
    • Scales to 100,000 data warehouses on TPC-C with near-perfect throughput

    Cons

    • Lacks stored procedures, triggers, events, and UDFs
    • Lacks full-text and geospatial functions and indexes

Copyright © 2020 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2