Certopolis

AWS Certified Cloud Practitioner

RDS vs Aurora vs DynamoDB: which AWS database to choose

Amazon RDS runs managed relational databases with engines such as MySQL, PostgreSQL, Oracle and SQL Server. Amazon Aurora is a relational engine within RDS, compatible with MySQL and PostgreSQL. Amazon DynamoDB is a serverless NoSQL database with no servers, versions or maintenance windows, and it does not support SQL JOINs.

Amazon RDS: managed relational databases

Amazon RDS sets up, operates and scales a relational database in the AWS Cloud. It supports IBM Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle Database and PostgreSQL.

RDS manages backups, software patching, automatic failure detection and recovery. A Multi-AZ deployment keeps a standby DB instance in a different Availability Zone to fail over to. Read replicas increase read scaling.

AWS compares who does what. Running a database yourself on EC2, AWS handles the hardware, but you patch the operating system and the database software, take backups and set up high availability. On RDS, AWS takes over those tasks. Application optimization and query tuning stay with you in every model.

Amazon Aurora

Aurora is a fully managed relational database engine compatible with MySQL and PostgreSQL. The code, tools and applications you use with those databases work with Aurora.

AWS states Aurora delivers up to 6x the throughput of stock MySQL and up to 6x the throughput of stock PostgreSQL on similar hardware. Its storage grows automatically as needed.

Aurora is part of Amazon RDS. You pick Aurora MySQL or Aurora PostgreSQL as the engine, and RDS handles provisioning, patching, backup, recovery and repair.

Amazon DynamoDB: serverless NoSQL

DynamoDB is a serverless, fully managed NoSQL database with single-digit millisecond performance at any scale. It supports key-value and document data models.

There are no servers to provision and no software to patch or install. DynamoDB has no versions to upgrade and no maintenance windows, and maintenance has zero downtime.

Unlike relational databases, DynamoDB does not support a JOIN operator. It does support ACID transactions across one or more tables. By default it replicates data across three Availability Zones, and global tables replicate to AWS Regions you choose.

Access is controlled through IAM, so DynamoDB has no database user names or passwords.

Where the exam catches people

  • Believing query tuning becomes AWS's job on RDS: query tuning and application optimization stay with the customer.
  • Believing hardware lifecycle moves to AWS when you move from EC2 to RDS: AWS already handles hardware on EC2; OS patching is what moves.
  • Believing Aurora is a separate service from RDS: Aurora is an engine choice within Amazon RDS.
  • Believing DynamoDB can join tables with SQL: it has no JOIN operator, so you denormalize your data model.
  • Believing RDS is serverless with no maintenance windows: that describes DynamoDB.

Written from Amazon Web Services's documentation

Try 3 questions on this

Pick an answer to see why each option is right or wrong.

  1. Which of the following AWS database services support SQL queries that join rows across tables? (Select TWO.)

    Right. In the game that’s Renown for your Cloud Technology and Services building.

    Not that one: B,D is right. In the game your Cloud Technology and Services building would lose a little Renown, and this question would come back later.

  2. Which of the following becomes an AWS task when a database moves from Amazon EC2 to Amazon RDS?

    Right. In the game that’s Renown for your Cloud Technology and Services building.

    Not that one: A is right. In the game your Cloud Technology and Services building would lose a little Renown, and this question would come back later.

  3. Which AWS service would provide a database with no versions to upgrade and no maintenance windows?

    Right. In the game that’s Renown for your Cloud Technology and Services building.

    Not that one: A is right. In the game your Cloud Technology and Services building would lose a little Renown, and this question would come back later.