Earth’s biggest e-commerce player, Amazon, recently launched their all new relational database engine – Aurora. ‘Aurora’ is a Latin originated word defines ‘dawn’. As the name portrays, Amazon wants it to be the dawn of database management system (DBMS). Will Amazon Aurora be the aurora of DBMS in the current market? Let’s strive into it detailed.
Amazon introduces Aurora as the fifth database engine in the market that enables actions through Amazon RDS (Relational Database System). MySQL, Oracle, Microsoft SQL Server, and PostgreSQL are the other 4 database engines that are already present in the Amazon’s eco-system. According to Amazon, what makes Aurora more impressive is that the engine is simple and cost-effective as open sources, but is highly reliable and faster like high-end commercial database services as well. No modification is required on existing MySQL applications and tools since Aurora is compatible with MySQL 5.6 offering up to 5 times output of standard MySQL programming on the same hardware. Provisioning, patching, backup, recovery, failure detection, and repair are the major time-consuming tasks bettered through Aurora by Amazon RDS. So on are the features of Aurora. Let’s review Aurora and benchmark how better or worse the database engine is over the rest apart from the biased Amazon official write-ups.
Amazon promises 5 times better performance than MySQL. As per the benchmark reviewed by Amazon by delivering service over 500,000 select queries per sec and 100,000 updates per sec; it’s easily calculated that the Aurora’s performance is at least five times greater than a MySQL database server performing with the same benchmark coupled with similar hardware.
Benchmark Test: Aurora vs MySQL
To know the exact performance of Aurora rather than just believing what is in paper, a benchmark test was conducted by Takipi, an Israel based firm. Using Sysbench, benchmark tool, they figured out four different instances: MySQL 5.6 on EC2, MySQL 5.6 on RDS, Aurora on RDS, and MySQL 5.7 on EC2. Check the below image to see the results.
From the benchmark test, we figured out few notes and are as following:
– RDS performs up to 60% better than EC2.
– MySQL 5.7 RC is slightly ahead of MySQL 5.6.
– Aurora fails to prove that it’s 5 times faster than MySQL. However, we believe that Aurora would be performing as per Amazon’s promises on bigger database with different setups.
– It’s Aurora leading from the front with a 20% better performance than MySQL 5.6 on RDS.
Please have a look at the response time graph shared below.
Amazon service is known for its high availability. This is because of Multi-AZ deployments that provide increased availability and fault tolerance. Aurora is backed up by an SSD storage called cluster volume which is a single and virtual storage. Every cluster volume carries copies of data from different zones in a single region and easily enables backup of data to Amazon Simple Storage Service (S3). Across three available zones, each data base volume is replicated in six ways to ensure performance and enhances incredible 99.9% of availability.
Switching from MySQL
MySQL is the world’s most popular open source database. Since 2009 Amazon Web Services has been providing with managed MySQL database, Amazon Relational Database Service. So, of course, Amazon Aurora would be MySQL compatible. More precisely, every standard MySQL tool used for export and import works with Aurora, which makes a user to easily create a new database in Aurora. So switching from MySQL to Amazon Aurora are just a few clicks away. Amazon claims that it needs only an hour for the completion of switching processes. However, it depends upon the amount and format of data.
Though Amazon indicates Aurora as the much practicable database, it’s missing few vital features.
Cross-region replication is one among them, which enables extra availability by replicating the database in another region. However, it’s supported on MySQL RDS.
AWS Key Management Service (KMS) is the other specification found nowhere in the picture, which creates and controls encryption keys to encrypt data at rest. However, Oracle and SQL servers running on Amazon RDS support this feature.
Here is an official video clip by Amazon Web Services. Watch out.
Amazon describes in the document that it requires only an hour to switch between the databases. So, it’s very much clear that Amazon is targeting MySQL users running on Amazon RDS. It must be acknowledged that Aurora is a smart move by the e-commerce giant to make it an alternative of MySQL enabling Aurora viable with all MySQL standard tools. In addition, there is no chance in questioning the reliability as it’s from Amazon’s home, the giant who manages a huge infrastructure of its own. And 99.9% availability and 5 times better speed are the other crucials that Amazon offers. Though it lacks few features found with Oracle, MySQL on RDS, it’s all negotiable considering Aurora’s whole package. However, the pricing is on a higher side comparing MySQL. This is where you need to review.
So, what do you think? Does it fit for your business? Are you okay to spend a little more for better performance and that too from a world class leader? It’s your call.
Please let me know your points on Amazon Aurora in comments.