Over the past seven years, Amazon has released a range of cloud database services to support relational database...
management systems, including SimpleDB and Relational Database Service. While each one improved upon the previous service, neither was able to adequately keep up with the growing amount of data that customers are placing on the AWS cloud platform. Aurora marks another evolution for the AWS database.
Amazon Web Services introduced SimpleDB back in 2007, it but had some recurring issues with database performance. Relational Database Service (RDS) was introduced next, and that service offered a lot of promise for developers who needed MySQL to run within the AWS cloud for availability and consistency. RDS removed a great deal of SimpleDB's issues, and AWS extended its capabilities to support other databases, such as Oracle, SQL Server and PostgreSQL; added options to replicate across zones; and supported solid-state drives.
But as AWS, its customers and their data needs grew, RDS couldn't keep up.
The power behind Aurora
With Aurora, the AWS RDS team has spent the last three years rewriting the MySQL engine so it could use Amazon cloud's scale and capacity, according to CEO Andy Jassy during his AWS re:Invent 2014 keynote. AWS maintains the database stack on-premises, so it's easy for its database administrators to customize the MySQL database engine. This allows users to create 15 read replicas in one second. And Aurora's elasticity automatically adds increments of 10 GB as needed, without shutting down the AWS database. It's still unclear if it can be scaled down.
Aurora delivers more than 500,000 SELECTs per second and 100,000 updates per second, five times higher than MySQL running the same benchmark on the same hardware, according to the company. "The replicas share storage with the primary instance and as such, provide lightweight, fine-grained replication that is almost synchronous (there's a very modest lag, on the order of 10 to 20 milliseconds, due to page caching in the replicas," noted Jeff Barr in an AWS official blog post.
The master database server holds access to replica data, which is updated in a matter of milliseconds. The new engine leverages the replicas for fast reads. Aurora writes the master data to two copies in three zones, or six writes in total. The operation is complete from a client's perspective when four of the six writes are done. This makes the database highly available without losing consistency or performance during replication.
AWS doesn't shard the database, nor does it plan to, according to information given during the Aurora breakout session at re:Invent. And since Aurora is compatible with RDS and native MySQL, migration should not be difficult.
Hosting data is the No. 1 asset of any cloud provider. Amazon's pace of innovation will force the competition to react quickly. But the benefits of Aurora and its integration with other AWS services, such as monitoring, Simple Storage Service and network security, make it very compelling.
Aside from competition with Oracle or other cloud players such as Google and Microsoft, smaller players in this field have their work cut out for them. NuoDB, which uses cache to support databases, or ScaleBase, which has a unique sharding engine, will need to continue to revamp their products to further differentiate them and stay ahead of the challenge-AWS database game.