Amazon has added a new company to their S3 and EC2 services called SimpleDB. Rather than providing a traditional relational database, they’ve created an object-oriented database that is supposed to be simpler to use. That’s probably not a bad idea, given the popularity of ORM libraries like Hibernate and ActiveRecord.
They’ve already created libraries for Java, Perl, C#/.NET, and PHP, and the documentation is thorough.
The thing I always wonder about with solutions like these is what happens when you get beyond the simplest mode of usage. It’s great to abstract away all that nasty SQL until your database gets big and your queries start getting slow, but then you need to get closer to the metal and figure out what’s going on in there. How do you do that with SimpleDB? Or is it expected that most users won’t build big enough sites with SimpleDB to have to worry about that?
Update: Here’s a blog post with more scoop on SimpleDB. The software is written in Erlang.