ChooseACloud.com

PostgreSQL: AWS RDS vs. Aurora vs. Google Cloud SQL

Basic Features

AWS RDS AWS Aurora Google Cloud SQL
Latest Version 10.1
9.6 installed in benchmark
9.6 9.6
Secure Connection (SSL,encrypted) YES YES YES
Scalable (scale storage and instance types) YES YES YES
High Available and Durable YES YES YES
Managed YES YES YES
Easy to Administer YES YES YES

Pricing

Note: the following table lists Single zone pricing. The pricing of instance and storage will simple double when using RDS with multi-AZ, using Aurora with a replica, and using Google SQL with high availability.
AWS RDS AWS Aurora Google Cloud SQL
2vcpu+15.25G instance $0.25 /hour $0.29 /hour $0.189 /hour
This price is calculated of 2vcpus+15.25G for comparison purpose. But in reality the maximum ram is 13G for 2vcpus.
Storage $0.125 /GB $0.10 /GB $0.17 /GB
Disk I/O Free 3 IOPS /GB storage $0.20 /1 million requests Free 30 IOPS /GB storage

Benchmarks

Conditions

AWS RDS AWS Aurora Google Cloud SQL
Instance type r4.large(2 vCPUs + 15.25G) r4.large(2 vCPUs + 15.25G) High memory(2 vCPUs + 13G)
Region us-west-2a us-west-2a us-west1
Client Side (running pgbench) EC2 instance in us-west-2a EC2 instance in us-west-2a Google Compute in us-west1
Installed PG version 9.6 9.6 9.6
Storage Encryption enabled enabled enabled
Multi-AZ/ Replication/ High-availability Disabled Disabled Disabled

Benchmark details

Import data:
pgbench -i -s 10 test
AWS RDS:
[email protected]:~$ pgbench -c 10 -j 10 -t 500 test -h testrds.*.us-west-2.rds.amazonaws.com -U test
Password: 
starting vacuum...end.
transaction type: 
scaling factor: 10
query mode: simple
number of clients: 10
number of threads: 10
number of transactions per client: 500
number of transactions actually processed: 5000/5000
latency average = 5.745 ms
tps = 1740.77029 (including connections establishing)
tps = 1774.006224 (excluding connections establishing)
AWS Aurora:
[email protected]:~$ pgbench -c 10 -j 10 -t 500 test -h test.*.us-west-2.rds.amazonaws.com -U test
Password: 
starting vacuum...end.
transaction type: 
scaling factor: 10
query mode: simple
number of clients: 10
number of threads: 10
number of transactions per client: 500
number of transactions actually processed: 5000/5000
latency average = 13.045 ms
tps = 766.564305 (including connections establishing)
tps = 774.188096 (excluding connections establishing)
Google Cloud SQL:
[email protected]:~$ pgbench -c 10 -j 10 -t 500 test -h 35.203.*.* -U postgres
Password: 
starting vacuum...end.
transaction type: 
scaling factor: 10
query mode: simple
number of clients: 10
number of threads: 10
number of transactions per client: 500
number of transactions actually processed: 5000/5000
latency average = 7.084 ms
tps = 1411.595534 (including connections establishing)
tps = 1422.435397 (excluding connections establishing)
get DigitalOcean $100 Credit
More comparisons:
© 2018 chooseacloud.com all rights reserved