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
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 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.
Copyright © 2020 IDG Communications, Inc.