Logo Logo Comparison: Aurora MySQL vs MySQL

Modified date: Monday, June 30, 2025

Table of Contents

General

FeatureAurora MySQLMySQLDefinition
introAurora is a relational database management system (RDBMS) built for the cloud with full MySQL and PostgreSQL compatibility.MySQL is an open source relational database management system (RDBMS) that’s used to store and manage data.in their own words - but I reserved the rights to remove some bold claims like "the best", unless it is widely recognized.
vendorAmazon AWSOracle
initial release1995
latested version9We don't put a release date here as the software is patching frequently. So tracking it is not much useful.
db-engines ranking2ranks from https://db-engines.com/en/ranking (06/25)
relational?yesIs it a relational database? (1) Most database are actually with some extensions, for example, nested data types, graph support, etc, which we usually called "multi-model". (2) Some of them are product family, meaning they have more than one database. Here we focus on the main one but explain others when needed.
open source?yesmainly the engine code
license

commerical, GNU

a dual-license model: an open-source license (GPL) and commercial licenses
price: box software

$0 ~ $32,100 (2023)

MySQL pricing by edition (annual subscriptions): (1)Community Edition: Open-source and free — from $0 (2) Standard Edition: Starts at $2,140/year for a two-core server; can scale up to $12,840/year as you add more cores portable.io (3) Enterprise Edition: Starts at $5,350/year for two cores; increases up to $32,100/year depending on core count
on-premise offeringyesif no means you can't buy "box" software from them
cloud offeringNone
technical dochttps://dev.mysql.com/doc/

Data Types

FeatureAurora MySQLMySQLDefinition
int: signessbothbothif differentiate signed and unsigned int
int: 1-bytes int nametinyinttinyint
int: 2-bytes int namesmallintsmallint
int: 3-bytes int namemediumintmediumint
int: 4-bytes int nameintint
int: 8-bytes int namebigintbigint

SQL

FeatureAurora MySQLMySQLDefinition
baseMySQL
SQL: standard complaincemediummedium
PL: mainSQL + SPSQL + SPmain programming lanage: most database suports SQL because SQL is a well established standard. However, each database would like to extend SQL more or less.
PL: other language supportnonoPL lanaguage other than PL/SQL, like PL/Java, PL/Rust etc
Object-Relational?nono
vector searchno nativeno nativedoes it support vector search

Storage and System

FeatureAurora MySQLMySQLDefinition
arch: serverC/SEmbedded or traditional C/S?
arch: run in browser?noIt also known as a client-side database, is a database that is stored and managed within a user's web browser, rather than on a remote server.
arch: Multi-master support?noif multi-master support?
arch: primary/read replica?yesif primary + mulitiple read replica supported
replication: sync/asyncbothCan commits wait or w/o wait for replicas to acknowledge
ACID

yes/atomic DDL (non-transactional)

Atomic DDL is not transactional DDL. DDL statements, atomic or otherwise, implicitly end any transaction that is active in the current session, as if you had done a COMMIT before executing the statement. This means that DDL statements cannot be performed within another transaction, within transaction control statements such as START TRANSACTION ... COMMIT, or combined with other statements within the same transaction.
for DML and DDL
ACID: durabilityyes
Materialized View: support?no

Benchmarking

FeatureAurora MySQLMySQLDefinition
any official TPC benchmarks?noThe TPC benchmark includes a set of tests simulating real-world scenarios to evaluate database performance.

Tools

FeatureAurora MySQLMySQLDefinition
command line clientmysqlit means "sql client" for database supporting SQL. For embedded atabase, the client includes the server together.
admin(GUI)MySQL workbench

Export Regulations

FeatureAurora MySQLMySQLDefinition
JurisdictionUSWhich country controls export
ECCNNoneAn Export Control Classification Number (ECCN) is a five-character alphanumeric code used to categorize items on the Commerce Control List (CCL) for export control purposes. Most database may fall into 5D992.c category, "mass market encryption", which means it has some ordinary encryption related code, for example, the SSL connection code.
Eligible License Exception / CCATS

Not required

There is no ECCN for open source software
A License Exception is an authorization that allows you to export or reexport items subject to the EAR without needing to obtain a specific export license, provided certain conditions are met. CCATS stands for Commodity Classification Automated Tracking System. The BIS assigns a CCATS number to products that it has classified under the Commerce Control List (CCL).
Encryption ComponentsSSLCrypto functionality that triggers control

Internal

FeatureAurora MySQLMySQLDefinition
concurrency controlInnoDB: MVCC
MVCC: implemented?yesif implement MVCC for concurrency control
MVCC: rollback segment

yes

MySQL supports multiple storage engines, with InnoDB is popular. So we focus on InnoDB here.
if uses rollback segment (RS) to store old versions. Without RS, old versions and new versions are mixed stored, then the database engine has to find a way to efficiently drop the old versions at certain point.
Implementation languageC++A DBMS may use mulitple programming languages, for example, supports its stored procedure. The major programming language used to implement the engine.

Internal - Optimizer

FeatureAurora MySQLMySQLDefinition
CBO?yesif it employees a cost based optimizer
frameworkSystem-RSystem-R is more like a dynamic programming, bottom up optimizer, while Cascades/Volcano gebaseerd optimizer is more like top-down optimizer.
stats: multi columnnoMulti-column stats may cause storage space bloat: for example, if one dimension has 100 buckets, then three dimensions will require 1M buckets - but reducing the total number of buckets will result in reduced accuracy.
plan guide?noCan we use plan guide to correct the plan? This is a more systematic and accurate way to repair the plan than plan hints. Especially during system upgrades, if the plan becomes worse, we can use plan guide to force a query to use a previous plan.

Internal - Runtime

FeatureAurora MySQLMySQLDefinition
spilling supportyes"spilling" refers to the process of writing temporary data or intermediate results of a query to disk when the available memory is exhausted. This is crucial for handling large datasets or complex queries that require more memory than available.
modelVolcanoThe operator scheduling model: pull-gebaseerd (Volcano), push etc.
support intra-parallel query?nomeaning a single query can utilize multi hardware threads to run it
adaptive execution (AQP)?noTraditionally, after the optimizer determines the plan, the runtime must execute it completely without any room for adjustment, such as which of the two tables should be built. The adaptive method allows the runtime to make some adjustments based on the actual situation, and the optimizer must also prepare for this uncertainty, such as preparing an alternative plan.
vectorization

no native.

HeatWave supports it (not open source).
Speed ​​up OLAP queries using vectorized execution. A vectorized runtime exchange a bunch of rows between iterators, and these rows are physically sotre with column-oriented order.
iterator: join methodsexcept MJHash Join (HJ), Sort-Merge Join (MJ) and Nested loop Join (NLJ) are 3 major ones
Error: out-of-range and overflowstrict mode: abort. Non-strict mode: continue with warning.To maintain atomic requirement of ACID, database engine usually fail the statement and abort the transaction.

Internal - Storage Engine

FeatureAurora MySQLMySQLDefinition
Page Size

4K, 8K, 16K, 32K, 64K

Every tablespace in a MySQL instance has the same page size. By default, all tablespaces have a page size of 16KB; you can reduce the page size to 8KB or 4KB by specifying the innodb_page_size option when you create the MySQL instance. You can also increase the page size to 32KB or 64KB.
The physical disk block size for storage and I/O.
Storage CompressionROW_FORMAT=COMPRESSED
ACID: durability mechanismInnoDB: WALHow is it implements durability. Database's classic way is write ahead logging (WAL).