Amazon Aurora offers zero-maintenance MySQL

Amazon's new Aurora cloud database service is MySQL 5.6-compatible, self-replicating, and self-scaling

Binary data cloud.
Credit: Thinkstock

Amazon's Relational Database Service, launched in 2009, promised cloud-hosted MySQL on demand, eventually adding SQL Server, Oracle, and PostgreSQL as well.

On Wednesday, Amazon announced a new incarnation of MySQL that the company says has been rebuilt from the inside out specifically for the cloud and designed to require far less maintenance or protection than Amazon's existing database offerings.

Amazon RDS for Aurora claims to be fully compatible with existing MySQL 5.6 applications and tools, while also providing five times the performance of the vanilla version of MySQL running on the same hardware. But rather than replacing the existing MySQL option in RDS, it provides a self-maintaining, fault-tolerant version.

In a blog post announcing the product, Amazon makes little direct mention of whether Aurora is a from-scratch re-implementation of MySQL or a new version reworked from the same source. Instead, it proclaims Aurora a self-scaling and self-tuning database solution that "eliminate[s] bottlenecks caused by I/O waits and by lock contention between database processes" and was designed to take advantage of cloud architecture rather than run in "a constrained and somewhat simplistic hardware environment."

Amazon implies that Aurora's advantages come from a mix of its own infrastructure, its clean-slate design, and its integration with existing Amazon infrastructure such as Availability Zones. The company describes the hardware used to built Aurora as "an SSD-based virtualized storage layer purpose-built for database workloads." Storage is automatically added to an Aurora instance as needed, 10GB at a time, up to 64TB, and replicated across three AWS Availability Zones, with two copies of the data in each zone.

Amazon RDS has included a high-availability feature since 2010, but with Aurora, cross-zone replication is standard, rather than a special order.

As with Amazon's other services, you pay for only what you use with Aurora. Prices for an instance, which include replication, start at 29 cents per hour for 15.25GB of memory and two virtual CPUs. However, storage and I/O are billed separately: 10 cents per gigabyte per month and 20 cents per million requests, respectively. Reserved instances offer some savings, with a starting price for one year's usage at $625 (down from $2,500-plus).

For now, Amazon seems more interested in competing on features than on pricing with Aurora. Package deals for Google Cloud SQL start at 36 cents per day and include replication, but the lowest-end package covers only half a gigabyte of storage, 200,000 I/O operations per day, and a quarter of a gigabyte of memory. While old-school Amazon RDS for MySQL instances start at 1.7 cents per hour, I/O and storage are extra, storage tops out at 3TB, and replication across Availability Zones is another add-on.

The autoprovisioning, self-maintaining, and self-repairing aspects of Aurora are clearly meant to draw developers, since manual management can be a distraction. Aurora's features are reminiscent of those in the recently released Snowflake Elastic Data Warehouse, an in-cloud database system for processing both structured and semi-structured data; Snowflake also scales storage automatically to meet demand. But Snowflake is aimed mainly at supporting BI workloads, and Aurora stands to have greater appeal due to integration with Amazon, and by allowing the hordes of MySQL developers to move their workloads with minimal effort.

Right now, Aurora is available as a technology preview, free of charge.

[An earlier version of this article referred to Availability Zones as a "feature" rather than as part of Amazon's infrastructure.]