ClustrixDB outscales and outperforms Aurora for high-value high-transaction workloads
Many companies using MySQL were very interested in Amazon’s announcement in 2015 of Aurora to help overcome scaling issues. Amazon’s new MySQL-compatible RDS offering promises “5x the performance” and “1/10 the cost.” A welcome reprieve from the thought of sharding MySQL, Aurora promises more ‘scale’ while retaining the transactional ACID guarantees which sharding loses. But it comes with limits, and before switching to AWS Aurora, you should consider if this is just another bandaid to your scale problem, or actually a solution.
The Truth about Aurora
Amazon Aurora is based on MySQL, and leverages a shared-storage infrastructure. While it is true that Aurora automatically creates two copies in three Availability Zones and leverages quorum writes, this architecture is designed for High Availability (HA), rather than write scale. In other words, Aurora is writing six full copies of your data, rather than distributing the writes across 6 servers. It is not a shared-nothing architecture, it is a cloud service that makes some of the tricks MySQL DBAs use to extend capacity work well on Amazon’s service. In fact, Aurora matches the single-write server limit of MySQL, and once you’ve provisioned the largest Aurora instance (currently 8XL, or 32 vCPU), you hit the wall.
Some enterprises have tried to shard Aurora, but they still lose the ACID transactionality and referential integrity across the separate Aurora shards, as well as consistent backups across the sharded array. Without official AWS Support of sharding, Aurora becomes more difficult to manage compared to your own MySQL deployment. There are also some durability concerns, as they rely on durability by network, and networks are far from durable.
When companies turn to cloud technologies like Aurora, they do so because they want to avoid precisely these kinds of arcane technical hurdles. They expect solutions in the cloud to be easier and flexible in the way they perform. While Aurora is on it’s way to being a decent general-purpose relational database, if you have a high-transaction, high-value workload, you may want to look at other database choices for AWS like ClustrixDB.
ClustrixDB Performance versus Aurora
ClustrixDB is a high-performance database that runs faster on AWS on large workloads, and is capable of 10x or more the performance of Aurora. ClustrixDB’s performance capabilities increase in a near-linear fashion as nodes are added to the database cluster. Aurora works under normal loads but hits a wall when the workload gets too large. Adding ‘Read Replicas’ allow additional read transactions via separate ‘read nodes’, but they still hit some latency due to the shared storage. And that latency spikes in a mixed workload, for example a 90/10 read/write workload as benchmarked below.
InfoWorld’s Martin Heller did an objective analysis comparing ClustrixDB and Aurora and came to this same conclusion:“ClustrixDB scales out — way out… outperforms Amazon Aurora for low-latency, high-transaction-rate scenarios”
Customers use ClustrixDB to achieve linear scalability with consistent performance in areas of high-demand and high-growth on AWS. While ClustrixDB is designed to work in any cloud and any datacenter—it is delivering scalable, high performance relational database services to customers on AWS today.
Learn more about the benchmark test which pitted Aurora against ClustrixDB on AWS – and see how ClustrixDB gives you an easy way to scale performance well beyond anything possible on Aurora.
ClustrixDB Scale versus Aurora
There are two ways relational databases scale, and they are mutually exclusive—you can either scale-up or scale-out. Aurora and MySQL scale up. ClustrixDB is built for distributed computing, and scales out.
Scale-up databases are designed to run on a single node or instance. We call them ‘One Server Wonders’ as they are write server constrained. The write server can live on bigger instances to gain capacity, but once you provision the largest server available on Amazon AWS, there are no more natural options for additional scale without some heavy lifting and serious continued maintenance and refactoring of your apps.
The SVP of IT of a major bank said, “My team became less of a provider for the rest of the company, and started becoming more of a development team, just to keep the application working across the shards.”
In contrast, ClustrixDB is the only scale-out relational database for AWS. It scales both database reads and writes in a near linear fashion as you add affordable instances, offering customers the ability to scale to 10x or more than Aurora.
ClustrixDB Pricing versus Aurora
If you are working with high-transaction, high value workloads, choosing the right database can save you countless hours and thousands of dollar per year. ClustrixDB and Aurora offer very different cost structures — the cost of the instance/node, licensing costs, failover solutions, IOs and storage all consume your cloud budget.
Aurora tends to run on larger, more expensive hardware and generate fees for IOs as well as storage. ClustrixDB runs on multiple nodes (a cluster) and it relies on less expensive instances. ClustrixDB comes with licensing fees–but it does not generate fees for IOs and storage.
At first, the cost per instance of Aurora doesn’t seem large. But when you factor in the ongoing IO as well as storage cost, it becomes difficult to predict how much Aurora will actually cost. It turns out that if your workload has surges, for example seasonal peaks, Aurora can cost far more than originally estimated.
In contrast, ClustrixDB has a yearly license cost, based on the size of the hardware. There are no hidden costs for IO or storage: once you’ve provisioned your hardware and licensed it, you can use it as much as you like with no additional fees.
If you work with big workloads, deciding between ClustrixDB or Aurora can have a huge impact on your budget.
ClustrixDB Performance on AWS
Enterprise Strategy Group facilitated a Lab Review and video that documents the high levels of transactional performance achievable when leveraging ClustrixDB on Amazon AWS. Performance was compared to two competing cloud database offerings, with a goal of showing how the ClustrixDB shared-nothing database architecture breaks the mold of traditional RDBMS architectures, and gives you far more headroom to grow. Based on the analysis, ESG Lab concluded that for organizations planning to leverage AWS to service their high-value, transactional database workloads where performance is of the utmost importance, ClustrixDB meets all the requirements. We invite you to watch the video and download the lab review to learn more.