MySQL face-off: Amazon Aurora outscales Google Cloud SQL

Google Cloud SQL performance may beat Amazon Aurora at low thread counts, but Aurora owns the high end

Current Job Listings
At a Glance

Many web applications have been built on an open source stack that included MySQL. Despite its limitations, MySQL managed to become the world’s most widely used open source RDBMS. What limitations, you ask? Out of the box, MySQL does not scale all that well and, in particular, cannot handle a lot of simultaneous clients compared to commercial databases.

Amazon Aurora and Google Cloud SQL were both developed to offer customers high-performance, high-scalability MySQL databases as a service. Each works best as part of an application stack residing not only in the same cloud provider, but also in the same availability zone, to minimize the latency between services and maximize the network throughput within the stack.

I benchmarked and reviewed Amazon Aurora about a year ago. More recently I previewed Google Cloud SQL. In this article, I’ll tell you what happened when I benchmarked Google Cloud SQL against Amazon Aurora using a transactional load with a varying number of client threads.

Benchmarking SQL in the cloud 

Benchmarks are really hard to perform correctly. They are easy to do wrong, leading to the expression “lies, damned lies, and benchmarks.” And they can be done in ways that are meaningless but sound impressive, leading to the portmanteau “benchmarketing.”

For my review of Amazon Aurora, I more or less reproduced Amazon’s own benchmarks, with some difficulty. I initially recorded numbers half of what Amazon reported for its read-only and write-only Sysbench tests. After working with one of the Amazon engineers to diagnose the differences between my configuration and theirs, I changed the availability zone of the clients to match the availability zone of the database and actually recorded higher write numbers than Amazon did. As it turned out, Aurora write rates tend to start high, then level off, and I was running a shorter test than Amazon had. There were several other configuration subtleties that I worried about, but actually got right, principally an enhanced networking driver and modifications to the Linux network routing settings.

To continue reading this article register now