Should I use Amazon Aurora or RDS?

  • If we are looking for a native HA solution, then we should use Aurora.

  • For a read-intensive workload within an HA environment, Aurora is a perfect match.

  • Combined with ProxySQL for RDS, we can get high flexibility.

  • Aurora performance is great but is not as much as expected for write-intensive workloads when secondary indexes exist. In any case, we should benchmark both RDS MySQL and Aurora before taking the decision to migrate. Performance depends much on workload and schema design.

  • By choosing Amazon Aurora, we are fully dependent on Amazon for bug fixes or upgrades.

  • If we need to use MySQL plugins, we should use RDS MySQL.

  • Aurora only supports InnoDB. If you need other engines, i.e., MyISAM, RDS MySQL is the only option.

  • With RDS MySQL, we can use specific MySQL releases.

  • Aurora is not included in the AWS free tier and costs a bit more than RDS MySQL.

  • If we only need a managed solution to deploy services in a less expensive way and out-of-the-box availability is not your main concern, RDS MySQL is what we need.

  • If, for any reason, Performance Schema must be ON, we should not enable this on Amazon Aurora MySQL T2 instances. With the Performance Schema enabled, the T2 instance may run out of memory.

  • For the both products, we should carefully examine the known issues and limitations listed on the original documentation.