Managed Database Pricing: RDS vs Azure SQL vs Cloud SQL 2026
Managed database services eliminate the operational burden of running your own database servers — patching, backups, failover, and replication are all handled by the cloud provider. But that convenience comes at a significant cost premium over self-managed databases on raw compute. Understanding exactly how cloud database pricing works, and where the differences between AWS RDS, Azure SQL Database, and Google Cloud SQL lie, is essential for anyone building a production architecture or trying to control an existing cloud database bill.
How Managed Database Pricing Works
Managed database costs have four main components: the database instance (compute), storage, I/O operations, and data transfer. Many engineers focus only on instance pricing and are surprised when their actual database bill is 2–3x the instance cost alone. A production RDS PostgreSQL db.r6g.2xlarge Multi-AZ instance in US East costs approximately $0.48/hour ($350/month) for the instance, but adding 2TB of storage ($230/month), backup storage ($46/month), and data transfer costs easily brings the total to $650–700/month.
| Cost Component | AWS RDS | Azure SQL / PostgreSQL | GCP Cloud SQL |
|---|---|---|---|
| Instance (compute + memory) | $0.048–$3.20/hr | $0.044–$2.88/hr | $0.040–$2.76/hr |
| SSD storage | $0.115/GB/mo | $0.115/GB/mo | $0.170/GB/mo |
| HDD storage | $0.065/GB/mo | $0.050/GB/mo | N/A |
| Backup storage | $0.095/GB/mo beyond free tier | $0.095/GB/mo | $0.08/GB/mo |
| Multi-AZ premium | 2× instance cost | Included in Business Critical tier | ~1.5× instance cost |
| I/O (Aurora only) | $0.20/million requests | N/A | N/A |
AWS RDS Pricing in Depth
AWS RDS supports MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server. Aurora is AWS's proprietary database engine compatible with MySQL and PostgreSQL but with significantly different pricing and capabilities.
For a typical production PostgreSQL deployment using a db.r6g.xlarge instance (4 vCPU / 32 GB RAM) in Multi-AZ in US East, the monthly cost breakdown looks like this: the instance itself runs $0.48/hour × 730 hours = $350/month; Multi-AZ doubles this to $700/month. Add 500 GB of gp3 SSD storage at $0.115/GB = $57.50/month. Backup storage beyond 100% of your database size costs $0.095/GB — for a 500 GB database, that typically adds $10–20/month. Total: approximately $770–790/month for a mid-tier production PostgreSQL database.
Reserved DB instances offer the same discount tiers as EC2: 1-year No Upfront saves approximately 36%, 3-year All Upfront saves approximately 57%. That same db.r6g.xlarge Multi-AZ on a 3-year reservation drops from $700 to approximately $300/month for the compute portion — a saving of $4,800 per year on the instance alone.
AWS Aurora: Higher Performance, Different Cost Model
Aurora separates storage from compute. Aurora storage is billed at $0.10/GB/month (MySQL-compatible) or $0.10/GB/month (PostgreSQL-compatible) and scales automatically up to 128 TB. I/O costs $0.20 per million requests on standard Aurora — a cost that can surprise applications with high read/write volume. Aurora Serverless v2 scales compute between 0.5 and 128 Aurora Capacity Units (ACUs) at $0.12/ACU/hour, making it excellent for variable workloads.
For a write-heavy application doing 50 million I/O operations per day, I/O costs alone reach $300/month on standard Aurora. Aurora I/O-Optimized (released 2023) eliminates per-I/O charges in exchange for a 30% higher storage cost ($0.13/GB/month) — the break-even point is approximately 10 million I/O operations per day per 100 GB of storage.
Azure SQL Database and Azure Database for PostgreSQL
Azure offers two main deployment models for relational databases: Azure SQL Database (their proprietary SQL Server–compatible service) and Azure Database for flexible server deployments of PostgreSQL, MySQL, and MariaDB.
Azure SQL Database pricing uses three service tiers: General Purpose, Business Critical, and Hyperscale. General Purpose uses remote SSD storage and is priced at approximately $0.19/vCore/hour. Business Critical uses local SSD with built-in high availability (equivalent to Multi-AZ) at approximately $0.65/vCore/hour. A General Purpose 4-vCore instance at $0.76/hour costs $555/month; Business Critical at $2.60/hour costs $1,898/month — but Business Critical includes HA that would require a separate Multi-AZ configuration on RDS.
Azure Database for PostgreSQL Flexible Server is significantly cheaper, with instances starting at $0.044/hour for a Burstable 1-vCore and reaching $2.88/hour for a Memory Optimized 64-vCore. Storage is $0.115/GB/month for Premium SSD. Zone-redundant HA (equivalent to Multi-AZ) adds approximately 100% to instance cost, similar to RDS.
Google Cloud SQL Pricing
Cloud SQL supports MySQL, PostgreSQL, and SQL Server. Instance pricing is based on machine type: shared-core instances start at $0.017/hour while high-memory instances reach $2.76/hour. Storage is priced at $0.170/GB/month for SSD — 48% more expensive than AWS RDS storage. This storage premium is the most significant cost disadvantage of Cloud SQL versus its competitors for storage-heavy workloads.
Cloud SQL High Availability uses a synchronous standby replica in a different zone, adding 100% to instance cost (identical to RDS Multi-AZ). Committed use discounts offer 25% off for 1-year and 52% off for 3-year terms on eligible instances — applied automatically without requiring upfront payment, unlike AWS Reserved Instances.
NoSQL Database Pricing: DynamoDB vs Cosmos DB vs Firestore
NoSQL managed databases use entirely different pricing models based on throughput capacity units and actual storage consumed rather than hourly instance pricing.
| Service | Write Capacity | Read Capacity | Storage | Best For |
|---|---|---|---|---|
| AWS DynamoDB (On-Demand) | $1.25/million writes | $0.25/million reads | $0.25/GB/mo | Unpredictable traffic patterns |
| AWS DynamoDB (Provisioned) | $0.00065/WCU/hr | $0.00013/RCU/hr | $0.25/GB/mo | Stable, predictable traffic |
| Azure Cosmos DB (Serverless) | $0.25/million writes | $0.08/million reads | $0.25/GB/mo | Development, low-volume apps |
| Azure Cosmos DB (Provisioned) | $0.00008/RU/hr | Included in RU | $0.25/GB/mo | Consistent throughput at scale |
| GCP Firestore | $0.18/million writes | $0.06/million reads | $0.18/GB/mo | Mobile / web apps, real-time sync |
| GCP Bigtable | Node-based: $0.65/node/hr | Included | $0.17/GB/mo | Time-series, high-throughput analytics |
Side-by-Side Cost Comparison: Production PostgreSQL
To make these pricing models concrete, here is a side-by-side monthly cost estimate for a production PostgreSQL deployment serving a mid-sized web application: 4 vCPU / 16 GB RAM instance, Multi-AZ / High Availability, 500 GB SSD storage, 100 GB/month backup storage, 1 TB/month data transfer out.
| Cost Item | AWS RDS PostgreSQL | Azure DB PostgreSQL | GCP Cloud SQL |
|---|---|---|---|
| Instance (Multi-AZ / HA) | $490/mo | $460/mo | $430/mo |
| Storage (500 GB) | $57/mo | $57/mo | $85/mo |
| Backup storage | $10/mo | $10/mo | $8/mo |
| Egress (1 TB) | $92/mo | $87/mo | $85/mo |
| Total (On-Demand) | $649/mo | $614/mo | $608/mo |
| Total (3-yr Reserved) | $319/mo | $298/mo | $291/mo |
Database Cost Optimization Strategies
Use reserved database instances for production databases. Production databases run continuously and are the best candidates for reserved pricing. A 1-year reservation on a db.r6g.xlarge Multi-AZ saves approximately $4,200/year versus on-demand pricing. Three-year reservations double that saving.
Rightsize your database instances before reserving. Many databases are provisioned for peak load that never materializes. Check your CloudWatch/Azure Monitor database CPU and memory metrics over a 30-day period. If average CPU is below 30% and memory pressure is low, downsize one instance tier before purchasing a reservation — saving 50% with reserved pricing on an oversized instance still costs more than on-demand for a correctly sized one.
Use read replicas instead of upsizing for read-heavy workloads. A single db.r6g.2xlarge (8 vCPU / 64 GB) costs approximately $700/month. Two db.r6g.xlarge instances (4 vCPU / 32 GB) — a primary and a read replica — cost approximately $700/month combined but distribute read traffic and improve resilience. For read-heavy workloads, this approach often outperforms vertical scaling.
Archive old data aggressively. Database storage at $0.115–0.170/GB/month is 5–15× more expensive than object storage ($0.023/GB/month). Archiving data older than 90 days to S3/Blob/GCS and querying it with Athena/Synapse/BigQuery when needed can dramatically reduce database storage costs at scale.
Model Your Database Costs Across All Three Clouds
Use our free estimator to compare managed database costs — including compute, storage, and egress — across AWS, Azure, and GCP for your specific configuration.
📊 Open Cloud Calcep →