Cloud Compare / Databases compared

Databases compared

Relational and non-relational database services in Google Cloud, AWS and Azure side by side: managed engines, cloud-native and distributed SQL, NoSQL by data model, and recent changes.

Each cloud offers the same families of databases: managed versions of the familiar relational engines, its own cloud-native relational service built for scale, and a set of non-relational (NoSQL) services for documents, key-value data, caching, graphs and time series. The names rarely line up, so this page maps them side by side, first relational, then non-relational.

At a glance

CategoryGoogle CloudAWSAzure
Relational (SQL)
Managed MySQL, PostgreSQL, SQL ServerCloud SQLAmazon RDSAzure Database for MySQL / PostgreSQL (Flexible Server); Azure SQL Database and SQL Managed Instance
Cloud-native, high-performance relationalAlloyDB for PostgreSQLAmazon Aurora (MySQL and PostgreSQL compatible)Azure SQL Database Hyperscale; Azure HorizonDB (PostgreSQL, preview)
Globally distributed SQLSpannerAurora DSQLAzure Cosmos DB for PostgreSQL (retiring) → Azure Database for PostgreSQL elastic clusters
Oracle DatabaseOracle Database@Google Cloud; Bare Metal SolutionRDS for Oracle; Oracle Database@AWSOracle Database@Azure
Non-relational (NoSQL)
Key-value and wide-columnBigtableDynamoDB; Amazon Keyspaces (Cassandra)Azure Cosmos DB (NoSQL, Cassandra, Table APIs); Azure Table Storage
DocumentFirestoreDynamoDBAzure Cosmos DB for NoSQL
MongoDB-compatibleFirestore with MongoDB compatibilityAmazon DocumentDBAzure DocumentDB; Azure Cosmos DB for MongoDB (RU)
In-memory cache (Redis, Valkey, Memcached)MemorystoreElastiCache; MemoryDB (durable)Azure Managed Redis
GraphSpanner GraphAmazon NeptuneAzure Cosmos DB for Apache Gremlin
Time seriesBigtable; BigQueryTimestream for InfluxDBAzure Data Explorer
Search and vectorVertex AI Vector Search; vector support in AlloyDB, Cloud SQL, Spanner, FirestoreAmazon OpenSearch Service; vector support in Aurora, RDS PostgreSQL, DynamoDB via zero-ETLAzure AI Search; vector support in Cosmos DB, Azure SQL, PostgreSQL
For context: analytics
Data warehouseBigQueryAmazon RedshiftMicrosoft Fabric (Data Warehouse); Azure Synapse Analytics

Relational: managed engines

The quickest way to the cloud for an existing database is the same engine, managed: the provider runs patching, backups, high availability and replicas; you keep your schema and drivers.

EngineGoogle CloudAWSAzure
MySQLCloud SQL for MySQLRDS for MySQL; Aurora MySQLAzure Database for MySQL – Flexible Server
PostgreSQLCloud SQL for PostgreSQL; AlloyDBRDS for PostgreSQL; Aurora PostgreSQLAzure Database for PostgreSQL – Flexible Server
SQL ServerCloud SQL for SQL ServerRDS for SQL ServerAzure SQL Database, Azure SQL Managed Instance, SQL Server on Azure VMs
MariaDB–RDS for MariaDB– (Azure Database for MariaDB retired September 2025; use MySQL Flexible Server)
OracleOracle Database@Google Cloud (Exadata, Autonomous)RDS for Oracle; RDS Custom; Oracle Database@AWSOracle Database@Azure
IBM Db2–RDS for Db2–
OperationsCloud SQLAmazon RDSAzure (Flexible Server, Azure SQL)
High availabilityRegional instance: standby in another zone, automatic failoverMulti-AZ instance or Multi-AZ cluster (two readable standbys)Zone-redundant HA (Flexible Server); zone-redundant Business Critical / Hyperscale (Azure SQL)
Read scalingRead replicas, including cross-regionRead replicas, including cross-regionRead replicas (Flexible Server); readable secondaries, geo-replicas (Azure SQL)
Point-in-time restoreUp to 35 days (Enterprise Plus edition)Up to 35 daysUp to 35 days
Editions or tiersEnterprise and Enterprise Plus editionsInstance classes; Multi-AZ optionsBurstable, General Purpose, Memory Optimized / Business Critical (Flexible); General Purpose, Business Critical, Hyperscale (Azure SQL)
Serverless option– (AlloyDB and Spanner scale more flexibly)Aurora Serverless v2Azure SQL Database serverless
Private accessPrivate IP via private services access or Private Service ConnectIn your VPC subnetsVNet integration or private endpoint

Relational: cloud-native and distributed

Each provider has rebuilt the relational database around its own storage layer, separating compute from storage so it can scale reads, recover faster and fail over in seconds. And each has a database that keeps SQL and transactions while spreading data across regions.

Google CloudAWSAzure
Cloud-native engineAlloyDB for PostgreSQL: columnar engine for analytics on live data; AlloyDB Omni runs the same engine anywhereAurora: MySQL and PostgreSQL compatible, shared storage across three AZs, up to 15 read replicas, Global DatabaseAzure SQL Database Hyperscale (SQL Server engine) today; Azure HorizonDB (PostgreSQL, in preview) as the Aurora/AlloyDB equivalent
Globally distributed SQLSpanner: strongly consistent across regions, up to 99.999% availability; GoogleSQL and PostgreSQL dialects; also graph, full-text and vector searchAurora DSQL (generally available since May 2025): serverless, PostgreSQL compatible, active-active across regionsDistributed PostgreSQL (Citus): Azure Database for PostgreSQL elastic clusters, replacing Azure Cosmos DB for PostgreSQL (retiring 31 March 2029)
When to choose itPostgreSQL that has outgrown Cloud SQL (AlloyDB); global transactional systems (Spanner)MySQL or PostgreSQL that has outgrown RDS (Aurora); multi-region active-active (DSQL)SQL Server workloads at scale (Hyperscale); large PostgreSQL (HorizonDB once generally available)
Watch forSpanner's schema and query patterns differ from a single-node database: design keys to avoid hotspotsDSQL supports a subset of PostgreSQL features and uses optimistic concurrency: test the applicationCheck HorizonDB's preview limits before production use

