AWS Relational Database Service (RDS) provides a managed service for several database engines, including Oracle. It offers automation for administration tasks like provisioning, patching, and backup. Hence, it is often compared to Oracle Autonomous Database on Shared Exadata Infrastructure. However, the differences are tremendous, especially (and not only) regarding database high availability. This is why:
Oracle Autonomous Database runs on Exadata, which provides redundant components across the entire stack: storage, compute, and networking.
AWS RDS runs on general-purpose virtual machines.
Oracle Real Application Clusters (Oracle RAC)
Oracle Autonomous Database always runs on Oracle RAC, providing database instance high availability during planned maintenance and local outages. Rolling patching ensures the database is available to the application while patches are applied in a rolling manner, one node at a time.
AWS RDS runs a single-instance database that must be taken down for patching and other maintenance activities.
Automatic Storage Management (ASM)
ASM provides data redundancy across multiple disks, IO rebalancing, and automatic block corruption detection and repair, keeping your data highly available.
AWS RDS does not support ASM and hence, does not even use Oracle Restart (Grid Infrastructure for a Standalone Server) that (at least) provides restart capabilities for the ASM instance, database listener, and the Oracle database instance.
When restoring the database to a previous point in time is needed, e.g., after deleting data by human error, Oracle Autonomous Database automatically considers the fastest way to restore the data, using Flashback Database or RMAN restore. Flashback Database is usually much faster than a restore operation, providing less downtime.
AWS RDS does not support Flashback Database. Check Unsupported features in RDS for Oracle:
(Active / Autonomous) Data Gaurd
Autonomous Database provides local and across-region standby databases for data protection against disasters with a Recovery Time Objective (RTO) of 2 minutes and a Recovery Point Objective of up to 1 minute.
AWS RDS provides (Active) Data Gaurd. However, only for the non-CDB Architecture, which has been deprecated for almost a decade and is not supported anymore starting Oracle Database 21c onward. More importantly, Data Guard on AWS RDS does not support synchronous replication (does not guarantee zero data loss) and automatic failover, which means an increase in your RPO and RTO.
The AWS RDS Multi-AZ (Availability Zone) option, as the name reveals, provides an in-region replication only, too. More importantly, it is based on storage volume replication, not on redo apply. One of the worst characteristics of storage mirroring is replicating every block as is, including the corrupted ones, without any data validation and correction.
Application Continuity makes planned maintenance activities and unplanned outages transparent for end-users by recovering the in-flight work of impacted database sessions. Application Continuity can easily be enabled on Oracle Autonomous Database.
As AWS RDS is not based on Grid Infrastructure, it is not possible to use Application Continuity.
Online (Auto) CPU Scaling
Scaling CPUs up and down according to your needs, even automatically, is an online operation in Oracle Autonomous Database that does not impact the availability of your database.
AWS RDS requires downtime for a scaling operation.
A database that does not perform well, or even hangs, might still be considered “running”, but it is not available from the end-user perspective. Oracle Autonomous Database benefits from the unique Exadata Performance features like Smar Scan, Real-Time Statistics, Automatic Indexing, and many other Exadata-specific performance features.
Additionally, Oracle RAC provides read-write scalability and load balancing, ensuring high performance when the workloads increase.
As discussed above, both Exadata and Oracle RAC are unavailable on AWS RDS.
Yes, security impacts high availability. Unauthorized access to data usually does not only mean reading the data but typically also deleting or encrypting them, making the data unavailable.
Oracle Autonomous Database provides Database Vault, Oracle Label Security, Data Redaction, and Transparent Data Encryption TDE (enabled by default) at no additional cost, even with the Bring Your Own License (BYOL) model.
Database Vault is not supported in WAS RDS, Oracle Label Security is supported only for non-CDBs, and for Data Redaction and Transparent Data Encryption (TDE), the Oracle Advanced Security option is required.
Protection against Human Error
Human error plays a significant role in many data corruptions and data breaches. It is also one of the most challenging threats to eliminate, as we all are humans.
Oracle Autonomous Database reduces the opportunity for human error by taking care of standard and time-consuming security requirements. Additionally, human error is further reduced by restricting the range for SQL commands that can run, e.g., disabling TDE.
I will let AWS RDS talk for itself:
Additionally, Oracle Autonomous Database provides the following features that are not available in AWS RDS:
- Refreshable Clones
- Hybrid Columnar Compression (HCC)
- Auto Partitioning
- Oracle Enterprise Manager (non-CDB only in AWS RDS)
- Object Storage cost for Automatic Backups is included
Refreshable Clones increase availability by allowing you to create one or more copies of the source database. The copies can be used as read-only databases or disconnected from the source and used for read-write for 24 hours for testing purposes.
If you are considering Oracle Autonomous Database vs. AWS RDS, have a look at the following summary before taking your final decision:
- Why you should run your Oracle Database on Oracle Cloud
- AWS RDS for Oracle to Autonomous Database using Zero Downtime Migration
- Part 9/10: Migrating Oracle Databases from AWS to Oracle Cloud
- How Oracle Builds Maximum Availability into Exadata
- Oracle Active Data Guard versus Storage Remote Mirroring