Skip to main content
Welcome back. In the previous lesson we covered why databases are needed and how AWS RDS can be a good fit for many organizational use cases. We also walked through how to set up a database in AWS RDS. During that setup we selected the MariaDB engine — MariaDB is one of several database engines that AWS RDS supports. Which database engines are available in AWS RDS? The managed engines include:
  • Amazon Aurora
  • MySQL
  • PostgreSQL
  • MariaDB
  • Oracle
  • Microsoft SQL Server
Amazon Aurora is a cloud-native, MySQL- and PostgreSQL-compatible managed engine designed for higher performance and availability. These managed engines cover most common relational database requirements. If you need a different or more specialized database, you can still install it on an Amazon Elastic Compute Cloud (EC2) instance; however, running a database on EC2 shifts all operational responsibilities (patching, backups, monitoring, high availability, scaling) to you and your team.
The image shows five rounded cards each displaying a database logo and name: MySQL, PostgreSQL, MariaDB, Oracle, and Microsoft SQL Server. They are arranged in two rows against a light background.
Because these engines are first-class RDS offerings, they integrate smoothly with other AWS services. Typical integrations include: This variety of engines lets organizations pick the best fit for different scenarios. Examples:
  • Rapid prototyping or a proof-of-concept: MariaDB or MySQL to iterate quickly.
  • Microsoft stack applications: Amazon RDS for SQL Server for native feature compatibility.
  • Enterprise apps with Oracle dependencies: Managed Oracle engine.
  • High throughput / low latency / seamless scaling: Consider Amazon Aurora.
RDS also simplifies licensing and cost management. Many engines offer a license-included pricing option (AWS handles the database license), or you can choose bring-your-own-license (BYOL) where supported. Pay-as-you-go billing means you pay for the capacity you provision and use.
A four-column infographic listing benefits of Amazon RDS: seamless integration with other AWS services, suitability for varied application use cases, cost-focused utilization for testing/proofs of concept, and easier licensing options. Each column has a colored circular icon beneath it and a small "© Copyright KodeKloud" at the bottom.
Running databases on EC2 gives you maximum flexibility, but it also requires you to manage backups, replication, patching, scaling, and high-availability yourself. RDS removes most of that operational burden.
When choosing an engine, evaluate application compatibility (SQL dialects and extensions), scalability needs, required availability (multi-AZ), and licensing constraints. Use managed RDS engines when you want AWS to handle operational overhead.
Now, let us dive into what each of these different database flavors offers in terms of features and use cases.

Quick comparison: AWS RDS engines

EngineCompatibility / HighlightsTypical use casesLicensing & key notes
Amazon AuroraMySQL- and PostgreSQL-compatible; designed for high throughput, low-latency, and distributed storageHigh-scale transactional apps, SaaS, read-heavy workloadsAWS-managed, optimized storage layer; faster failover and auto-scaling
MySQLWidely adopted open-source relational DB; large ecosystemWeb apps, LAMP stacks, rapid developmentStandard open-source licensing; supported in RDS with managed backups
PostgreSQLAdvanced SQL features, extensibility, and strong ACID complianceGIS, analytics, complex queries, extensible appsOpen-source; supports rich extensions (PostGIS, etc.)
MariaDBMySQL fork with performance/feature differencesQuick prototyping, MySQL-compatible applicationsOpen-source; compatible with many MySQL tools
OracleEnterprise-grade features, PL/SQL, advanced securityLarge enterprise apps that rely on Oracle-specific featuresLicense-included or BYOL options in RDS
Microsoft SQL ServerDeep integration with Microsoft ecosystem, T-SQL.NET applications, Windows-centric environmentsLicense-included or BYOL; supports Windows-based features

Detailed engine summaries

Amazon Aurora

  • Purpose-built for the cloud with a distributed, fault-tolerant, self-healing storage system.
  • Two compatibility modes: Aurora MySQL and Aurora PostgreSQL.
  • Offers higher throughput and faster failover than standard MySQL/PostgreSQL in many scenarios.
  • Built-in features: read replicas, global databases, serverless modes (Aurora Serverless), and storage autoscaling.
  • Reference: https://docs.aws.amazon.com/aurora/latest/userguide/

MySQL on RDS

  • Mature, broadly supported relational database with a large ecosystem.
  • Good for web apps, e-commerce, and applications where MySQL compatibility matters.
  • RDS handles patching, backups, automated snapshots, and Multi-AZ failover.
  • Reference: https://dev.mysql.com/doc/

PostgreSQL on RDS

  • Strong SQL standards support, advanced indexing, window functions, and extensibility.
  • Ideal for analytics, geospatial workloads (PostGIS), and apps requiring complex queries or custom extensions.
  • RDS supports many PostgreSQL extensions but check the supported list for RDS compatibility.
  • Reference: https://www.postgresql.org/docs/

MariaDB on RDS

  • A MySQL-compatible fork with its own performance optimizations and storage engines.
  • Often chosen for compatibility with MySQL tools while taking advantage of MariaDB-specific enhancements.
  • RDS provides managed administration, backups, and Multi-AZ deployments for MariaDB.
  • Reference: https://mariadb.org/

Oracle on RDS

  • Suitable for enterprises requiring Oracle-specific features (PL/SQL, advanced security, partitioning).
  • RDS offers license-included options and BYOL for customers with existing licenses.
  • Multi-AZ and read replicas are available depending on engine/edition.
  • Reference: https://www.oracle.com/database/

Microsoft SQL Server on RDS

  • Native T-SQL support and integration with Windows/.NET ecosystems.
  • Useful for enterprise applications that depend on SQL Server-specific features like SQL Server Agent, CLR, or Reporting Services (check RDS feature availability).
  • Licensing: choose license-included or BYOL where applicable.
  • Reference: https://docs.microsoft.com/sql/

Choosing the right engine — practical checklist

  • Application compatibility: Does your app rely on engine-specific syntax or extensions?
  • Scale & performance: Need Aurora’s distributed storage and faster throughput?
  • Operational overhead: Do you prefer AWS-managed features (automated backups, patches, Multi-AZ)?
  • Licensing: Do you have existing licenses (BYOL) or prefer license-included billing?
  • Ecosystem & community: Consider available tooling, community support, and extension availability.
Further reading and resources: If you want, I can provide a decision flowchart or a short checklist tailored to your application to help pick the best RDS engine.

Watch Video