Non-relational: by data model

Data modelGoogle CloudAWSAzureTypical use
Key-value / document, serverlessFirestoreDynamoDBAzure Cosmos DB for NoSQLUser profiles, carts, sessions, mobile and web app back ends
Wide-columnBigtable (HBase API, SQL queries)Amazon Keyspaces (Cassandra API)Cosmos DB for Apache Cassandra; Azure Managed Instance for Apache CassandraVery high write rates: IoT, telemetry, ad tech, personalisation
MongoDB-compatibleFirestore with MongoDB compatibilityAmazon DocumentDBAzure DocumentDB (formerly vCore-based Cosmos DB for MongoDB); Cosmos DB for MongoDB (RU)Moving MongoDB applications without rewriting them
In-memoryMemorystore for Valkey, Redis Cluster, Redis, MemcachedElastiCache (Valkey, Redis OSS, Memcached); MemoryDB (durable, multi-AZ)Azure Managed RedisCaching, session state, leaderboards, rate limiting
GraphSpanner Graph (ISO GQL)Amazon Neptune (Gremlin, openCypher, SPARQL); Neptune AnalyticsCosmos DB for Apache GremlinFraud rings, recommendations, network and identity relationships
Time seriesBigtable, or BigQuery for analysisTimestream for InfluxDBAzure Data ExplorerMetrics, sensor data, logs over time
Simple tables at low costFirestore in Datastore modeDynamoDB on-demandAzure Table Storage; Cosmos DB for TableLookups, configuration, small apps

The flagship NoSQL services compared

FirestoreDynamoDBAzure Cosmos DB
ModelDocuments in collectionsItems in tables (key-value and document)Multi-model: NoSQL (JSON), MongoDB, Cassandra, Gremlin, Table APIs
Capacity modelServerless, pay per read, write and storageOn-demand or provisioned capacityServerless, provisioned or autoscale request units (RU/s)
Multi-regionMulti-region locations, strongly consistentGlobal tables (active-active; strong consistency option for multi-region)Multi-region writes; five consistency levels from strong to eventual
QueriesIndexed queries, aggregations; real-time listeners for appsKey and index lookups; PartiQL; zero-ETL to OpenSearch and Redshift for search and analyticsSQL-like queries over JSON; vector and full-text search
StrengthMobile and web apps with offline sync (Firebase)Predictable single-digit millisecond latency at any scaleChoice of API and consistency, global distribution
Watch forHot documents and collection limits on write rateDesign the partition and sort keys around access patterns up frontRU cost grows with poorly partitioned or unindexed queries

Recent changes to know

CloudChange
AWSAmazon QLDB was discontinued on 31 July 2025 (AWS suggests Aurora PostgreSQL with audit tables).
AWSTimestream for LiveAnalytics closed to new customers on 20 June 2025; new time-series work goes to Timestream for InfluxDB.
AWSAurora DSQL became generally available in May 2025.
AzureAzure Database for MariaDB retired on 19 September 2025; MySQL Single Server was retired earlier in favour of Flexible Server.
AzurevCore-based Cosmos DB for MongoDB is now Azure DocumentDB (generally available November 2025), built on the open-source DocumentDB project.
AzureAzure Cache for Redis retires: Enterprise tiers on 31 March 2027, Basic/Standard/Premium on 30 September 2028. Move to Azure Managed Redis.
AzureAzure Cosmos DB for PostgreSQL retires on 31 March 2029; move to Azure Database for PostgreSQL elastic clusters.
Google CloudFirestore with MongoDB compatibility became generally available in 2025.
All threeValkey (the open-source Redis fork) is offered alongside or instead of Redis in managed caches.

Choosing a database

  • Moving an existing database: start with the same engine, managed (Cloud SQL, RDS, Azure Database / Azure SQL). It's the least change and the easiest rollback.
  • PostgreSQL or MySQL that needs more: AlloyDB, Aurora, or (for SQL Server) Azure SQL Hyperscale. Same drivers, more scale and faster failover.
  • Global, always-on transactions: Spanner or Aurora DSQL. Expect to adapt schema and transactions; the payoff is multi-region writes without building replication yourself.
  • New app with simple, high-volume access patterns: Firestore, DynamoDB or Cosmos DB. Model the data around how it's read, not as normalised tables.
  • Caching: Memorystore, ElastiCache or Azure Managed Redis in front of any of the above; MemoryDB if the cache must also be the durable store.
  • Analytics: keep it out of the transactional database. BigQuery, Redshift and Fabric each have zero-ETL or federated links to their cloud's operational databases.

Whatever you choose, the operational baseline is the same in all three: private connectivity only, automated backups with point-in-time recovery, high availability across zones for production, encryption with customer-managed keys where required, and the backups covered by your backup checks (Google Cloud, AWS, Azure).

Compared as of October 2026. Service names, tiers and retirement dates change; check the provider's documentation before deciding.