10

I read everywhere that Aurora is more performant (claims etc). If that's the case and cost differences are ignored, what would be the reason for any one to use RDS MySQL? What are the technical differences between the two which would make someone not choose Aurora?

3 Answers 3

10

The technical differences are summarised nicely in this SlideShare - http://www.slideshare.net/AmazonWebServices/amazon-aurora-amazons-new-relational-database-engine

It's really quite a different architecture/implementation under the covers from standard MySQL, and one that is fundamentally closed.

Amazon are being coy about the extent to which the front end is a MySQL derivative or a complete rewrite that is protocol-compatible - see http://www.theregister.co.uk/2014/11/26/inside_aurora_how_disruptive_is_amazons_mysql_clone/?page=2 - but it looks likely it's at least a major fork with lots of new code. It will have different bugs from the main MySQL releases, which users will be reliant on Amazon to fix. A distributed transactional database backend is a complex thing to write, and while Amazon have some of the best engineers in the world for this sort of system, it's still quite new.

It relies on a completely new Amazon-specific multi-tenanted storage backend, and the updated software isn't freely available as open source, so you can't just download it and run it on your own servers. It may diverge over time (e.g. years) in terms of functional features supported, meaning that code developed against Aurora may no longer work against mainstream MySQL releases, providing a risk of increased lock-in to Amazon.

Regardless, especially if your application needs them, the performance, low replica lag, scalability and recovery time reductions over standard MySQL look pretty compelling in the short term. The lock-in and costs are certainly much lower than with, for example, Oracle's Exadata - which is really the class of solution that Amazon are targetting.

4

Aurora is 5.6 compatible so if for some reason you need something below 5.6 you wouldn't use it. Also Aurora only supports innodb so if you utilize and need myisam tables then you would use MySQL

1
  • 3
    Aurora also cannot replicate data in near-real-time to another MySQL server outside of the AWS ecosystem using MySQL native asynchronous replication, because it does not, so far, provide access to the binary log; RDS for MySQL 5.6 can do this and it's a critical factor that has kept me away from Aurora for production purposes. Sep 10, 2015 at 0:51
1

With Aurora you also get integrations to other AWS services on a natural way:

  • Lambda functions
  • LOAD DATA FROM S3 or LOAD XML FROM S3
  • SELECT INTO OUTFILE S3

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Integrate.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.