SimpleDB, Standards, and Lockin
December 19, 2007
A few days ago, Amazon announced SimpleDB. It’s “a web service for running queries on structured data in real time.” It’s also the newest member of the Amazon Web Services (AWS) family.
In other words, Amazon has added to AWS a database management system, and hence an additional reason to run your web application in Amazon’s cloud. Nitin Borwankar, writing at GigaOm, thinks that it will turn out to be a compelling reason.
SimpleDB is hugely disruptive. It will take some time to evolve the new thinking patterns and new design disciplines that this technology forces us to consider. To do so, consider this breakdown of the similarities and differences between SimpleDB and conventional relational databases.
A difference that I haven’t seen addressed relates to standards. If I’m using MySQL or Oracle I access my database using SQL, an established standard. If I decide to shift or mix database vendors, I can keep on using SQL.
If I’m using SimpleDB, and for whatever reason decide that Amazon’s cloud is no longer the best place for my application, what do I do? In particular, how much of an application rewrite do I have to do?
Unless I got a reassuring and convincing answer to that question, I think I’d prefer to use MySQL. I single out MySQL because it’s free, in both senses of the word: free of charge, and free software, so that I can get at the source code. But even if I used Oracle, I’d still feel in less danger of lockin than I would with SimpleDB.