Amazon's Relational Database Service (RDS) creates a MySQL database server in the cloud. The notion of "database as a service" is already a reality, thanks to products like FathomDB. Amazon itself provides EC2 instances running MySQL, and Amazon's SimpleDB service offers capabilities similar -- but not identical -- to Amazon RDS.
So why RDS? In particular, why choose RDS over SimpleDB?
SimpleDB's very name gives the best reason. SimpleDB is intended to be used as a simple database. SimpleDB stores tuples -- attributes and values -- arranged as rows identified by an ID field. It's excellent if you need basic read, write, and query capabilities. It is not, however, a relational database.
[ NoSQL databases may have a better way of storing data for your Web app. See the InfoWorld Test Center review of Amazon SimpleDB, CouchDB, Google App Engine, and Persevere | See also InfoWorld's top 10 emerging enterprise technologies. ]
Very well, you say, then what of an instance of EC2 running MySQL? Doesn't that provide the same functionality as RDS? True, but RDS pares the components to their MySQL essentials. Unlike an EC2 instance, RDS requires no operating system configuration or management. Neither do you have to work out the details of connecting your EC2 instance to EBS (Elastic Block Storage), nor worry over issues of backing up the EBS holding your database.
Put simply, if a MySQL database is all you want, RDS is just that -- nothing more, nothing less. It's that last part -- nothing less -- that's the real power of RDS.
Instant DB Instance
From a user's (and developer's) perspective, Amazon RDS is no more than a remote MySQL database. Amazon refers to a specific instantiation of an RDS-based MySQL server as a DB Instance. Amazon provides a Web-service based API for creating and managing DB Instances; the rest can be handled by standard MySQL communication protocols.
When a DB Instance is created, you specify the attributes that govern its behavior and capacity. For example, a DB Instance's Class determines the server's available memory and processing power. (Amazon specifies processing power using a metric called an Elastic Compute Unit, or ECU, roughly equivalent to a 1.0GHz 2007 Xeon processor.) The list of instance classes reads like a fast food menu. Start with a Small DB Instance at 1.7GB of memory and one ECU, work your way up to a Large instance, then an Extra Large instance, a Double Extra Large instance, and top out at the gut-busting Quadruple Extra Large instance that boasts 68GB of memory and 26 ECUs.
Another attribute defined at DB Instance creation time is the available storage, which can range from 5GB to 1,024GB. While Amazon RDS tops out at 1TB databases, that limitation applies to a single DB Instance. Nothing stops you from partitioning your data into multiple DB Instances; effectively, then, the upper limit -- other than your pocketbook -- is 1TB per table.
Having trouble installing and setting up Win10? You aren’t alone. Here are many of the most common...
Win7 Update scans got you fuming? Here’s how to make the most of Microsoft’s 'magic' speed-up patch
Picking an Android phone can be difficult, but we're here to help. These are the top Android phones you...
Our dystopian future of machine learning breaking bad is already unfolding before our eyes
Voice and natural language serve up the UI of the future. Here's how to incorporate them into your...
The NPM Orgs tool previously was only for paid, private package developers
Mist Systems combines cloud intelligence with on-premise access points to deliver accurate indoor...