Amazon Offers MySQL as a Service
Amazon has announced a new service, Amazon Relational Database Service or RDS, a solution for creating and accessing a relational database in the cloud. The hosted database is MySQL 5.1 and the announcement precedes PDC 2009 by 3 weeks when Microsoft will announce the availability of SQL Azure, a cloud solution based on its relational DB.
Amazon and other cloud vendors have offered non-relational databases like SimpleDB. Microsoft plans to change that by offering a subset of MS SQL Server as SQL Azure, a cloud service which is part of Windows Azure Platform. Amazon’s move is an interesting one and it suggests that Amazon has come to the conclusion that there are enough customers interested in a relational DB to justify a specialized service. Probably Amazon does not want to lose customers willing to switch to Azure.
This move is similar to the one made by Amazon a year ago saying that it will support Windows on EC2. That announcement came a month before PDC 2008 when Microsoft announced Azure.
This announcement will also crush the Y-Combinator startup FathomDB that offers database as a service that is run on top of Amazon EC2. It will be interesting to see how they respond to this announcement. Probably, this announcement should also serve as a warning bell for the companies that build their entire business on Amazon ecosystem. They are just one announcement away from complete destruction. It is not unique to Amazon ecosystem alone. It can happen to any company whose business relies entirely on one vendor's ecosystem.
Amazon RDS is based on InnoDB Storage Engine which is
is a transaction-safe (ACID compliant) storage engine for MySQL that has commit, rollback, and crash-recovery capabilities to protect user data.
InnoDBrow-level locking (without escalation to coarser granularity locks) and Oracle-style consistent nonlocking reads increase multi-user concurrency and performance.
InnoDBstores user data in clustered indexes to reduce I/O for common queries based on primary keys. To maintain data integrity,
FOREIGN KEYreferential-integrity constraints. You can freely mix
InnoDBtables with tables from other MySQL storage engines, even within the same statement.
Practically, Amazon RDS offers MySQL in the cloud, the customer not having to install, configure or maintain it. RDS offers various sizes of MySQL instances which can be up-sized or down-sized and which are automatically backed-up and logged. The database can be accessed as usual over the network either using a simple API or through the command prompt, SSH not being supported. RDS offers support for importing existing MySQL databases. Amazon also plans to offer replication on multiple availability zones for better protection of data.