Ionrock Dot Org

by Eric Larson

My Weblog

SimpleDB Thoughts

Recently I've seen a few misunderstood blogs on SimpleDB. Essentially it seems the confusion comes from the fact they are looking at SimpleDB as a traditional database. Really, if you read through the explanation of what it is, the essence is an index.

We use a similar technique in Amplee and Bright Content in that we have resources, Atom entries, that are indexed by extracting values via XPath. The indexes return sets of links back to the resources. This pattern makes it possible to work with straight XML files very easily because the indexes do all the work of keeping the queries fast. It also simplifies things because relationships can be a graph instead of hierarchy modeled in a database. The result is sort of like an object database and is actually probably very similar to many object databases.

Back to SimpleDB then. Here the resources are any meant to be any file such as S3 resources. If you had to query a bunch files on S3 for some value it would be extremely expensive. You could cache them locally, but assuming your are using S3 in the first place b/c you need the space, caching everything locally seems like you just lost any benefits. The obvious answer then is you need an indexing service, hence SimpleDB.

I hope this clears up confusions a bit. I'm not commenting on the GET interface as I understand that is semi-temporary (I really don't know though). I thought it was silly folks were talking about not having joins and everything when it wasn't meant for mixing tables and doesn't really even act like a table. Maybe a name change to Amazon Index Cloud would clear things up a bit.

Posted Fri Dec 21 16:04:06 2007 by Eric Larson

Twitter

Links

Reading

Created using Python, jQuery and Emacs