Why we moved from Amazon RDS (Pgsql ) to AWS Aurora Database in Kristal.AI

Rishi
2 min readOct 13, 2021

Why we moved from Amazon RDS (Pgsql ) to AWS Aurora Database in Kristal.AI , it took us about 4–5 month to decide which one is better for us , considering both database engines are excellent if you manage them correctly .

Reason 1 : Performance

Due to its unique storage design, Aurora’s performance stays consistent when the load increases. Because the replicas also share the same storage cluster, the replica lag is small and consistent over time.

AWS even says that Aurora has at least 3x more performance than the community edition PostgreSQL which is used by RDS .

Reason 2 : Scalability & Failover

on RDS, there is a cluster endpoint which we use for write queries. It is the DNS endpoint pointing to current master db instance. During a failover, RDS routes this endpoint to the new master by a simple DNS change. However, for read replicas, we have to balance the load in our application using the instance endpoints. RDS does not provide a load balancer for read replicas.

on Aurora, we still use cluster endpoint for write queries. But it also provides a reader endpoint acting as a load balancer for read replicas. So we can use this endpoint for read queries and create 15 read replicas behind it. In the case of a failover, one of the read replicas become master and is removed from this reader set.

Reason 3 : Reliability

Amazon Aurora automatically increases storage from a minimum of 10 GB to a maximum of 64 TB, in increments of 10 GB, based on current usage in case of Amazon RDS it provision storage up to 6TB on-demand without downtime for more storage need downtime
and failover is done manually, so some data loss may occur.

Reason which was delayed us in finalisation :
Aurora is generally more expensive than RDS for the same workloads.

--

--

Rishi

A passionate and business oriented technology leader with over 15+ of experience. I love to build products and grow to millions.