DEV Community

Cover image for Quick Comparison Cheat Sheet: Amazon Aurora vs. Amazon RDS
Atsushi Suzuki
Atsushi Suzuki

Posted on

Quick Comparison Cheat Sheet: Amazon Aurora vs. Amazon RDS

When I was studying for the AWS Certified - Database Specialty (DBS-C01), I saw some questions about the differences between Aurora and RDS in the question bank, so I compiled a memo for myself.

This article presents a cheat sheet based on those notes that you can use as a reference for exam preparation and database architecture selection.

Cheat sheet

Feature Amazon Aurora Amazon RDS
Separation of Instances and Storage Yes (independently scalable) No
Replicas Aurora Replicas (up to 15) Standby Instances and Read Replicas
Storage Specification and Pricing Not required, billed based on usage Specify storage type and capacity, plan-based pricing
Aurora Serverless Yes (no instance type specified, auto-scaling) No
Advanced Auditing Yes (Aurora-exclusive auditing features) No (use AWS CloudTrail or external auditing tools)
Parallel Query Yes (high-speed data processing due to separation of instances and storage) Possible with some DB engines (performance may be inferior to Aurora)
Cluster Parameter Group Configuration Yes (binary log, S3 integration settings, etc.) Yes (use DB parameter groups)
Zero Downtime Patching (ZDP) Yes (minimal downtime during database patching) No (patching during maintenance window)
Point-In-Time Recovery (PITR) Yes (recovery time within 5 minutes) Yes (recovery time over 5 minutes)
SQL Query-based S3 Data Export Yes (easy data backup and migration to external systems) Possible with some DB engines (functionality may be more limited than Aurora)
CloudWatch Metrics Yes (easy operational monitoring with abundant metrics) Yes (may not offer as many metrics as Aurora)
Failure Injection Query Yes (experimental verification of system fault tolerance) No
Database Activity Stream Yes (real-time integration with Kinesis Data Streams) Possible with some DB engines (functionality may be more limited than Aurora)
Calling Lambda Functions from Aurora MySQL Yes (integration of database and serverless architecture) Possible with some DB engines (functionality may be more limited than Aurora)
Machine Learning Service Integration Yes (integration with Amazon SageMaker and Amazon Comprehend) Possible with some DB engines (functionality may be more limited than Aurora)

Additional Explanations

I'll provide a brief explanation for each item.

Separation of Instances and Storage

In Amazon Aurora, instances (compute capacity) and storage (data storage) are separated. This design allows for independent scaling of instances and storage, optimizing resource utilization. Additionally, there is an automatic storage expansion feature, which adjusts capacity automatically based on usage, making storage management easier.

Replicas

Aurora Replicas serve the dual purpose of Amazon RDS standby instances and read replicas, functioning as read-only instances. This allows for the distribution of read traffic across multiple instances, potentially improving performance. Furthermore, with the ability to create up to 15 Aurora Replicas, the system can handle large read loads.

Storage Specification and Pricing

In Aurora, there is no need to specify storage type and capacity. Charges are incurred based only on usage.

Aurora Serverless

Aurora Serverless is an option that automatically scales CPU and memory without specifying an instance type. This reduces the operational burden of database capacity provisioning and scaling, improving cost efficiency.

Advanced Auditing

Advanced Auditing is an Aurora-exclusive auditing feature that allows for the collection of detailed logs regarding database access and operations. This makes security auditing and operational monitoring easier.

Parallel Query

In Aurora, the separation of instances and storage enables parallel query processing. This results in faster data processing and response, ultimately improving performance.

Cluster Parameter Group Configuration

In Aurora, you can use the DB cluster parameter group to modify database settings, such as binary logs and S3 integration settings. This allows for flexible customization of database behavior.

Zero Downtime Patching (ZDP)

Aurora offers a feature called Zero Downtime Patching (ZDP). This minimizes system downtime when applying database patches, thereby improving system availability and reducing operational burden.

Point-In-Time Recovery (PITR)

In Aurora, you can use Point-In-Time Recovery (PITR) to restore the database to a specific point in time. Aurora's PITR has a recovery time of within 5 minutes, which is faster than the 5 minutes for RDS. This helps minimize the risk of data loss.

SQL Query-based S3 Data Export

In Aurora, you can export data to S3 in SQL query format. This makes data backup and migration to external systems easier.

CloudWatch Metrics

In Aurora, you can monitor database performance and resource usage with Amazon CloudWatch Metrics. A wide range of metrics is provided, including cluster metrics (storage usage, IOPS) and instance metrics (CPU/memory usage), making operational monitoring easier.

Failure Injection Query

In Aurora, you can intentionally induce instance or storage failures using fault injection queries. This allows you to experimentally verify the system's fault tolerance.

Database Activity Stream

By using the Database Activity Stream, you can integrate information about database access and operations in real-time with Amazon Kinesis Data Streams. This makes security auditing and operational monitoring more efficient.

Calling Lambda Functions from Aurora MySQL

In Aurora MySQL, you can invoke Lambda functions. This allows for the integration of databases and serverless architectures, enabling flexible application development. By using Aurora MySQL, you can directly call AWS Lambda functions from the database. This makes it easier to develop applications using serverless architecture based on database events or triggers.

Machine Learning Service Integration

Aurora is capable of integrating with machine learning services such as Amazon SageMaker and Amazon Comprehend. This allows you to leverage data within the database for training and inference of machine learning models. Application development using machine learning for data analysis and prediction becomes easier.

Top comments (0)