What is AWS Aurora?

AWS-Aurora-question-marks

One of my first IT hats was as a DBMS administrator (DBA). I was a Datatrieve and xBase developer, who moved on to DB2. IBM DB2 was the first real relational database management system (RDBMS). While RBMSs aren’t as fashionable as they once were–it’s all NoSQL according to some of my friends–much vital enterprise work runs on RDBMs. These days, two of the most popular DBMSs are the open-source MySQL and PostgreSQL. You can run these on pretty much any cloud on the planet. But Amazon Web Services (AWS) would like you to consider its MySQL and PostgresSQL compatible cloud RDBMS: Amazon Aurora.

Back when I started, we ran RDBMs on x86-servers, mini-computers, and mainframes. Today, we still have those, but we also have cloud-based Database-as-a-service (DBaaS). That’s where Aurora comes in.

According to AWS, “The code, tools, and applications you use today with your existing MySQL and PostgreSQL databases can be used with Aurora.” AWS even claims, “Aurora can deliver up to five times the throughput of MySQL and up to three times the throughput of PostgreSQL without requiring changes to most of your existing applications.”

How? It’s not magic. It’s fast Solid-State Drives (SSDs). Aurora uses AWS’s SSD high-performance storage subsystem, up to 64 terabytes per database instance, to rip its way through DBMS benchmarks.  

Will it work as well with your jobs? Maybe. 

Not all work loads are created equal. At the end of the day, DBMS performance depends on schema design. Aurora also doesn’t have all of MySQL’s features. For example, the MyISAM storage engine are not available with Amazon Aurora.

Aurora features a distributed, fault-tolerant, self-healing storage system, For maximum availability if offers up to 15 low-latency read replicas, point-in-time recovery, continuous backup to Amazon S3, and replication across three Availability Zones (AZs). For even more availability, with Global Database, a single Aurora database can span multiple AWS regions. With this you get high availability, quick disaster recovery and  fast local reads. 

Like MySQL and PostgresSQL, Aurora runs on top of Amazon Relational Database Service (RDS). This is the foundation for all of AWS’s RBDM services. 

RDS takes away a lot of the donkey work most DBAs are stuck with such as system upgrades or backups. For all of AWS’s DBMS programs, AWS takes care of required software updates and patches without the downtime blues.By having you data constantly backed up to S3 in real time, you also don’t lose time and performance to backups

Aurora is also, as you would expect, optimized for Amazon RDS. That’s key to its performance and availability.

If you have expert MySQL and PostgresSQL developers on hand you can match and better Aurora’s default performance. If you don’t, and you want an easy-to-deploy RDBMS, Aurora is tempting.  

That said, don’t think for one moment that Aurora will magically make it easy to set up and manage production RDBMSs. For real DBMS work, no matter the platform, you need expert programmers and DBAs.

If you’re considering Aurora for production, kick its tires just like you would any other major platform. Just because it’s MySQL and PostgresSQL compatible doesn’t mean you can just load and shift your workloads. You can’t. Try all three on AWS, and then decide which will work best for you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: