We don't need no stinking database!

Posted by Antonio 11 months, 1 week ago (Dec. 14, 2007)

First they made it so that you didn't have to worry about disks with their S3 storage service. Then they took away the need to manage hardware and a colo with EC2. And now for the final piece: Amazon has just announced SimpleDB, a database hosted as a web service that application developers can plug into. Despite one curious choice, this is just brilliant strategy on their part.

Everyone who hosts a website that has any level of traffic spends an inordinate amount of time thinking about how to tune the database. And as with almost every infrastructure layer in the webapp cake, I'm fairly certain that 80% of this tuning work is just good RDBMS hygiene and adds preciously little "special sauce" to the core application. In fact this is why there are specialists in tuning MySQL or Postgres who bounce from project to project with the same basic bag of tricks.

If Amazon does it right, making a database scale is one time-consuming headache web application developers will never have to worry about again. But it goes beyond scaling too: backups, replication, failover— these are all common database chores that Amazon just makes go away.

On to the curious choice: no support for full (or even partial) SQL. I'm guessing that this may have had something to do with the complexity involved in supporting SQL on their super-scalable, super-distributed architecture as I'm fairly certain the Amazon folks realize just how much momentum SQL has in the web application space. And if anything holds people back from adopting SimpleDB (outside of potential uptime/performance issues), it will be the need to learn a new way to store and query data (albeit a very simple one).

A potential work around: open source libraries that substitute the back end of the most popular ORMs (Rails, Hibernate, Django) with the SimpleDB service. Now that could be a game changer.

Here's to never thinking about sharding databases again.

[Update: More info on the guts of this beast.]

Tags: ,

Comments

Post a comment

(Please use only plain text. Though I will escape all of your HTML, URLs will be clickable)

Your name:

Comment: