Amazon Aurora is a fully managed relational database engine that supports MySQL and PostgreSQL, designed to combine the performance of commercial database engines with the cost-effectiveness and simplicity of open-source databases. It allows users to utilize their existing MySQL and PostgreSQL tools, applications, and codebases without significant modifications.
Aurora includes a high-performance storage subsystem. It also automates and standardizes some of the most challenging aspects of database configuration and administration such as database clustering and replication.
How Amazon Aurora works with Amazon RDS
Aurora is part of Amazon Relational Database Service (RDS). When initiating new database setups through Amazon RDS, users can select either Aurora MySQL or Aurora PostgreSQL as their database engine. Using the AWS Management Console, AWS CLI, and API operations, Aurora simplifies routine tasks such as provisioning, patching, backup, and recovery.
Unlike standard RDS operations which may focus on individual database instances, Aurora management usually involves clusters of database servers that maintain synchronization via replication. This setup facilitates automatic clustering and storage allocation, enhancing the ease and cost-efficiency of operating and scaling large database deployments.
Moreover, Aurora facilitates migration from Amazon RDS for MySQL and PostgreSQL by supporting snapshot creation, restoration, and one-way replication, with various tools for converting existing applications to Aurora.
Benefits of Aurora
Its benefits include:
- High Scalability: Aurora can automatically scale its storage capacity as needed, from 10 GB up to 128 TB without requiring manual intervention.
- Increased Performance: As mentioned, Aurora database offers significantly higher throughput compared to standard MySQL and PostgreSQL on RDS. This can be beneficial for use cases like GenAI or other workloads requiring rapid data processing or heavy computational loads.
- Durability and Availability: Aurora is designed to offer greater than 99.99% availability. It replicates data within the same cluster across three Availability Zones (geographic locations) and continuously backs up data to Amazon S3.
- Automated Management: Aurora reduces the need for manual database administration tasks, allowing developers and database administrators to focus more on software development and innovating rather than maintenance.
- Cost-Effectiveness: Although Aurora provides the performance and availability characteristics of commercial databases, it is priced more like a standard open-source database (around 1/10 the cost of commercial databases). You pay for what you use without upfront costs.
- Security: Aurora databases provide multiple layers of security, including network isolation using Amazon VPC, encryption at rest using AWS Key Management Service (KMS), and encryption in transit using SSL.
- Easy to migrate: Aurora offers MySQL and PostgreSQL compatibility, which means you can easily migrate your existing applications to Aurora using AWS Database Migration Service with few or no changes.
- Read Replicas: Aurora supports up to 15 read replicas which enhance the read throughput and reduce the load on the primary database instance, improving the performance of read-heavy database workloads.
- Aurora Serverless – use only the resources you need as long as you need them, on-demand.
Amazon Aurora versus Relational Database Service (RDS)
Amazon Aurora is generally suitable when you need high performance and scalability for MySQL or PostgreSQL, as it offers significant improvements in speed and allows more read replicas. It’s ideal for applications with fluctuating or unpredictable workloads, especially when leveraging Aurora Serverless.
Choose Amazon RDS if you need a broader range of database engines or want to maintain a similar environment to existing on-premises databases. It’s suitable for applications requiring specific database engines like SQL Server or Oracle and benefits from AWS’s Free Tier for cost savings.
Let’s compare the key differences in more granularity here:
Feature Amazon RDS Amazon Aurora
Database Engines Supports seven DB engines: Aurora, MySQL, PostgreSQL, SQL Server, MariaDB, Oracle, and OutPosts. Limited to two DB engines: MySQL and PostgreSQL.
Performance Good performance, supports long-running jobs. Up to 5X better performance than MySQL; 3X better than PostgreSQL.
Scalability Supports up to 5 read replicas; limited database scalability, does not support sharding. Up to 15 read replicas; enhanced scalability and lower latency.
Management Fully managed with seamless integration. Fully managed with cloud-native architecture and serverless options.
Backup and Recovery Transaction logs and backups retained for a specified period. High availability across multiple AZs.Automated backups, supports data recovery up to the last five minutes.
Cost Multi-AZ deployments cost extra. One-year free tier available. Generally higher performance can mean higher costs; no free tier.
Customization High control over instances (type and size). Less control over underlying instances.
Deployment Options RDS on EC2 provides additional control. Aurora Serverless offers cost-effectiveness for fluctuating workloads.
Latency and Data Handling Slower replication; each new node must copy all data. Minimizes latency to milliseconds, faster than RDS.
Amazon Aurora Pricing
Instance Type and Size:
Storage Configuration:
Replicas and Failover:
Pricing Models:
Data Transfer Costs:
Global Database:
Backup and Backtrack
You are not charged for the backup storage of up to 100% of the size of your Aurora cluster, or database snapshots created within the backup retention period. All other backups and snapshots (including those from deleted clusters) incur costs.
Backtrack lets you quickly move an Aurora database to a prior point in time without needing to restore data from a backup. This lets you quickly recover from user errors, such as dropping the wrong table or deleting the wrong row. You pay an hourly rate for storing change records allowing you to backtrack for a period of time (up to 24 hours).
Extended support for RDS
A common AWS billing pitfall is not updating your database, leading to extended support charges. This can easily occur because your databases are not automatically upgraded to the latest version.
For provisioned instances on RDS for MySQL, RDS Extended Support is priced per vCPU per hour and depends on the AWS Region and calendar date.
Amazon Aurora Frequently Asked Questions
What is Aurora serverless?
What are I/O operations in Aurora and how are they calculated?
In Amazon Aurora, I/O operations refer to the interactions between the database engine and its SSD-based virtualized storage layer. Each read operation of a database page is counted as one I/O. For Aurora MySQL-Compatible Edition, each page is 16 KB, while for Aurora PostgreSQL-Compatible Edition, it’s 8 KB. If the data your query needs is already in memory, no I/O charge is incurred for reads. However, if data must be fetched from storage because it’s not in the cache, that will count as a read I/O.
Write I/O operations are calculated differently; they are counted in 4 KB increments. For instance, a log record of 1,024 bytes (1 KB) constitutes one write I/O operation. If a log record exceeds 4 KB, it will require multiple write I/O operations to persist it. Aurora optimizes these operations by potentially batching smaller concurrent write operations to minimize I/O usage.
What are Aurora Replicas and how do they enhance database performance?
Is Amazon Aurora fully managed?
Understand and optimize Amazon Aurora with nOps
Business Contexts transforms millions of rows of contextless data into the who, what, when and why of cloud spend — making it easy to get 100% visibility of your cloud costs and usage so your bills are never a surprise or mystery.
- Allocate 100% of your AWS costs, including EKS. Kubernetes costs are often a black box — no longer with nOps. Understand and allocate your unified AWS spend in one platform.
- Automated resource tagging. You don’t need to have all your resources tagged to allocate costs. Create dynamic rules by region, tags, operation, accounts, and usage types to allocate costs back to custom cost centers.
- 40+ views & filters. Map hourly costs by any relevant engineering concept (deployment, service, namespace, label, pod, container…) or finance concept (cost unit, purchase type, line item, cost allocation tag…).
- Custom reports & dashboards for the whole team. Monthly reporting and reconciliation can take hours; with nOps only minutes. Tailor dashboards and Slack/email reports to your needs, whether you’re a CFO or VP of Engineering.
The best part? nOps is an all-in-one solution for all of your cloud optimization needs: automated commitment management, rightsizing, resource scheduling, workload management, Spot usage, storage optimization, and more.
Join our customers using nOps to understand your cloud costs and leverage automation with complete confidence by booking a demo today!