[For CockroachDB's most up-to-date performance benchmarks, please read our Performance Overview page]
Last fall we wrote about how CockroachDB was 50x more scalable than Amazon Aurora as evidenced on the industry-standard TPC-C benchmark.
We're pleased to announce that CockroachDB has doubled that performance benchmark by successfully passing TPC-C at 100,000 warehouses. And with a max throughput of 1.2m tpmC, CockroachDB can now process 100X the throughput of Amazon Aurora’s last published benchmark.
Unlike Aurora and other databases that selectively degrade isolation levels for performance, CockroachDB can achieve massive scale while maintaining serializable isolation, protecting your data from fraud and data loss.
Cockroach Labs measures performance through many diverse tests, including the industry-standard OLTP benchmark TPC-C, which simulates an e-commerce or retail company. Created in 1992, TPC-C has withstood the test of time and remains the most mature industry benchmark for OLTP workloads, and the only objective comparison for evaluating OLTP performance. In its own words, TPC-C:
“…involves a mix of five concurrent transactions of different types and complexity either executed on-line or queued for deferred execution. The database is comprised of nine types of tables with a wide range of record and population sizes. While the benchmark portrays the activity of a wholesale supplier, TPC-C is not limited to the activity of any particular business segment, but, rather represents any industry that must manage, sell, or distribute a product or service.”
As a result, TPC-C includes create, read, update, and delete (e.g., CRUD) queries, basic joins, and other SQL statements used to administer mission-critical transactional workloads. It includes detailed specifications for concurrency and workload contention.
Note, this is an unofficial TPC-C result. If this run were an official run it would be the 28th largest run on TPC-C leaderboard.
We compared our unofficial TPC-C results to Amazon Aurora RDS’ unofficial TPC-C results from AWS re:Invent 2017. We also used Aurora’s SIGMOD 2017 paper for additional information as to their test setup and load generator.
As such, based upon their last published metrics, CockroachDB is now 100 times more scalable than Amazon Aurora, supporting 50 billion rows and more than 8 terabytes of frequently accessed data. Note, CockroachDB scales out to many more nodes than Aurora while still achieving the requirements posted in the TPC-C spec which demonstrates how differences in database architecture can directly influence scale.
|Amazon Aurora||CockroachDB 18.2*||CockroachDB 19.2|
|Max Throughput (tpmC)||12,582||631,851||1,245,462|
|p95 Latency for newOrder Transactions (ms)||Not Reported||1140.90||486.50|
|Max Warehouses with Max Efficiency (Warehouses)||1,000||50,000||100,000|
|Max Number of Rows (Billion)||0.499||24.9||49.8|
|Max Unreplicated Data (TB)||0.08||4||8|
|Machine type||2 r3.8xl||135 n1-highcpu-16||81 c5d.9xlarge|
*CockroachDB 18.2 was previously marketed under the name CockroachDB 2.1. Consult this blog to learn more about why we switched to calendar versioning.
CockroachDB Performance Page
In addition to publishing these results, we are also pleased to announce that we have created a permanent performance page. This page will always contain the latest information on CockroachDB’s performance on industry-standard tests like TPC-C and Sysbench.
You can visit this page to learn more about how CockroachDB provides predictable scaling, throughput, and latency. If you fail to achieve similar performance profiles, there is likely a problem in either the hardware, workload, or test design. We stand by these profile characteristics and provide reproduction steps for all published benchmarks. To that end,
Cockroach Labs believes that a benchmark isn’t a benchmark if it can’t be reproduced.
We will always include reproduction steps for any benchmark we publish. You can visit this page to find our most recent results as well as reproduction steps for TPC-C 1K, 10K, and 100K.
Click here to learn more about how CockroachDB can provide you a managed CockroachCloud cluster that can provide a hassle-free way to meet your application’s performance needs.