Amazon RDS Aurora vs RDS MySQL vs MySQL on EC2?

I have been looking for best practices for setting up your database in the cloud, but it’s still not clear to me which of the following solutions should we go to?

  • Amazon RDS Aurora
  • Amazon RDS MySQL
  • MySQL on EC2 instances

I see Amazon Aurora being sold as the best alternative, however after some research it seems like people are not using it. Is there a problem with this?

+5
source share
3 answers

You must carefully measure Aurora before taking this. Run the instance and configure the test instance of your application and your database. Generate as much load as possible. I did this at my last company, and I found that despite Amazon's claims of high performance, Aurora failed impressively. Two orders of magnitude slower than RDS. Our application had a high level of write traffic.

Our conclusion: if you have secondary indexes and high write traffic, Aurora is not suitable. I am sure this is good for read-only traffic.

(Edit: The testing that I am describing was done in the first quarter of 2017. Like most AWS services, I expect Aurora to improve over time. Amazon has a clear strategy of β€œ Delivering ideas 70% and then iterating. ” From this we conclude that the new AWS product is worth checking out, but is probably not ready for production for at least several years after it was introduced).

At this company, I recommended RDS. They did not have any special DBA personnel, and the automation that RDS gives you for database operations, such as updates and backups, was very useful. You sacrifice a bit of flexibility in settings, but that should not be a problem.

The worst inconvenience of RDS is that you cannot have a MySQL user with the SUPER privilege, but RDS provides stored procs for most common tasks for which you need the SUPER privilege.

I have been comparing an RDS instance with several AZs and an Orchestrator managed EC2 instance set. Since Orchestrator requires three nodes, so you can have a quorum, RDS was a clear winner in terms of cost here, as well as the ease of configuration and operations.

+7
source

I do not use Aurora personally, but I can HIGHLY recommend RDS to run my own on EC2. If recovery occurs automatically, and backups cost only a penny. Moreover, RDS is not much more expensive.

Aurara looks really good on paper, but a more flexible selection of instances still supported me in PostGreSQL. We are looking at migration to Aurora, though, mainly because of the ability to autoload and increase productivity.

+2
source

AWS RDS is a managed database solution that provides support for several database options from Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server. When you go with RDS, it will provide built-in configuration options such as.

  • High Availability Database Replication
  • View replicas for scalability
  • Backup & Restore
  • Patches for the operating system and software, etc.

This simplifies the overhead of database administration. However, flexibility is limited by RDS offerings.

Alternatively, if you host your database on an EC2 instance, you can install the necessary versions of the database engines, install the necessary extensions, etc., which provides more flexibility, but also requires expertise and adds administrative overhead.

When you consider Amazon Aurora in RDS, it is different from other engines because its new and fully implemented Amazon from scratch and provides better performance, reliability out of the box (As sold by Amazon) at a reasonable price. However, one limitation of Aurora is that it is not included in the AWS free tier, where the smallest instance type that it supports is "small."

Note. Some features offered by RDS and pricing vary depending on the database option you select.

0
source

Source: https://habr.com/ru/post/1272088/


All Articles