April 18, 2017 – By Fabricio Mariani

Why you should consider using Amazon RDS for PostgreSQL

Amazon Web Services RDS + PostgreSQL

Amazon RDS

Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business. Amazon RDS provides you six familiar database engines to choose from, including Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server.

PostgreSQL

PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.

Hello Amazon RDS for PostgreSQL

With MySQL gaining competition, it may be time to start seeking out the new breed of ORDMSs (Object Relational Database Management System). A popular contender to the database game is PostgreSQL. Matching the speed and feature-set of MySQL, it brings more to the table than any ordinary SELECT, INSERT, UPDATE database. Having been around nearly as long as MySQL, it has certainly been adding head turning features within the past four years such as native JSON data storage, arrays, and an extremely customizable extensions system. It’s speed, featureset, and data integrity make it the perfect contender for your businesses database needs.

With PostgreSQL being heavily developed by its strongly supported community, PostgreSQL regularly releases non-breaking updates which adds performance increases and new features. Because of Amazon’s easy to use UI, updating your RDS instance is as simple as selecting a new version and either scheduling the migration for a time convenient for your business, or let RDS upgrade your instance immediately.

Amazon Web Services makes creating PostgreSQL instances in the Cloud a simple click. Deploying your database, scaling up and down, automatic snapshots, redundancy through Amazon’s Availability Zones means your data is backed up and secured, and PostgreSQL makes sure your data is sane.
So how can one migrate their existing database solution to PostgreSQL? Amazon has you covered. Amazon has introduced a new service called AWS Database Migration Service (DMS for short), which integrates beautifully with their RDS service, making migration a breeze without any downtime. DMS reads your existing database setup, translates it to PostgreSQL, and imports it into an RDS instance.

If you want to learn more about AWS Database Migration Service, one of our engineers wrote a post about this.

Why PostgreSQL

Matched speed with MariaDB and MySQL;

Native JSON;

Native Arrays;

Superior data integrity;

Create custom extensions to fit your application;

Create custom data types and functions;

Strong community and third party support.

Why Amazon RDS

Scale up and down within minutes in the cloud;

Automatic replication for high available and redundancy using Multi-AZ;

Scalling

As a PaaS, Amazon RDS takes care of scaling your databases so it can keep up with the increasing demands of your application. We are going to take a look on how we can vertically and horizontally scale your RDS instance.

Vertical Scaling

In Amazon RDS, you can vertically scale up your database with a simple push of a button.

Then you just need to choose the new DB instance class.

Obs.: If you are running your database in Multi-AZ, there is minimum or absoutely no downtime because the standby database gets upgraded first, then a failover will occur to the newly sized database.

Horizontal

In case your application needs a better read performance, AWS RDS provides read replicas to horizontally scale your database. Read replicas allow you to create read-only copies that are synchronized with your master database. And you can do this in the AWS’s way:

Now you only need to specify the instance size you want as well as the database instance name. Please notice that you can your deploy your read replicas accross any region and availability zone.

And there we go, within a couple of minutes you can scale your database horizontally.

Conclusion

If you are looking for an easy-to-setup, fast, cost-effective and reliable way to host your database, you should definitely consider using Amazon RDS for PostgreSQL. Within a couple of minutes and some clicks around, you can spin up and start using your fresh and fully managed database service.