With scores of different services, AWS can be daunting to new users. Indeed, it exemplifies the paradox of choice, namely that having more options and degrees of freedom creates complexity that makes it harder to make a decision. Nowhere is this more apparent than in the choice of databases. AWS has six database products, including two different relational database services, not to mention its Hadoop EMR, Kinesis Streams and S3 object storage services. As if that isn’t enough, Amazon RDS, its primary relational database product, supports six database engines. To help AWS users decide which to use, we’ll detail the options, identify key features and differences and recommend some usage scenarios.
In this article I detail the RDS options, including several based on MySQL along with mainstream enterprise databases from Microsoft and Oracle. The article highlights important features and drawbacks of each along with a price comparison. When analyzing the choice of RDS engine, the decision entirely hinges on application requirements. Those porting legacy systems running on Oracle or SQL Server will undoubtedly want to use the same platform on Amazon. In contrast, developers building new, cloud-first applications should opt for one of the open source databases unless they have specific needs that can’t be met. Among these, Aurora is the strongest choice since it has more features, auto-scaling which eliminates costly over-provisioning and multi-AZ, four-9’s reliability. Read on for all the details.